return { "nvim-tree/nvim-tree.lua", dependencies = { "nvim-tree/nvim-web-devicons" }, keys = { { "e", ":NvimTreeToggle", desc = "Toggle file tree" }, }, config = function() vim.fn.sign_define("NvimTreeDiagnosticErrorIcon", { text = "", texthl = "DiagnosticError" }) vim.fn.sign_define("NvimTreeDiagnosticWarnIcon", { text = "", texthl = "DiagnosticWarn" }) vim.fn.sign_define("NvimTreeDiagnosticInfoIcon", { text = "", texthl = "DiagnosticInfo" }) vim.fn.sign_define("NvimTreeDiagnosticHintIcon", { text = "", texthl = "DiagnosticHint" }) local git_enabled = false local function toggle_git_signs() git_enabled = not git_enabled require("nvim-tree").setup({ git = { enable = git_enabled, ignore = false, }, }) require("nvim-tree.api").tree.reload() print("Git signs " .. (git_enabled and "enabled" or "disabled")) end vim.keymap.set("n", "tg", toggle_git_signs, { desc = "Toggle git signs" }) require("nvim-tree").setup({ view = { width = 35, side = "left", }, renderer = { highlight_git = true, highlight_opened_files = "all", icons = { show = { diagnostics = false, }, glyphs = { default = "", symlink = "", folder = { arrow_closed = "", arrow_open = "", default = "", open = "", }, git = { unstaged = "✗", staged = "✓", unmerged = "", renamed = "➜", untracked = "★", deleted = "", ignored = "◌", }, }, }, indent_markers = { enable = true, }, }, diagnostics = { enable = true, show_on_dirs = true, }, filters = { dotfiles = false, }, actions = { open_file = { quit_on_open = true, }, }, git = { enable = false, ignore = false, }, }) end, }