--- @type LazyPluginSpec return { "nvim-tree/nvim-tree.lua", dependencies = { "nvim-tree/nvim-web-devicons" }, enabled = false, init = function() vim.g.loaded_netrw = 1 vim.g.loaded_netrwPlugin = 1 end, config = function() local nvimtree = require("nvim-tree") nvimtree.setup({ sync_root_with_cwd = true, view = { width = 30, }, git = { ignore = false, }, filters = { dotfiles = false, custom = { "node_modules", ".git", }, exclude = { ".gitignore", }, }, }) vim.keymap.set("n", "n", ":NvimTreeToggle ") vim.keymap.set("n", "e", ":NvimTreeFocus ") vim.keymap.set("n", "r", ":NvimTreeRefresh ") vim.keymap.set("n", "tr", function() require("nvim-tree.api").tree.change_root(vim.fn.getcwd()) end, { desc = "Change root dir to current dir" }) local autocmd = vim.api.nvim_create_autocmd local augroup = vim.api.nvim_create_augroup local neogitCmds = augroup("MyCustomNeogitEvents", { clear = true }) autocmd("User", { pattern = "NeogitPushComplete", group = neogitCmds, callback = function() require("nvim-tree.api").tree.reload() end, }) autocmd("User", { pattern = "NeogitPullComplete", group = neogitCmds, callback = function() require("nvim-tree.api").tree.reload() end, }) autocmd("User", { pattern = "NeogitFetchComplete", group = neogitCmds, callback = function() require("nvim-tree.api").tree.reload() end, }) end, }