diff options
Diffstat (limited to 'lua/lvim/core/nvimtree.lua')
-rw-r--r-- | lua/lvim/core/nvimtree.lua | 224 |
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 = {}, }, }, } |