Neovim/lua/plugins/neo-tree.lua

76 lines
2.7 KiB
Lua

--
-- Pretty file tree with various sources
--
-- Source: https://github.com/nvim-neo-tree/neo-tree.nvim
-- ..............................................
--
-- Author: Sven Vogel
-- Created: 01.11.2024
-- Edited: 07.11.2024
--
-- ==============================================
local ui = require 'config.ui'
local icons = require 'config.icons'
return {
"nvim-neo-tree/neo-tree.nvim",
lazy = false,
branch = "v3.x",
dependencies = {
"nvim-lua/plenary.nvim",
"nvim-tree/nvim-web-devicons",
"MunifTanjim/nui.nvim",
},
cmd = "Neotree",
opts = {
popup_border_style = ui.border,
diagnostics = {
follow_current_file = { -- May also be set to `true` or `false`
enabled = true, -- This will find and focus the file in the active buffer every time
always_focus_file = false, -- Focus the followed file, even when focus is currently on a diagnostic item belonging to that file
expand_followed = true, -- Ensure the node of the followed file is expanded
leave_dirs_open = true, -- `false` closes auto expanded dirs, such as with `:Neotree reveal`
leave_files_open = true, -- `false` closes auto expanded files, such as with `:Neotree reveal`
}
},
filesystem = {
bind_to_cwd = false,
follow_current_file = { enabled = true },
use_libuv_file_watcher = true,
hijack_netrw_behavior = "open_default",
filtered_items = {
hide_dotfiles = false,
hide_gitignored = false,
hide_hidden = false, -- only works on Windows for hidden files/directories
},
window = {
position = "left"
}
},
close_if_last_window = false,
default_component_configs = {
container = {
enable_character_fade = true
},
indent = {
indent_size = 2,
padding = 1, -- extra padding on left hand side
with_markers = true,
indent_marker = "",
last_indent_marker = "",
with_expanders = true, -- if nil and file nesting is enabled, will enable expanders
expander_collapsed = icons.folds.open,
expander_expanded = icons.folds.closed,
expander_highlight = "NeoTreeExpander",
},
icon = {
folder_closed = icons.folder.closed,
folder_open = icons.folder.open,
folder_empty = icons.folder.empty,
default = icons.file
}
}
}
}