Add nvim-tree configuration

This commit is contained in:
2026-03-30 23:47:46 +02:00
parent ffb21643d5
commit 455169b537
3 changed files with 72 additions and 2 deletions

View File

@@ -77,7 +77,10 @@
},
"to": [
{
"shell_command": "/Applications/kitty.app/Contents/MacOS/kitty --single-instance"
"key_code": "vk_none"
},
{
"shell_command": "/Applications/kitty.app/Contents/MacOS/kitty --single-instance --directory ~"
}
],
"type": "basic"

View File

@@ -1,3 +1,6 @@
vim.g.loaded_netrw = 1
vim.g.loaded_netrwPlugin = 1
local ensure_packer = function()
local fn = vim.fn
local install_path = fn.stdpath("data") .. "/site/pack/packer/start/packer.nvim"
@@ -110,7 +113,7 @@ require("packer").startup(function(use)
"nvim-telescope/telescope.nvim",
requires = {
"nvim-lua/plenary.nvim",
"kyazdani42/nvim-web-devicons",
"nvim-tree/nvim-web-devicons",
"nvim-telescope/telescope-live-grep-args.nvim",
{ "nvim-telescope/telescope-fzf-native.nvim", run = "make" },
},
@@ -119,6 +122,17 @@ require("packer").startup(function(use)
end,
})
-- File tree sidebar for project-style navigation.
use({
"nvim-tree/nvim-tree.lua",
requires = {
"nvim-tree/nvim-web-devicons",
},
config = function()
require("tracer.plugins.nvim-tree")
end,
})
-- Automatically set up your configuration after cloning packer.nvim
-- Put this at the end after all plugins
if packer_bootstrap then

View File

@@ -0,0 +1,53 @@
require("nvim-tree").setup({
git = {
enable = false,
},
hijack_cursor = true,
sync_root_with_cwd = false,
update_focused_file = {
enable = true,
update_root = false,
},
view = {
width = 36,
preserve_window_proportions = true,
},
renderer = {
group_empty = true,
icons = {
show = {
folder_arrow = false,
},
},
indent_markers = {
enable = true,
},
},
filters = {
dotfiles = false,
},
actions = {
open_file = {
resize_window = true,
},
},
})
vim.keymap.set("n", "<leader>e", "<cmd>NvimTreeToggle<CR>", { silent = true })
vim.keymap.set("n", "<leader>t", ":NvimTreeFindFileToggle<CR>")
local project_tree_group = vim.api.nvim_create_augroup("tracer_project_tree", { clear = true })
vim.api.nvim_create_autocmd("VimEnter", {
group = project_tree_group,
callback = function(data)
if vim.fn.argc() ~= 1 or vim.fn.isdirectory(data.file) ~= 1 then
return
end
vim.cmd.cd(data.file)
vim.cmd.enew()
vim.cmd.bwipeout(data.buf)
require("nvim-tree.api").tree.open()
end,
})