migrated nvim-tree from view.mappings to on_attach.
This commit is contained in:
		
							parent
							
								
									6d6918ef8e
								
							
						
					
					
						commit
						581b9d62f8
					
				
					 1 changed files with 284 additions and 211 deletions
				
			
		| 
						 | 
					@ -57,8 +57,7 @@ return require('packer').startup(function(use)
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			"neovim/nvim-lspconfig",
 | 
								"neovim/nvim-lspconfig",
 | 
				
			||||||
			after = "mason-lspconfig.nvim",
 | 
								after = {"mason-lspconfig.nvim", "rust-tools.nvim"},
 | 
				
			||||||
			after = "rust-tools.nvim",
 | 
					 | 
				
			||||||
			config = function()
 | 
								config = function()
 | 
				
			||||||
				require('LSPconfig')
 | 
									require('LSPconfig')
 | 
				
			||||||
			end
 | 
								end
 | 
				
			||||||
| 
						 | 
					@ -127,43 +126,117 @@ return require('packer').startup(function(use)
 | 
				
			||||||
		  'kyazdani42/nvim-web-devicons', -- optional, for file icon
 | 
							  'kyazdani42/nvim-web-devicons', -- optional, for file icon
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
		config = function() require'nvim-tree'.setup {
 | 
							config = function() require'nvim-tree'.setup {
 | 
				
			||||||
			view={mappings={list={
 | 
					
 | 
				
			||||||
				{ key = {"<CR>", "o", "<2-LeftMouse>"}, action = "edit" },
 | 
								on_attach = function(bufnr)
 | 
				
			||||||
				{ key = "<C-e>", action = "edit_in_place" },
 | 
									local api = require('nvim-tree.api')
 | 
				
			||||||
				{ key = {"O"}, action = "edit_no_picker" },
 | 
					
 | 
				
			||||||
				{ key = {"<2-RightMouse>", "<C-]>"},    action = "cd" },
 | 
									local function opts(desc)
 | 
				
			||||||
				{ key = "<C-v>", action = "vsplit" },
 | 
										return { desc = 'nvim-tree: ' .. desc, buffer = bufnr, noremap = true, silent = true, nowait = true }
 | 
				
			||||||
				{ key = "<C-x>", action = "split" },
 | 
									end
 | 
				
			||||||
				{ key = "<C-t>", action = "tabnew" },
 | 
					
 | 
				
			||||||
				{ key = "<", action = "prev_sibling" },
 | 
					
 | 
				
			||||||
				{ key = ">", action = "next_sibling" },
 | 
									-- Default mappings. Feel free to modify or remove as you wish.
 | 
				
			||||||
				{ key = "P", action = "parent_node" },
 | 
									--
 | 
				
			||||||
				{ key = "<BS>", action = "close_node" },
 | 
									-- BEGIN_DEFAULT_ON_ATTACH
 | 
				
			||||||
				{ key = "<Tab>", action = "preview" },
 | 
									vim.keymap.set('n', '<C-]>', api.tree.change_root_to_node,          opts('CD'))
 | 
				
			||||||
				{ key = "K", action = "first_sibling" },
 | 
									vim.keymap.set('n', '<C-e>', api.node.open.replace_tree_buffer,     opts('Open: In Place'))
 | 
				
			||||||
				{ key = "J", action = "last_sibling" },
 | 
									vim.keymap.set('n', '<C-k>', api.node.show_info_popup,              opts('Info'))
 | 
				
			||||||
				{ key = "I", action = "toggle_ignored" },
 | 
									vim.keymap.set('n', '<C-r>', api.fs.rename_sub,                     opts('Rename: Omit Filename'))
 | 
				
			||||||
				{ key = "H", action = "toggle_dotfiles" },
 | 
									vim.keymap.set('n', '<C-t>', api.node.open.tab,                     opts('Open: New Tab'))
 | 
				
			||||||
				{ key = "R", action = "refresh" },
 | 
									vim.keymap.set('n', '<C-v>', api.node.open.vertical,                opts('Open: Vertical Split'))
 | 
				
			||||||
				{ key = "a", action = "create" },
 | 
									vim.keymap.set('n', '<C-x>', api.node.open.horizontal,              opts('Open: Horizontal Split'))
 | 
				
			||||||
				{ key = "d", action = "remove" },
 | 
									vim.keymap.set('n', '<BS>',  api.node.navigate.parent_close,        opts('Close Directory'))
 | 
				
			||||||
				{ key = "D", action = "trash" },
 | 
									vim.keymap.set('n', '<CR>',  api.node.open.edit,                    opts('Open'))
 | 
				
			||||||
				{ key = "r", action = "rename" },
 | 
									vim.keymap.set('n', '<Tab>', api.node.open.preview,                 opts('Open Preview'))
 | 
				
			||||||
				{ key = "<C-r>", action = "full_rename" },
 | 
									vim.keymap.set('n', '>',     api.node.navigate.sibling.next,        opts('Next Sibling'))
 | 
				
			||||||
				{ key = "x", action = "cut" },
 | 
									vim.keymap.set('n', '<',     api.node.navigate.sibling.prev,        opts('Previous Sibling'))
 | 
				
			||||||
				{ key = "c", action = "copy" },
 | 
									vim.keymap.set('n', '.',     api.node.run.cmd,                      opts('Run Command'))
 | 
				
			||||||
				{ key = "p", action = "paste" },
 | 
									vim.keymap.set('n', '-',     api.tree.change_root_to_parent,        opts('Up'))
 | 
				
			||||||
				{ key = "y", action = "copy_name" },
 | 
									vim.keymap.set('n', 'a',     api.fs.create,                         opts('Create'))
 | 
				
			||||||
				{ key = "Y", action = "copy_path" },
 | 
									vim.keymap.set('n', 'bmv',   api.marks.bulk.move,                   opts('Move Bookmarked'))
 | 
				
			||||||
				{ key = "gy", action = "copy_absolute_path" },
 | 
									vim.keymap.set('n', 'B',     api.tree.toggle_no_buffer_filter,      opts('Toggle No Buffer'))
 | 
				
			||||||
				{ key = "[c", action = "prev_git_item" },
 | 
									vim.keymap.set('n', 'c',     api.fs.copy.node,                      opts('Copy'))
 | 
				
			||||||
				{ key = "]c", action = "next_git_item" },
 | 
									vim.keymap.set('n', 'C',     api.tree.toggle_git_clean_filter,      opts('Toggle Git Clean'))
 | 
				
			||||||
				{ key = "-", action = "dir_up" },
 | 
									vim.keymap.set('n', '[c',    api.node.navigate.git.prev,            opts('Prev Git'))
 | 
				
			||||||
				{ key = "s", action = "system_open" },
 | 
									vim.keymap.set('n', ']c',    api.node.navigate.git.next,            opts('Next Git'))
 | 
				
			||||||
				{ key = "q", action = "close" },
 | 
									vim.keymap.set('n', 'd',     api.fs.remove,                         opts('Delete'))
 | 
				
			||||||
				{ key = "g?", action = "toggle_help" },
 | 
									vim.keymap.set('n', 'D',     api.fs.trash,                          opts('Trash'))
 | 
				
			||||||
				{ key = "W", action = "collapse_all" }
 | 
									vim.keymap.set('n', 'E',     api.tree.expand_all,                   opts('Expand All'))
 | 
				
			||||||
			}}}
 | 
									vim.keymap.set('n', 'e',     api.fs.rename_basename,                opts('Rename: Basename'))
 | 
				
			||||||
 | 
									vim.keymap.set('n', ']e',    api.node.navigate.diagnostics.next,    opts('Next Diagnostic'))
 | 
				
			||||||
 | 
									vim.keymap.set('n', '[e',    api.node.navigate.diagnostics.prev,    opts('Prev Diagnostic'))
 | 
				
			||||||
 | 
									vim.keymap.set('n', 'F',     api.live_filter.clear,                 opts('Clean Filter'))
 | 
				
			||||||
 | 
									vim.keymap.set('n', 'f',     api.live_filter.start,                 opts('Filter'))
 | 
				
			||||||
 | 
									vim.keymap.set('n', 'g?',    api.tree.toggle_help,                  opts('Help'))
 | 
				
			||||||
 | 
									vim.keymap.set('n', 'gy',    api.fs.copy.absolute_path,             opts('Copy Absolute Path'))
 | 
				
			||||||
 | 
									vim.keymap.set('n', 'H',     api.tree.toggle_hidden_filter,         opts('Toggle Dotfiles'))
 | 
				
			||||||
 | 
									vim.keymap.set('n', 'I',     api.tree.toggle_gitignore_filter,      opts('Toggle Git Ignore'))
 | 
				
			||||||
 | 
									vim.keymap.set('n', 'J',     api.node.navigate.sibling.last,        opts('Last Sibling'))
 | 
				
			||||||
 | 
									vim.keymap.set('n', 'K',     api.node.navigate.sibling.first,       opts('First Sibling'))
 | 
				
			||||||
 | 
									vim.keymap.set('n', 'm',     api.marks.toggle,                      opts('Toggle Bookmark'))
 | 
				
			||||||
 | 
									vim.keymap.set('n', 'o',     api.node.open.edit,                    opts('Open'))
 | 
				
			||||||
 | 
									vim.keymap.set('n', 'O',     api.node.open.no_window_picker,        opts('Open: No Window Picker'))
 | 
				
			||||||
 | 
									vim.keymap.set('n', 'p',     api.fs.paste,                          opts('Paste'))
 | 
				
			||||||
 | 
									vim.keymap.set('n', 'P',     api.node.navigate.parent,              opts('Parent Directory'))
 | 
				
			||||||
 | 
									vim.keymap.set('n', 'q',     api.tree.close,                        opts('Close'))
 | 
				
			||||||
 | 
									vim.keymap.set('n', 'r',     api.fs.rename,                         opts('Rename'))
 | 
				
			||||||
 | 
									vim.keymap.set('n', 'R',     api.tree.reload,                       opts('Refresh'))
 | 
				
			||||||
 | 
									vim.keymap.set('n', 's',     api.node.run.system,                   opts('Run System'))
 | 
				
			||||||
 | 
									vim.keymap.set('n', 'S',     api.tree.search_node,                  opts('Search'))
 | 
				
			||||||
 | 
									vim.keymap.set('n', 'U',     api.tree.toggle_custom_filter,         opts('Toggle Hidden'))
 | 
				
			||||||
 | 
									vim.keymap.set('n', 'W',     api.tree.collapse_all,                 opts('Collapse'))
 | 
				
			||||||
 | 
									vim.keymap.set('n', 'x',     api.fs.cut,                            opts('Cut'))
 | 
				
			||||||
 | 
									vim.keymap.set('n', 'y',     api.fs.copy.filename,                  opts('Copy Name'))
 | 
				
			||||||
 | 
									vim.keymap.set('n', 'Y',     api.fs.copy.relative_path,             opts('Copy Relative Path'))
 | 
				
			||||||
 | 
									vim.keymap.set('n', '<2-LeftMouse>',  api.node.open.edit,           opts('Open'))
 | 
				
			||||||
 | 
									vim.keymap.set('n', '<2-RightMouse>', api.tree.change_root_to_node, opts('CD'))
 | 
				
			||||||
 | 
									-- END_DEFAULT_ON_ATTACH
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
									-- Mappings migrated from view.mappings.list
 | 
				
			||||||
 | 
									--
 | 
				
			||||||
 | 
									-- You will need to insert "your code goes here" for any mappings with a custom action_cb
 | 
				
			||||||
 | 
									vim.keymap.set('n', '<CR>', api.node.open.edit, opts('Open'))
 | 
				
			||||||
 | 
									vim.keymap.set('n', 'o', api.node.open.edit, opts('Open'))
 | 
				
			||||||
 | 
									vim.keymap.set('n', '<2-LeftMouse>', api.node.open.edit, opts('Open'))
 | 
				
			||||||
 | 
									vim.keymap.set('n', '<C-e>', api.node.open.replace_tree_buffer, opts('Open: In Place'))
 | 
				
			||||||
 | 
									vim.keymap.set('n', 'O', api.node.open.no_window_picker, opts('Open: No Window Picker'))
 | 
				
			||||||
 | 
									vim.keymap.set('n', '<2-RightMouse>', api.tree.change_root_to_node, opts('CD'))
 | 
				
			||||||
 | 
									vim.keymap.set('n', '<C-]>', api.tree.change_root_to_node, opts('CD'))
 | 
				
			||||||
 | 
									vim.keymap.set('n', '<C-v>', api.node.open.vertical, opts('Open: Vertical Split'))
 | 
				
			||||||
 | 
									vim.keymap.set('n', '<C-x>', api.node.open.horizontal, opts('Open: Horizontal Split'))
 | 
				
			||||||
 | 
									vim.keymap.set('n', '<C-t>', api.node.open.tab, opts('Open: New Tab'))
 | 
				
			||||||
 | 
									vim.keymap.set('n', '<', api.node.navigate.sibling.prev, opts('Previous Sibling'))
 | 
				
			||||||
 | 
									vim.keymap.set('n', '>', api.node.navigate.sibling.next, opts('Next Sibling'))
 | 
				
			||||||
 | 
									vim.keymap.set('n', 'P', api.node.navigate.parent, opts('Parent Directory'))
 | 
				
			||||||
 | 
									vim.keymap.set('n', '<BS>', api.node.navigate.parent_close, opts('Close Directory'))
 | 
				
			||||||
 | 
									vim.keymap.set('n', '<Tab>', api.node.open.preview, opts('Open Preview'))
 | 
				
			||||||
 | 
									vim.keymap.set('n', 'K', api.node.navigate.sibling.first, opts('First Sibling'))
 | 
				
			||||||
 | 
									vim.keymap.set('n', 'J', api.node.navigate.sibling.last, opts('Last Sibling'))
 | 
				
			||||||
 | 
									vim.keymap.set('n', 'I', api.tree.toggle_gitignore_filter, opts('Toggle Git Ignore'))
 | 
				
			||||||
 | 
									vim.keymap.set('n', 'H', api.tree.toggle_hidden_filter, opts('Toggle Dotfiles'))
 | 
				
			||||||
 | 
									vim.keymap.set('n', 'R', api.tree.reload, opts('Refresh'))
 | 
				
			||||||
 | 
									vim.keymap.set('n', 'a', api.fs.create, opts('Create'))
 | 
				
			||||||
 | 
									vim.keymap.set('n', 'd', api.fs.remove, opts('Delete'))
 | 
				
			||||||
 | 
									vim.keymap.set('n', 'D', api.fs.trash, opts('Trash'))
 | 
				
			||||||
 | 
									vim.keymap.set('n', 'r', api.fs.rename, opts('Rename'))
 | 
				
			||||||
 | 
									vim.keymap.set('n', '<C-r>', api.fs.rename_sub, opts('Rename: Omit Filename'))
 | 
				
			||||||
 | 
									vim.keymap.set('n', 'x', api.fs.cut, opts('Cut'))
 | 
				
			||||||
 | 
									vim.keymap.set('n', 'c', api.fs.copy.node, opts('Copy'))
 | 
				
			||||||
 | 
									vim.keymap.set('n', 'p', api.fs.paste, opts('Paste'))
 | 
				
			||||||
 | 
									vim.keymap.set('n', 'y', api.fs.copy.filename, opts('Copy Name'))
 | 
				
			||||||
 | 
									vim.keymap.set('n', 'Y', api.fs.copy.relative_path, opts('Copy Relative Path'))
 | 
				
			||||||
 | 
									vim.keymap.set('n', 'gy', api.fs.copy.absolute_path, opts('Copy Absolute Path'))
 | 
				
			||||||
 | 
									vim.keymap.set('n', '[c', api.node.navigate.git.prev, opts('Prev Git'))
 | 
				
			||||||
 | 
									vim.keymap.set('n', ']c', api.node.navigate.git.next, opts('Next Git'))
 | 
				
			||||||
 | 
									vim.keymap.set('n', '-', api.tree.change_root_to_parent, opts('Up'))
 | 
				
			||||||
 | 
									vim.keymap.set('n', 's', api.node.run.system, opts('Run System'))
 | 
				
			||||||
 | 
									vim.keymap.set('n', 'q', api.tree.close, opts('Close'))
 | 
				
			||||||
 | 
									vim.keymap.set('n', 'g?', api.tree.toggle_help, opts('Help'))
 | 
				
			||||||
 | 
									vim.keymap.set('n', 'W', api.tree.collapse_all, opts('Collapse'))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								end,
 | 
				
			||||||
 | 
								-- on_attach = on_attach
 | 
				
			||||||
		} end
 | 
							} end
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -190,12 +263,12 @@ return require('packer').startup(function(use)
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		require("symbols-outline").setup(opts)
 | 
							require("symbols-outline").setup(opts)
 | 
				
			||||||
	end
 | 
						end
 | 
				
			||||||
	}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	use {'stevearc/dressing.nvim',
 | 
					use {'stevearc/dressing.nvim',
 | 
				
			||||||
		config=function()
 | 
					config=function()
 | 
				
			||||||
	require('dressing').setup{}
 | 
						require('dressing').setup{}
 | 
				
			||||||
		end
 | 
					end
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	use {'nvim-lualine/lualine.nvim',
 | 
						use {'nvim-lualine/lualine.nvim',
 | 
				
			||||||
| 
						 | 
					@ -227,10 +300,10 @@ return require('packer').startup(function(use)
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
		extensions = {}
 | 
							extensions = {}
 | 
				
			||||||
	} end,
 | 
						} end,
 | 
				
			||||||
	}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	use {'kdheepak/tabline.nvim',
 | 
					use {'kdheepak/tabline.nvim',
 | 
				
			||||||
		config = function()
 | 
					config = function()
 | 
				
			||||||
	require'tabline'.setup {
 | 
						require'tabline'.setup {
 | 
				
			||||||
		-- Defaults configuration options
 | 
							-- Defaults configuration options
 | 
				
			||||||
		enable = true,
 | 
							enable = true,
 | 
				
			||||||
| 
						 | 
					@ -250,8 +323,8 @@ return require('packer').startup(function(use)
 | 
				
			||||||
	set guioptions-=e " Use showtabline in gui vim
 | 
						set guioptions-=e " Use showtabline in gui vim
 | 
				
			||||||
	set sessionoptions+=tabpages,globals " store tabpages and globals in session
 | 
						set sessionoptions+=tabpages,globals " store tabpages and globals in session
 | 
				
			||||||
	]]
 | 
						]]
 | 
				
			||||||
		end,
 | 
					end,
 | 
				
			||||||
		requires = { { 'hoob3rt/lualine.nvim', opt=true }, {'kyazdani42/nvim-web-devicons', opt = true} }
 | 
					requires = { { 'hoob3rt/lualine.nvim', opt=true }, {'kyazdani42/nvim-web-devicons', opt = true} }
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	use {'folke/trouble.nvim',
 | 
						use {'folke/trouble.nvim',
 | 
				
			||||||
| 
						 | 
					@ -302,7 +375,7 @@ return require('packer').startup(function(use)
 | 
				
			||||||
		other = ""
 | 
							other = ""
 | 
				
			||||||
	},
 | 
						},
 | 
				
			||||||
	use_diagnostic_signs = false -- enabling this will use the signs defined in your lsp client
 | 
						use_diagnostic_signs = false -- enabling this will use the signs defined in your lsp client
 | 
				
			||||||
			}
 | 
					}
 | 
				
			||||||
		end
 | 
							end
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -319,11 +392,11 @@ return require('packer').startup(function(use)
 | 
				
			||||||
		-- When separator is set, the context will only show up when there are at least 2 lines above cursorline.
 | 
							-- When separator is set, the context will only show up when there are at least 2 lines above cursorline.
 | 
				
			||||||
		separator = nil,
 | 
							separator = nil,
 | 
				
			||||||
	} end
 | 
						} end
 | 
				
			||||||
	}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	use {'lewis6991/gitsigns.nvim',
 | 
					use {'lewis6991/gitsigns.nvim',
 | 
				
			||||||
		-- tag = 'release', -- To use the latest release. currently bugged
 | 
					-- tag = 'release', -- To use the latest release. currently bugged
 | 
				
			||||||
		config=function() require('gitsigns').setup() end
 | 
					config=function() require('gitsigns').setup() end
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	use 'chentau/marks.nvim'
 | 
						use 'chentau/marks.nvim'
 | 
				
			||||||
| 
						 | 
					@ -337,14 +410,14 @@ return require('packer').startup(function(use)
 | 
				
			||||||
			show_current_context=true
 | 
								show_current_context=true
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	end
 | 
						end
 | 
				
			||||||
	}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	--editing utilities
 | 
					--editing utilities
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	use {'numToStr/Comment.nvim',
 | 
					use {'numToStr/Comment.nvim',
 | 
				
			||||||
		config = function()
 | 
					config = function()
 | 
				
			||||||
	require('Comment').setup()
 | 
						require('Comment').setup()
 | 
				
			||||||
		end
 | 
					end
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	use {
 | 
						use {
 | 
				
			||||||
| 
						 | 
					@ -364,17 +437,17 @@ return require('packer').startup(function(use)
 | 
				
			||||||
			max_join_length = 256,
 | 
								max_join_length = 256,
 | 
				
			||||||
		})
 | 
							})
 | 
				
			||||||
	end,
 | 
						end,
 | 
				
			||||||
	}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	use "jbyuki/venn.nvim"
 | 
					use "jbyuki/venn.nvim"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	--color scheme stuff.
 | 
					--color scheme stuff.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	use 'bluz71/vim-moonfly-colors'
 | 
					use 'bluz71/vim-moonfly-colors'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	use 'bluz71/vim-nightfly-guicolors'
 | 
					use 'bluz71/vim-nightfly-guicolors'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if Packer_Bootstrap then
 | 
					if Packer_Bootstrap then
 | 
				
			||||||
	require('packer').sync()
 | 
						require('packer').sync()
 | 
				
			||||||
	end
 | 
					end
 | 
				
			||||||
end)
 | 
					end)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue