-- neo-tree -- -- Neo-tree is a Neovim plugin to browse the file system. -- -- https://github.com/nvim-neo-tree/neo-tree.nvim -- 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 = { -- { '', ':Neotree toggle reveal', 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 = { -- [''] = { -- '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, }, }, -- 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 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` -- vim: ts=2 sts=2 sw=2 et