@@ -34,33 +34,20 @@ function Renderer:new(opts, explorer)
34
34
return o
35
35
end
36
36
37
- local function render_hl (bufnr , hl )
38
- if not bufnr or not vim .api .nvim_buf_is_loaded (bufnr ) then
39
- return
40
- end
41
- vim .api .nvim_buf_clear_namespace (bufnr , namespace_highlights_id , 0 , - 1 )
42
- for _ , data in ipairs (hl ) do
43
- if type (data [1 ]) == " table" then
44
- for _ , group in ipairs (data [1 ]) do
45
- vim .api .nvim_buf_add_highlight (bufnr , namespace_highlights_id , group , data [2 ], data [3 ], data [4 ])
46
- end
47
- end
48
- end
49
- end
50
-
37
+ --- @private
51
38
--- @param bufnr number
52
39
--- @param lines string[]
53
40
--- @param hl_args AddHighlightArgs[]
54
41
--- @param signs string[]
55
- local function _draw (bufnr , lines , hl_args , signs , extmarks , virtual_lines )
42
+ function Renderer : _draw (bufnr , lines , hl_args , signs , extmarks , virtual_lines )
56
43
if vim .fn .has " nvim-0.10" == 1 then
57
44
vim .api .nvim_set_option_value (" modifiable" , true , { buf = bufnr })
58
45
else
59
46
vim .api .nvim_buf_set_option (bufnr , " modifiable" , true ) --- @diagnostic disable-line : deprecated
60
47
end
61
48
62
49
vim .api .nvim_buf_set_lines (bufnr , 0 , - 1 , false , lines )
63
- render_hl (bufnr , hl_args )
50
+ self : render_hl (bufnr , hl_args )
64
51
65
52
if vim .fn .has " nvim-0.10" == 1 then
66
53
vim .api .nvim_set_option_value (" modifiable" , false , { buf = bufnr })
@@ -94,6 +81,21 @@ local function _draw(bufnr, lines, hl_args, signs, extmarks, virtual_lines)
94
81
end
95
82
end
96
83
84
+ --- @private
85
+ function Renderer :render_hl (bufnr , hl )
86
+ if not bufnr or not vim .api .nvim_buf_is_loaded (bufnr ) then
87
+ return
88
+ end
89
+ vim .api .nvim_buf_clear_namespace (bufnr , namespace_highlights_id , 0 , - 1 )
90
+ for _ , data in ipairs (hl ) do
91
+ if type (data [1 ]) == " table" then
92
+ for _ , group in ipairs (data [1 ]) do
93
+ vim .api .nvim_buf_add_highlight (bufnr , namespace_highlights_id , group , data [2 ], data [3 ], data [4 ])
94
+ end
95
+ end
96
+ end
97
+ end
98
+
97
99
function Renderer :draw ()
98
100
local bufnr = view .get_bufnr ()
99
101
if not bufnr or not vim .api .nvim_buf_is_loaded (bufnr ) then
@@ -107,7 +109,7 @@ function Renderer:draw()
107
109
108
110
local builder = Builder :new (self .opts , self .explorer ):build ()
109
111
110
- _draw (bufnr , builder .lines , builder .hl_args , builder .signs , builder .extmarks , builder .virtual_lines )
112
+ self : _draw (bufnr , builder .lines , builder .hl_args , builder .signs , builder .extmarks , builder .virtual_lines )
111
113
112
114
if cursor and # builder .lines >= cursor [1 ] then
113
115
vim .api .nvim_win_set_cursor (view .get_winnr () or 0 , cursor )
0 commit comments