82 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Lua
		
	
	
	
			
		
		
	
	
			82 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Lua
		
	
	
	
-- File: lua/custom/plugins/filetree.lua
 | 
						|
 | 
						|
return {
 | 
						|
	"nvim-neo-tree/neo-tree.nvim",
 | 
						|
	version = "*",
 | 
						|
	dependencies = {
 | 
						|
		"nvim-lua/plenary.nvim",
 | 
						|
		"nvim-tree/nvim-web-devicons", -- not strictly required, but recommended
 | 
						|
		"MunifTanjim/nui.nvim",
 | 
						|
	},
 | 
						|
	config = function()
 | 
						|
		require('neo-tree').setup { git_status = {
 | 
						|
			symbols = {
 | 
						|
				-- Change type
 | 
						|
				added     = "", -- or "✚", but this is redundant info if you use git_status_colors on the name
 | 
						|
				modified  = "", -- or "", but this is redundant info if you use git_status_colors on the name
 | 
						|
				deleted   = "✖", -- this can only be used in the git_status source
 | 
						|
				renamed   = "", -- this can only be used in the git_status source
 | 
						|
				-- Status type
 | 
						|
				untracked = "",
 | 
						|
				ignored   = "",
 | 
						|
				unstaged  = "",
 | 
						|
				staged    = "",
 | 
						|
				conflict  = "",
 | 
						|
			}
 | 
						|
		},
 | 
						|
			mappings = {
 | 
						|
				["<leader>nt"] = {
 | 
						|
					"toggle_node",
 | 
						|
					nowait = false, -- disable `nowait` if you have existing combos starting with this char that you want to use
 | 
						|
				},
 | 
						|
				["<cr>"] = "open",
 | 
						|
				["<esc>"] = "cancel", -- close preview or floating neo-tree window
 | 
						|
				["P"] = { "toggle_preview", config = { use_float = true, use_image_nvim = true } },
 | 
						|
				-- Read `# Preview Mode` for more information
 | 
						|
				["l"] = "focus_preview",
 | 
						|
				["S"] = "open_split",
 | 
						|
				["s"] = "open_vsplit",
 | 
						|
				-- ["S"] = "split_with_window_picker",
 | 
						|
				-- ["s"] = "vsplit_with_window_picker",
 | 
						|
				["t"] = "open_tabnew",
 | 
						|
				-- ["<cr>"] = "open_drop",
 | 
						|
				-- ["t"] = "open_tab_drop",
 | 
						|
				["w"] = "open_with_window_picker",
 | 
						|
				--["P"] = "toggle_preview", -- enter preview mode, which shows the current node without focusing
 | 
						|
				["C"] = "close_node",
 | 
						|
				-- ['C'] = 'close_all_subnodes',
 | 
						|
				["z"] = "close_all_nodes",
 | 
						|
				--["Z"] = "expand_all_nodes",
 | 
						|
				["a"] = {
 | 
						|
					"add",
 | 
						|
					-- this command supports BASH style brace expansion ("x{a,b,c}" -> xa,xb,xc). see `:h neo-tree-file-actions` for details
 | 
						|
					-- some commands may take optional config options, see `:h neo-tree-mappings` for details
 | 
						|
					config = {
 | 
						|
						show_path = "none" -- "none", "relative", "absolute"
 | 
						|
					}
 | 
						|
				},
 | 
						|
				["A"] = "add_directory", -- also accepts the optional config.show_path option like "add". this also supports BASH style brace expansion.
 | 
						|
				["d"] = "delete",
 | 
						|
				["r"] = "rename",
 | 
						|
				["y"] = "copy_to_clipboard",
 | 
						|
				["x"] = "cut_to_clipboard",
 | 
						|
				["p"] = "paste_from_clipboard",
 | 
						|
				["c"] = "copy", -- takes text input for destination, also accepts the optional config.show_path option like "add":
 | 
						|
				-- ["c"] = {
 | 
						|
				--  "copy",
 | 
						|
				--  config = {
 | 
						|
				--    show_path = "none" -- "none", "relative", "absolute"
 | 
						|
				--  }
 | 
						|
				--}
 | 
						|
				["m"] = "move", -- takes text input for destination, also accepts the optional config.show_path option like "add".
 | 
						|
				["q"] = "close_window",
 | 
						|
				["R"] = "refresh",
 | 
						|
				["?"] = "show_help",
 | 
						|
				["<"] = "prev_source",
 | 
						|
				[">"] = "next_source",
 | 
						|
				["i"] = "show_file_details",
 | 
						|
			}
 | 
						|
		}
 | 
						|
	end,
 | 
						|
}
 |