lua/josean/plugins/nvim-tree.lua (1889B)
1 return {
2 "nvim-tree/nvim-tree.lua",
3 dependencies = { "nvim-tree/nvim-web-devicons" },
4 config = function()
5 local nvimtree = require("nvim-tree")
6
7 -- recommended settings from nvim-tree documentation
8 vim.g.loaded_netrw = 1
9 vim.g.loaded_netrwPlugin = 1
10
11 -- change color for arrows in tree to light blue
12 vim.cmd([[ highlight NvimTreeFolderArrowClosed guifg=#3FC5FF ]])
13 vim.cmd([[ highlight NvimTreeFolderArrowOpen guifg=#3FC5FF ]])
14
15 -- configure nvim-tree
16 nvimtree.setup({
17 view = {
18 width = 35,
19 relativenumber = true,
20 },
21 -- change folder arrow icons
22 renderer = {
23 indent_markers = {
24 enable = true,
25 },
26 icons = {
27 glyphs = {
28 folder = {
29 arrow_closed = "", -- arrow when folder is closed
30 arrow_open = "", -- arrow when folder is open
31 },
32 },
33 },
34 },
35 -- disable window_picker for
36 -- explorer to work well with
37 -- window splits
38 actions = {
39 open_file = {
40 window_picker = {
41 enable = false,
42 },
43 },
44 },
45 filters = {
46 custom = { ".DS_Store" },
47 },
48 git = {
49 ignore = false,
50 },
51 })
52
53 -- set keymaps
54 local keymap = vim.keymap -- for conciseness
55
56 keymap.set("n", "<leader>ee", "<cmd>NvimTreeToggle<CR>", { desc = "Toggle file explorer" }) -- toggle file explorer
57 keymap.set("n", "<leader>ef", "<cmd>NvimTreeFindFileToggle<CR>", { desc = "Toggle file explorer on current file" }) -- toggle file explorer on current file
58 keymap.set("n", "<leader>ec", "<cmd>NvimTreeCollapse<CR>", { desc = "Collapse file explorer" }) -- collapse file explorer
59 keymap.set("n", "<leader>er", "<cmd>NvimTreeRefresh<CR>", { desc = "Refresh file explorer" }) -- refresh file explorer
60 end,
61 }