67 lines
2.0 KiB
Lua
67 lines
2.0 KiB
Lua
-- lua/plugins/nvim-tree.lua
|
|
return {
|
|
{
|
|
"nvim-tree/nvim-tree.lua",
|
|
version = "*",
|
|
lazy = false,
|
|
dependencies = { "nvim-tree/nvim-web-devicons", opts = {} },
|
|
config = function()
|
|
require("nvim-tree").setup({
|
|
disable_netrw = true, -- Disable built-in netrw (recommended)
|
|
hijack_netrw = true, -- Let nvim-tree handle directory browsing
|
|
view = {
|
|
width = 30, -- Fixed width for the sidebar
|
|
side = "left", -- Position on the left
|
|
},
|
|
renderer = {
|
|
group_empty = true, -- Compact folders that only contain a single folder
|
|
highlight_git = true, -- Highlight git status
|
|
icons = {
|
|
show = {
|
|
file = true,
|
|
folder = true,
|
|
folder_arrow = true,
|
|
git = true,
|
|
},
|
|
},
|
|
},
|
|
filters = {
|
|
dotfiles = false, -- Show dotfiles by default
|
|
git_ignored = false, -- Show git-ignored files
|
|
},
|
|
actions = {
|
|
open_file = {
|
|
quit_on_open = true, -- Close the tree when opening a file
|
|
resize_window = true, -- Resize the window to fit the tree
|
|
},
|
|
},
|
|
git = {
|
|
enable = true, -- Enable git integration
|
|
ignore = false,
|
|
},
|
|
-- Custom on_attach for keybindings
|
|
on_attach = function(bufnr)
|
|
local api = require("nvim-tree.api")
|
|
|
|
-- Default mappings (these are built-in; see :help nvim-tree-mappings)
|
|
api.config.mappings.default_on_attach(bufnr)
|
|
|
|
-- Optional: Add or override custom keymaps here
|
|
-- Example: vim.keymap.set("n", "<C-t>", api.tree.toggle, { buffer = bufnr, desc = "Toggle Nvim-Tree" })
|
|
end,
|
|
})
|
|
|
|
-- Optional: Auto-open nvim-tree on startup if no file is specified
|
|
vim.api.nvim_create_autocmd("VimEnter", {
|
|
callback = function()
|
|
if vim.fn.argc() == 0 and vim.fn.getcwd() ~= vim.fn.stdpath("config") then
|
|
require("nvim-tree.api").tree.open()
|
|
end
|
|
end,
|
|
})
|
|
|
|
-- Optional: Global keybinding to toggle the tree from anywhere
|
|
vim.keymap.set("n", "<leader>e", "<cmd>NvimTreeToggle<cr>", { desc = "Toggle File Explorer" })
|
|
end,
|
|
},
|
|
} |