1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
|
local HEIGHT_RATIO = 0.8
local WIDTH_RATIO = 0.25
return {
"nvim-tree/nvim-tree.lua",
dependencies = {
"nvim-tree/nvim-web-devicons",
},
opts = {
disable_netrw = false,
hijack_netrw = true,
sort = {
sorter = "case_sensitive",
},
git = {
enable = true,
ignore = false,
},
renderer = {
group_empty = true,
highlight_git = true,
icons = {
show = {
git = true,
},
},
},
filters = {
dotfiles = false,
},
update_focused_file = {
enable = true,
},
on_attach = function(bufnr)
local api = require("nvim-tree.api")
api.config.mappings.default_on_attach(bufnr)
end,
view = {
-- float = {
-- enable = true,
-- open_win_config = function()
-- local screen_w = vim.opt.columns:get()
-- local screen_h = vim.opt.lines:get() - vim.opt.cmdheight:get()
-- local window_w = screen_w * WIDTH_RATIO
-- local window_h = screen_h * HEIGHT_RATIO
-- local window_w_int = math.floor(window_w)
-- local window_h_int = math.floor(window_h)
-- local center_x = (screen_w - window_w) / 2
-- local center_y = ((vim.opt.lines:get() - window_h) / 2) - vim.opt.cmdheight:get()
-- local border_bg = vim.o.background == "dark" and "#1c1c1f" or "#e7e7e7"
-- local border_fg = vim.o.background == "dark" and "#333333" or "#999999"
-- -- Force highlight for border and nvim-tree background
-- vim.api.nvim_set_hl(0, "FloatBorder", { fg = border_fg, bg = border_bg })
-- vim.api.nvim_set_hl(0, "NvimTreeFloatBorder", { fg = border_fg, bg = border_bg })
-- vim.api.nvim_set_hl(0, "NvimTreeNormal", { bg = border_bg })
-- vim.api.nvim_set_hl(0, "NormalFloat", { bg = border_bg })
-- return {
-- border = "rounded",
-- relative = "editor",
-- row = center_y,
-- col = center_x,
-- width = window_w_int,
-- height = window_h_int,
-- }
-- end,
-- },
width = function()
return math.floor(vim.opt.columns:get() * WIDTH_RATIO)
end,
},
},
keys = {
{
"<C-c>",
function()
local api = require("nvim-tree.api")
local global_cwd = vim.fn.getcwd(-1, -1)
api.tree.change_root(global_cwd)
end,
desc = "Change tree root to CWD",
},
{
"<F4>",
"<cmd>NvimTreeToggle<CR>",
desc = "Toggle file tree",
},
},
}
|