@@ -14,79 +14,21 @@ function M.clear_suggestion(bufnr, ns_id)
1414 vim .b [bufnr ].nes_jump = false
1515 return
1616 end
17- vim . api . nvim_buf_clear_namespace (bufnr , ns_id , 0 , - 1 )
17+ _dismiss_suggestion (bufnr , ns_id )
1818 --- @type copilotlsp.InlineEdit
1919 local state = vim .b [bufnr ].nes_state
2020 if not state then
2121 return
2222 end
2323
24- _dismiss_suggestion (bufnr , ns_id )
2524 vim .b [bufnr ].nes_state = nil
2625end
2726
28- local function trim_end (s )
29- return s :gsub (" %s+$" , " " )
30- end
31-
3227--- @private
33- --- @param suggestion copilotlsp.InlineEdit
34- --- @return copilotlsp.nes.LineCalculationResult
35- function M ._calculate_lines (suggestion )
36- local deleted_lines_count = suggestion .range [" end" ].line - suggestion .range .start .line
37- local added_lines = vim .split (trim_end (suggestion .newText ), " \n " )
38- local added_lines_count = suggestion .newText == " " and 0 or # added_lines
39- local same_line = false
40-
41- if deleted_lines_count == 0 and added_lines_count == 1 then
42- --- changing within line
43- deleted_lines_count = 1
44- same_line = true
45- end
46-
47- -- if
48- -- suggestion.range.start.line == suggestion.range["end"].line
49- -- and suggestion.range.start.character == suggestion.range["end"].character
50- -- then
51- -- --add only
52- -- TODO: Do we need to position specifically for add only?
53- -- UI tests seem to say no
54- -- end
55-
56- -- Calculate positions for delete highlight extmark
57- --- @type copilotlsp.nes.DeleteExtmark
58- local delete_extmark = {
59- row = suggestion .range .start .line ,
60- end_row = (
61- suggestion .range [" end" ].character ~= 0 and suggestion .range [" end" ].line + 1
62- or suggestion .range [" end" ].line
63- ),
64- }
65-
66- -- Calculate positions for virtual lines extmark
67- --- @type copilotlsp.nes.AddExtmark
68- local virt_lines_extmark = {
69- row = (
70- suggestion .range [" end" ].character ~= 0 and suggestion .range [" end" ].line
71- or suggestion .range [" end" ].line - 1
72- ),
73- virt_lines_count = added_lines_count ,
74- }
75-
76- return {
77- deleted_lines_count = deleted_lines_count ,
78- added_lines = added_lines ,
79- added_lines_count = added_lines_count ,
80- same_line = same_line ,
81- delete_extmark = delete_extmark ,
82- virt_lines_extmark = virt_lines_extmark ,
83- }
84- end
85-
8628--- @param bufnr integer
8729--- @param edit lsp.TextEdit
8830--- @return copilotlsp.nes.InlineEditPreview
89- function M .caculate_preview (bufnr , edit )
31+ function M ._calculate_preview (bufnr , edit )
9032 local text = edit .newText
9133 local range = edit .range
9234 local start_line = range .start .line
@@ -175,10 +117,11 @@ function M.caculate_preview(bufnr, edit)
175117 }
176118end
177119
120+ --- @private
178121--- @param bufnr integer
179122--- @param ns_id integer
180123--- @param preview copilotlsp.nes.InlineEditPreview
181- function M .display_inline_edit_preview (bufnr , ns_id , preview )
124+ function M ._display_preview (bufnr , ns_id , preview )
182125 if preview .deletion then
183126 local range = preview .deletion .range
184127 vim .api .nvim_buf_set_extmark (bufnr , ns_id , range .start .line , range .start .character , {
@@ -222,8 +165,8 @@ function M._display_next_suggestion(bufnr, ns_id, edits)
222165
223166 local suggestion = edits [1 ]
224167
225- local preview = M .caculate_preview (bufnr , suggestion )
226- M .display_inline_edit_preview (bufnr , ns_id , preview )
168+ local preview = M ._calculate_preview (bufnr , suggestion )
169+ M ._display_preview (bufnr , ns_id , preview )
227170
228171 vim .b [bufnr ].nes_state = suggestion
229172
0 commit comments