migrated nvim-tree from view.mappings to on_attach.

This commit is contained in:
Gabe Venberg 2023-04-20 14:19:47 -05:00
parent 6d6918ef8e
commit 581b9d62f8

View file

@ -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)