@@ -38,33 +38,31 @@ function M._display_next_suggestion(edits, ns_id)
38
38
local ui = {}
39
39
local deleted_lines_count = suggestion .range [" end" ].line - suggestion .range .start .line
40
40
local added_lines = vim .split (suggestion .newText , " \n " )
41
- local added_lines_count = suggestion .newText == " " and 0 or # added_lines - 1
41
+ local added_lines_count = suggestion .newText == " " and 0 or # added_lines
42
42
local same_line = 0
43
43
44
- if deleted_lines_count == 0 and added_lines_count == 0 then
44
+ if deleted_lines_count == 0 and added_lines_count == 1 then
45
45
--- changing within line
46
46
deleted_lines_count = 1
47
- added_lines_count = 1
48
47
same_line = 1
49
- added_lines = { suggestion .newText }
50
48
end
51
49
52
50
if deleted_lines_count > 0 then
51
+ -- Deleted range red highlight
53
52
vim .api .nvim_buf_set_extmark (bufnr , ns_id , suggestion .range .start .line , 0 , {
54
53
hl_group = " NesDelete" ,
55
54
end_row = suggestion .range [" end" ].line + 1 ,
56
55
})
57
56
end
58
57
if added_lines_count > 0 then
58
+ -- Create space for float
59
59
local virt_lines = {}
60
60
for _ = 1 , added_lines_count do
61
61
table.insert (virt_lines , {
62
62
{ " " , " Normal" },
63
63
})
64
64
end
65
- local line = suggestion .range .start .line + deleted_lines_count - 1 + same_line
66
-
67
- vim .api .nvim_buf_set_extmark (bufnr , ns_id , line , 0 , {
65
+ vim .api .nvim_buf_set_extmark (bufnr , ns_id , suggestion .range [" end" ].line , 0 , {
68
66
virt_lines = virt_lines ,
69
67
})
70
68
@@ -81,8 +79,8 @@ function M._display_next_suggestion(edits, ns_id)
81
79
local preview_winnr = vim .api .nvim_open_win (preview_bufnr , false , {
82
80
relative = " cursor" ,
83
81
width = win_width - offset ,
84
- height = ( # added_lines + same_line ) - 1 ,
85
- row = (suggestion .range [" end" ].line + same_line ) - cursor [1 ] + 1 ,
82
+ height = # added_lines ,
83
+ row = (suggestion .range [" end" ].line + deleted_lines_count + 1 ) - cursor [1 ],
86
84
col = 0 ,
87
85
style = " minimal" ,
88
86
border = " none" ,
0 commit comments