Files
dotfiles/nvim/lua/plugins/nvim-tree.lua
Thomas Naderer d8a20d620a chore: clean up dotfiles and add gitignore whitelist
Switch to whitelist-based .gitignore to only track essential configs:
nvim, yazi, kitty, zsh, ideavim, karabiner, tmux, scripts, starship.
Remove history, compiled files, and plugin dirs from tracking.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 12:57:14 +01:00

83 lines
2.0 KiB
Lua

return {
"nvim-tree/nvim-tree.lua",
dependencies = { "nvim-tree/nvim-web-devicons" },
keys = {
{ "<leader>e", ":NvimTreeToggle<CR>", 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", "<leader>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,
}