-- {{ ansible_managed }} local nvim_tree = require('nvim-tree'); local nvim_tree_icons = require('nvim-web-devicons'); local function my_on_attach(bufnr) local api = require('nvim-tree.api') local function opts(desc) return { desc = 'nvim-tree: ' .. desc, buffer = bufnr, noremap = true, silent = true, nowait = true } end vim.keymap.set('n', '', api.tree.change_root_to_node, opts('CD')) vim.keymap.set('n', '', api.tree.toggle_hidden_filter, opts('Toggle filter: Dotfiles')) vim.keymap.set('n', '', 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 file or directory')) end nvim_tree.setup { on_attach = my_on_attach, } nvim_tree_icons.setup();