39 lines
1.9 KiB
Django/Jinja
39 lines
1.9 KiB
Django/Jinja
-- {{ ansible_managed }}
|
|
|
|
local nvim_tree = require('nvim-tree');
|
|
local nvim_tree_icons = require('nvim-web-devicons');
|
|
local api = require('nvim-tree.api')
|
|
|
|
local function toggle_tree()
|
|
api.tree.toggle({ find_file = true, update_root = true, focus = true })
|
|
end
|
|
|
|
vim.keymap.set('n', '<C-E>', toggle_tree, { noremap = true, silent = true })
|
|
|
|
local function my_on_attach(bufnr)
|
|
local function opts(desc)
|
|
return { desc = 'nvim-tree: ' .. desc, buffer = bufnr, noremap = true, silent = true, nowait = true }
|
|
end
|
|
|
|
vim.keymap.set('n', '<C-]>', api.tree.change_root_to_node, opts('CD'))
|
|
vim.keymap.set('n', '<C-H>', api.tree.toggle_hidden_filter, opts('Toggle filter: Dotfiles'))
|
|
vim.keymap.set('n', '<CR>', api.node.open.edit, opts('Open'))
|
|
vim.keymap.set('n', 'E', api.tree.expand_all, opts('Expand All'))
|
|
vim.keymap.set('n', 'F', api.live_filter.clear, opts('Live filter: Clear'))
|
|
vim.keymap.set('n', 'f', api.live_filter.start, opts('Live filter: Start'))
|
|
vim.keymap.set('n', 'g?', api.tree.toggle_help, opts('Help'))
|
|
vim.keymap.set('n', 'I', api.tree.toggle_gitignore_filter, opts('Toggle filter: Git Ignore'))
|
|
vim.keymap.set('n', 'm', api.marks.toggle, opts('Toggle bookmark'))
|
|
vim.keymap.set('n', 'q', api.tree.close, opts('Close'))
|
|
vim.keymap.set('n', 'R', api.tree.reload, opts('Refresh'))
|
|
vim.keymap.set('n', 'S', api.tree.search_node, opts('Search'))
|
|
vim.keymap.set('n', 'a', api.fs.create, opts('Create a file'))
|
|
vim.keymap.set("n", "r", api.fs.rename, opts("Rename"))
|
|
vim.keymap.set('n', 'd', api.fs.remove, opts('Delete a file'))
|
|
end
|
|
|
|
nvim_tree.setup {
|
|
on_attach = my_on_attach,
|
|
}
|
|
|
|
nvim_tree_icons.setup();
|