This commit is contained in:
2025-08-10 14:02:33 +02:00
parent 36f51bb73c
commit bc65b628dd
13 changed files with 246 additions and 94 deletions

View File

@@ -4,72 +4,82 @@
local neotree_helper = require 'custom.plugins.neotree-helper'
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',
'folke/snacks.nvim', -- optional for image preview
'saifulapm/neotree-file-nesting-config', -- optional for VSCode like file nesting
},
lazy = false,
keys = {
-- { '<C-o>', ':Neotree reveal<CR>', desc = 'NeoTree reveal', silent = true },
},
opts = {
hide_root_node = true, -- recommanded config for VSCode like file nesting
retain_hidden_root_indent = true, -- recommanded config for VSCode like file nesting
filesystem = {
filtered_items = {
show_hidden_count = false, -- recommanded config for VSCode like file nesting
never_show = { -- recommanded config for VSCode like file nesting
'.DS_Store',
},
},
window = {
mappings = {
['<C-o>'] = {
'close_window',
desc = 'close neo-tree',
},
['d'] = {
'trash',
desc = 'trash file',
{
'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',
'folke/snacks.nvim', -- optional for image preview
'saifulapm/neotree-file-nesting-config', -- optional for VSCode like file nesting
},
lazy = false,
keys = {
-- { '<C-o>', ':Neotree toggle reveal<CR>', desc = 'NeoTree reveal', silent = true },
},
opts = {
hide_root_node = true, -- recommanded config for VSCode like file nesting
retain_hidden_root_indent = true, -- recommanded config for VSCode like file nesting
filesystem = {
filtered_items = {
show_hidden_count = false, -- recommanded config for VSCode like file nesting
never_show = { -- recommanded config for VSCode like file nesting
'.DS_Store',
},
},
window = {
mappings = {
-- ['<C-o>'] = {
-- 'close_window',
-- desc = 'close neo-tree',
-- },
['d'] = {
'trash',
desc = 'trash file',
},
['P'] = {
'toggle_preview',
desc = 'preview image',
config = {
use_float = false,
use_snacks_image = true,
},
},
},
},
commands = {
trash = neotree_helper.trash,
trash_visual = neotree_helper.trash_visual,
},
},
commands = {
trash = neotree_helper.trash,
trash_visual = neotree_helper.trash_visual,
-- recommanded config for VSCode like file nesting
default_component_configs = {
indent = {
with_expanders = true,
expander_collapsed = '',
expander_expanded = '',
},
},
event_handlers = {
{
event = 'file_opened',
handler = function()
-- auto close
-- vim.cmd 'Neotree close'
-- or
require('neo-tree.command').execute { action = 'close' }
end,
},
},
},
-- recommanded config for VSCode like file nesting
default_component_configs = {
indent = {
with_expanders = true,
expander_collapsed = '',
expander_expanded = '',
},
},
event_handlers = {
{
event = 'file_opened',
handler = function()
-- auto close
-- vim.cmd 'Neotree close'
-- or
require('neo-tree.command').execute { action = 'close' }
end,
},
},
config = function(_, opts)
-- Adding rules from plugin
opts.nesting_rules = require('neotree-file-nesting-config').nesting_rules
require('neo-tree').setup(opts)
end,
},
-- recommanded config for VSCode like file nesting
config = function(_, opts)
-- Adding rules from plugin
opts.nesting_rules = require('neotree-file-nesting-config').nesting_rules
require('neo-tree').setup(opts)
end,
}
-- The line beneath this is called `modeline`. See `:help modeline`