diff --git a/lua/taken/core/remaps.lua b/lua/taken/core/remaps.lua index 5484234..93463d8 100644 --- a/lua/taken/core/remaps.lua +++ b/lua/taken/core/remaps.lua @@ -64,12 +64,15 @@ set("n", "ws", "s", { desc = "Horizontal split" }) set("n", "lu", "Lazy", { desc = "Lazy UI" }) -- nvim-tree -set("n", "n", ":NvimTreeToggle ") -set("n", "e", ":NvimTreeFocus ") -set("n", "r", ":NvimTreeRefresh ") -set("n", "tr", function() - require("nvim-tree.api").tree.change_root(vim.fn.getcwd()) -end, { desc = "Change root dir to current dir" }) +set("n", "n", "Neotree toggle") +set("n", "e", "Neotree focus") + +-- set("n", "n", ":NvimTreeToggle ") +-- set("n", "e", ":NvimTreeFocus ") +-- set("n", "r", ":NvimTreeRefresh ") +-- set("n", "tr", function() +-- require("nvim-tree.api").tree.change_root(vim.fn.getcwd()) +-- end, { desc = "Change root dir to current dir" }) set("n", "tf", "MaximizerToggle ", { desc = "Toggle maximizer" }) diff --git a/lua/taken/plugins/neotree.lua b/lua/taken/plugins/neotree.lua new file mode 100644 index 0000000..edc34d1 --- /dev/null +++ b/lua/taken/plugins/neotree.lua @@ -0,0 +1,187 @@ +return { + "nvim-neo-tree/neo-tree.nvim", + branch = "v3.x", + dependencies = { + "nvim-lua/plenary.nvim", + "nvim-tree/nvim-web-devicons", + "MunifTanjim/nui.nvim", + }, + config = function() + local neotree = require("neo-tree") + + neotree.setup({ + close_if_last_window = true, + sort_case_insensitive = true, + default_component_configs = { + modified = { + symbol = "[+]", + highlight = "NeoTreeModified", + }, + git_status = { + symbols = { + added = "", + modified = "", + deleted = "✖", + renamed = "󰁕", + untracked = "", + ignored = "", + unstaged = "󰄱", + staged = "", + conflict = "", + }, + }, + }, + commands = {}, + window = { + position = "right", + width = 30, + mapping_options = { + noremap = true, + nowait = true, + }, + mappings = { + [""] = { + "toggle_node", + nowait = false, + }, + ["<2-LeftMouse>"] = "open", + [""] = "open", + [""] = "cancel", + ["P"] = { "toggle_preview", config = { use_float = true } }, + ["l"] = "focus_preview", + ["h"] = "open_split", + ["s"] = "open_vsplit", + ["t"] = "open_tabnew", + ["w"] = "open_with_window_picker", + ["C"] = "close_node", + ["z"] = "close_all_nodes", + ["a"] = { + "add", + config = { + show_path = "relative", + }, + }, + ["A"] = { + "add_directory", + config = { + show_path = "relative", + }, + }, + ["d"] = "delete", + ["r"] = "rename", + ["y"] = "copy_to_clipboard", + ["x"] = "cut_to_clipboard", + ["p"] = "paste_from_clipboard", + ["c"] = "copy", + ["m"] = "move", + ["q"] = "close_window", + ["R"] = "refresh", + ["?"] = "show_help", + ["<"] = "prev_source", + [">"] = "next_source", + ["i"] = "show_file_details", + }, + }, + nesting_rules = {}, + filesystem = { + filtered_items = { + visible = true, + hide_dotfiles = false, + hide_gitignored = false, + hide_hidden = false, + hide_by_name = {}, + hide_by_pattern = {}, + always_show = { + ".gitignore", + ".env", + }, + never_show = { + ".git", + "node_modules", + }, + never_show_by_pattern = {}, + }, + follow_current_file = { + enabled = false, + leave_dirs_open = false, + }, + group_empty_dirs = false, + hijack_netrw_behavior = "open_default", + use_libuv_file_watcher = false, + window = { + mappings = { + [""] = "navigate_up", + ["."] = "set_root", + ["H"] = "toggle_hidden", + ["/"] = "fuzzy_finder", + ["D"] = "fuzzy_finder_directory", + ["#"] = "fuzzy_sorter", + ["f"] = "filter_on_submit", + [""] = "clear_filter", + ["[g"] = "prev_git_modified", + ["]g"] = "next_git_modified", + ["o"] = { "show_help", nowait = false, config = { title = "Order by", prefix_key = "o" } }, + ["oc"] = { "order_by_created", nowait = false }, + ["od"] = { "order_by_diagnostics", nowait = false }, + ["og"] = { "order_by_git_status", nowait = false }, + ["om"] = { "order_by_modified", nowait = false }, + ["on"] = { "order_by_name", nowait = false }, + ["os"] = { "order_by_size", nowait = false }, + ["ot"] = { "order_by_type", nowait = false }, + }, + fuzzy_finder_mappings = { + [""] = "move_cursor_down", + [""] = "move_cursor_down", + [""] = "move_cursor_up", + [""] = "move_cursor_up", + }, + }, + + commands = {}, + }, + buffers = { + follow_current_file = { + enabled = true, + leave_dirs_open = false, + }, + group_empty_dirs = true, + show_unloaded = true, + window = { + mappings = { + ["bd"] = "buffer_delete", + [""] = "navigate_up", + ["."] = "set_root", + ["o"] = { "show_help", nowait = false, config = { title = "Order by", prefix_key = "o" } }, + ["oc"] = { "order_by_created", nowait = false }, + ["od"] = { "order_by_diagnostics", nowait = false }, + ["om"] = { "order_by_modified", nowait = false }, + ["on"] = { "order_by_name", nowait = false }, + ["os"] = { "order_by_size", nowait = false }, + ["ot"] = { "order_by_type", nowait = false }, + }, + }, + }, + git_status = { + window = { + position = "float", + mappings = { + ["A"] = "git_add_all", + ["gu"] = "git_unstage_file", + ["ga"] = "git_add_file", + ["gr"] = "git_revert_file", + ["gc"] = "git_commit", + ["gp"] = "git_push", + ["gg"] = "git_commit_and_push", + ["o"] = { "show_help", nowait = false, config = { title = "Order by", prefix_key = "o" } }, + ["oc"] = { "order_by_created", nowait = false }, + ["od"] = { "order_by_diagnostics", nowait = false }, + ["om"] = { "order_by_modified", nowait = false }, + ["on"] = { "order_by_name", nowait = false }, + ["os"] = { "order_by_size", nowait = false }, + ["ot"] = { "order_by_type", nowait = false }, + }, + }, + }, + }) + end, +} diff --git a/lua/taken/plugins/nvimtree.lua b/lua/taken/plugins/nvimtree.lua index 878ce84..49a5bad 100644 --- a/lua/taken/plugins/nvimtree.lua +++ b/lua/taken/plugins/nvimtree.lua @@ -1,6 +1,7 @@ return { "nvim-tree/nvim-tree.lua", dependencies = { "nvim-tree/nvim-web-devicons" }, + enabled = false, config = function() local nvimtree = require("nvim-tree")