75 lines
1.6 KiB
Lua
75 lines
1.6 KiB
Lua
return {
|
|
'nvim-neo-tree/neo-tree.nvim',
|
|
version = '*',
|
|
dependencies = {
|
|
'nvim-lua/plenary.nvim',
|
|
'nvim-tree/nvim-web-devicons', -- not strictly required, but recommended
|
|
'MunifTanjim/nui.nvim',
|
|
},
|
|
cmd = 'Neotree',
|
|
keys = {
|
|
{ '\\', ':Neotree reveal<CR>', desc = 'NeoTree reveal', silent = true },
|
|
},
|
|
opts = {
|
|
filesystem = {
|
|
hijack_netrw_behavior = 'open_default',
|
|
window = {
|
|
mappings = {
|
|
['\\'] = 'close_window',
|
|
},
|
|
},
|
|
filtered_items = {
|
|
visible = false,
|
|
hide_dotfiles = false,
|
|
hide_gitignored = true,
|
|
hide_by_name = {
|
|
'.git',
|
|
'.DS_Store',
|
|
},
|
|
never_show = {},
|
|
always_show_by_pattern = {
|
|
'.env*',
|
|
},
|
|
},
|
|
},
|
|
|
|
buffers = {
|
|
follow_current_file = {
|
|
enabled = true,
|
|
},
|
|
},
|
|
|
|
window = {
|
|
mappings = {
|
|
['<C-v>'] = 'open_vsplit',
|
|
['Y'] = function(state)
|
|
local node = state.tree:get_node()
|
|
local filepath = node:get_id()
|
|
local filename = node.name
|
|
|
|
local results = {
|
|
vim.fn.fnamemodify(filepath, ':.'),
|
|
filepath,
|
|
filename,
|
|
}
|
|
|
|
local i = vim.fn.inputlist {
|
|
'Choose what to copy:',
|
|
'1. ' .. results[1],
|
|
'2. ' .. results[2],
|
|
'3. ' .. results[3],
|
|
}
|
|
|
|
if i > 0 then
|
|
local result = results[i]
|
|
if not result then
|
|
return print('Invalid choice: ' .. i)
|
|
end
|
|
vim.fn.setreg('"', result)
|
|
end
|
|
end,
|
|
},
|
|
},
|
|
},
|
|
}
|