summaryrefslogtreecommitdiff
path: root/lua/lvim/core/nvimtree.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua/lvim/core/nvimtree.lua')
-rw-r--r--lua/lvim/core/nvimtree.lua224
1 files changed, 159 insertions, 65 deletions
diff --git a/lua/lvim/core/nvimtree.lua b/lua/lvim/core/nvimtree.lua
index a62a7d71..5653b35a 100644
--- a/lua/lvim/core/nvimtree.lua
+++ b/lua/lvim/core/nvimtree.lua
@@ -6,55 +6,61 @@ function M.config()
active = true,
on_config_done = nil,
setup = {
- ignore_ft_on_setup = {
- "startify",
- "dashboard",
- "alpha",
- },
auto_reload_on_write = false,
- hijack_directories = {
- enable = false,
- },
- update_cwd = true,
- diagnostics = {
- enable = lvim.use_icons,
- show_on_dirs = false,
- icons = {
- hint = lvim.icons.diagnostics.BoldHint,
- info = lvim.icons.diagnostics.BoldInformation,
- warning = lvim.icons.diagnostics.BoldWarning,
- error = lvim.icons.diagnostics.BoldError,
- },
- },
- update_focused_file = {
- enable = true,
- update_cwd = true,
- ignore_list = {},
- },
- system_open = {
- cmd = nil,
- args = {},
- },
- git = {
- enable = true,
- ignore = false,
- timeout = 200,
- },
+ disable_netrw = false,
+ hijack_cursor = false,
+ hijack_netrw = true,
+ hijack_unnamed_buffer_when_opening = false,
+ ignore_buffer_on_setup = false,
+ open_on_setup = false,
+ open_on_setup_file = false,
+ sort_by = "name",
+ root_dirs = {},
+ prefer_startup_root = false,
+ sync_root_with_cwd = true,
+ reload_on_bufenter = false,
+ respect_buf_cwd = false,
+ on_attach = "disable",
+ remove_keymaps = false,
+ select_prompts = false,
view = {
+ adaptive_size = false,
+ centralize_selection = false,
width = 30,
hide_root_folder = false,
side = "left",
+ preserve_window_proportions = false,
+ number = false,
+ relativenumber = false,
+ signcolumn = "yes",
mappings = {
custom_only = false,
list = {},
},
- number = false,
- relativenumber = false,
- signcolumn = "yes",
+ float = {
+ enable = false,
+ quit_on_focus_loss = true,
+ open_win_config = {
+ relative = "editor",
+ border = "rounded",
+ width = 30,
+ height = 30,
+ row = 1,
+ col = 1,
+ },
+ },
},
renderer = {
+ add_trailing = false,
+ group_empty = false,
+ highlight_git = true,
+ full_name = false,
+ highlight_opened_files = "none",
+ root_folder_label = ":t",
+ indent_width = 2,
indent_markers = {
enable = false,
+ inline_arrows = true,
icons = {
corner = "â””",
edge = "│",
@@ -64,57 +70,92 @@ function M.config()
},
icons = {
webdev_colors = lvim.use_icons,
+ git_placement = "before",
+ padding = " ",
+ symlink_arrow = " âž› ",
show = {
- git = lvim.use_icons,
- folder = lvim.use_icons,
file = lvim.use_icons,
+ folder = lvim.use_icons,
folder_arrow = lvim.use_icons,
+ git = lvim.use_icons,
},
glyphs = {
default = lvim.icons.ui.Text,
symlink = lvim.icons.ui.FileSymlink,
- git = {
- deleted = lvim.icons.git.FileDeleted,
- ignored = lvim.icons.git.FileIgnored,
- renamed = lvim.icons.git.FileRenamed,
- staged = lvim.icons.git.FileStaged,
- unmerged = lvim.icons.git.FileUnmerged,
- unstaged = lvim.icons.git.FileUnstaged,
- untracked = lvim.icons.git.FileUntracked,
- },
+ bookmark = lvim.icons.ui.BookMark,
folder = {
+ arrow_closed = lvim.icons.ui.TriangleShortArrowRight,
+ arrow_open = lvim.icons.ui.TriangleShortArrowDown,
default = lvim.icons.ui.Folder,
+ open = lvim.icons.ui.FolderOpen,
empty = lvim.icons.ui.EmptyFolder,
empty_open = lvim.icons.ui.EmptyFolderOpen,
- open = lvim.icons.ui.FolderOpen,
symlink = lvim.icons.ui.FolderSymlink,
+ symlink_open = lvim.icons.ui.FolderOpen,
+ },
+ git = {
+ unstaged = lvim.icons.git.FileUnstaged,
+ staged = lvim.icons.git.FileStaged,
+ unmerged = lvim.icons.git.FileUnmerged,
+ renamed = lvim.icons.git.FileRenamed,
+ untracked = lvim.icons.git.FileUntracked,
+ deleted = lvim.icons.git.FileDeleted,
+ ignored = lvim.icons.git.FileIgnored,
},
},
},
- highlight_git = true,
- group_empty = false,
- root_folder_modifier = ":t",
+ special_files = { "Cargo.toml", "Makefile", "README.md", "readme.md" },
+ symlink_destination = true,
+ },
+ hijack_directories = {
+ enable = false,
+ auto_open = true,
+ },
+ update_focused_file = {
+ enable = true,
+ debounce_delay = 15,
+ update_root = true,
+ ignore_list = {},
+ },
+ ignore_ft_on_setup = {
+ "startify",
+ "dashboard",
+ "alpha",
+ },
+ diagnostics = {
+ enable = lvim.use_icons,
+ show_on_dirs = false,
+ show_on_open_dirs = true,
+ debounce_delay = 50,
+ severity = {
+ min = vim.diagnostic.severity.HINT,
+ max = vim.diagnostic.severity.ERROR,
+ },
+ icons = {
+ hint = lvim.icons.diagnostics.BoldHint,
+ info = lvim.icons.diagnostics.BoldInformation,
+ warning = lvim.icons.diagnostics.BoldWarning,
+ error = lvim.icons.diagnostics.BoldError,
+ },
},
filters = {
dotfiles = false,
+ git_clean = false,
+ no_buffer = false,
custom = { "node_modules", "\\.cache" },
exclude = {},
},
- trash = {
- cmd = "trash",
- require_confirm = true,
+ filesystem_watchers = {
+ enable = true,
+ debounce_delay = 50,
+ ignore_dirs = {},
},
- log = {
- enable = false,
- truncate = false,
- types = {
- all = false,
- config = false,
- copy_paste = false,
- diagnostics = false,
- git = false,
- profile = false,
- },
+ git = {
+ enable = true,
+ ignore = false,
+ show_on_dirs = true,
+ show_on_open_dirs = true,
+ timeout = 200,
},
actions = {
use_system_clipboard = true,
@@ -123,11 +164,25 @@ function M.config()
global = false,
restrict_above_cwd = false,
},
+ expand_all = {
+ max_folder_discovery = 300,
+ exclude = {},
+ },
+ file_popup = {
+ open_win_config = {
+ col = 1,
+ row = 1,
+ relative = "cursor",
+ border = "shadow",
+ style = "minimal",
+ },
+ },
open_file = {
quit_on_open = false,
resize_window = false,
window_picker = {
enable = true,
+ picker = "default",
chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890",
exclude = {
filetype = { "notify", "packer", "qf", "diff", "fugitive", "fugitiveblame" },
@@ -135,6 +190,45 @@ function M.config()
},
},
},
+ remove_file = {
+ close_window = true,
+ },
+ },
+ trash = {
+ cmd = "trash",
+ require_confirm = true,
+ },
+ live_filter = {
+ prefix = "[FILTER]: ",
+ always_show_folders = true,
+ },
+ tab = {
+ sync = {
+ open = false,
+ close = false,
+ ignore = {},
+ },
+ },
+ notify = {
+ threshold = vim.log.levels.INFO,
+ },
+ log = {
+ enable = false,
+ truncate = false,
+ types = {
+ all = false,
+ config = false,
+ copy_paste = false,
+ dev = false,
+ diagnostics = false,
+ git = false,
+ profile = false,
+ watcher = false,
+ },
+ },
+ system_open = {
+ cmd = nil,
+ args = {},
},
},
}