91 lines
2.6 KiB
Lua
91 lines
2.6 KiB
Lua
-- 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 = {
|
|
-- { '<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,
|
|
},
|
|
},
|
|
-- 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
|