@@ -16,6 +16,20 @@ local namespace_highlights_id = vim.api.nvim_create_namespace "NvimTreeHighlight
16
16
local namespace_extmarks_id = vim .api .nvim_create_namespace " NvimTreeExtmarks"
17
17
local namespace_virtual_lines_id = vim .api .nvim_create_namespace " NvimTreeVirtualLines"
18
18
19
+ local function render_hl (bufnr , hl )
20
+ if not bufnr or not vim .api .nvim_buf_is_loaded (bufnr ) then
21
+ return
22
+ end
23
+ vim .api .nvim_buf_clear_namespace (bufnr , namespace_highlights_id , 0 , - 1 )
24
+ for _ , data in ipairs (hl ) do
25
+ if type (data [1 ]) == " table" then
26
+ for _ , group in ipairs (data [1 ]) do
27
+ vim .api .nvim_buf_add_highlight (bufnr , namespace_highlights_id , group , data [2 ], data [3 ], data [4 ])
28
+ end
29
+ end
30
+ end
31
+ end
32
+
19
33
--- @param bufnr number
20
34
--- @param lines string[]
21
35
--- @param hl_args AddHighlightArgs[]
@@ -28,7 +42,7 @@ local function _draw(bufnr, lines, hl_args, signs, extmarks, virtual_lines)
28
42
end
29
43
30
44
vim .api .nvim_buf_set_lines (bufnr , 0 , - 1 , false , lines )
31
- M . render_hl (bufnr , hl_args )
45
+ render_hl (bufnr , hl_args )
32
46
33
47
if vim .fn .has " nvim-0.10" == 1 then
34
48
vim .api .nvim_set_option_value (" modifiable" , false , { buf = bufnr })
@@ -62,20 +76,6 @@ local function _draw(bufnr, lines, hl_args, signs, extmarks, virtual_lines)
62
76
end
63
77
end
64
78
65
- function M .render_hl (bufnr , hl )
66
- if not bufnr or not vim .api .nvim_buf_is_loaded (bufnr ) then
67
- return
68
- end
69
- vim .api .nvim_buf_clear_namespace (bufnr , namespace_highlights_id , 0 , - 1 )
70
- for _ , data in ipairs (hl ) do
71
- if type (data [1 ]) == " table" then
72
- for _ , group in ipairs (data [1 ]) do
73
- vim .api .nvim_buf_add_highlight (bufnr , namespace_highlights_id , group , data [2 ], data [3 ], data [4 ])
74
- end
75
- end
76
- end
77
- end
78
-
79
79
function M .draw ()
80
80
local explorer = core .get_explorer ()
81
81
0 commit comments