42 lines
1.3 KiB
Lua
42 lines
1.3 KiB
Lua
return {
|
|
'nvim-tree/nvim-tree.lua',
|
|
dependencies = { 'nvim-tree/nvim-web-devicons' },
|
|
lazy = false,
|
|
keys = {
|
|
{ '<leader>e', '<cmd>NvimTreeToggle<CR>', desc = 'Toggle file explorer' },
|
|
},
|
|
init = function()
|
|
-- disable netrw
|
|
vim.g.loaded_netrw = 1
|
|
vim.g.loaded_netrwPlugin = 1
|
|
end,
|
|
config = function()
|
|
require('nvim-tree').setup({
|
|
view = { width = 32 },
|
|
sync_root_with_cwd = true,
|
|
update_focused_file = { enable = true },
|
|
|
|
actions = {
|
|
open_file = {
|
|
window_picker = { enable = true },
|
|
},
|
|
},
|
|
|
|
on_attach = function(bufnr)
|
|
local api = require('nvim-tree.api')
|
|
|
|
-- Keep all default keymaps
|
|
api.config.mappings.default_on_attach(bufnr)
|
|
|
|
local function opts(desc)
|
|
return { desc = 'nvim-tree: ' .. desc, buffer = bufnr, noremap = true, silent = true, nowait = true }
|
|
end
|
|
|
|
-- Swap 'd'/'D'
|
|
vim.keymap.set({ 'n', 'x' }, 'd', api.fs.trash, opts('Trash'))
|
|
vim.keymap.set({ 'n', 'x' }, 'D', api.fs.remove, opts('Delete'))
|
|
end,
|
|
})
|
|
end,
|
|
}
|