mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
fix(ui): adjust the cursor when inserting virtual text
Credit to: Jesse Bakker https://github.com/neovim/neovim/pull/20130#issuecomment-1369652743 Co-authored-by: Jesse Bakker <github@jessebakker.com>
This commit is contained in:
parent
0e1f3b5acf
commit
389f5ca39d
@ -83,6 +83,9 @@ void decor_redraw(buf_T *buf, int row1, int row2, Decoration *decor)
|
|||||||
|
|
||||||
if (decor && decor_virt_pos(*decor)) {
|
if (decor && decor_virt_pos(*decor)) {
|
||||||
redraw_buf_line_later(buf, row1 + 1, false);
|
redraw_buf_line_later(buf, row1 + 1, false);
|
||||||
|
if (decor->virt_text_pos == kVTInline) {
|
||||||
|
changed_line_display_buf(buf);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (decor && kv_size(decor->virt_lines)) {
|
if (decor && kv_size(decor->virt_lines)) {
|
||||||
|
@ -1272,6 +1272,32 @@ end]]
|
|||||||
|
|
|
|
||||||
]]}
|
]]}
|
||||||
end)
|
end)
|
||||||
|
|
||||||
|
it('adjusts cursor location correctly when inserting around inline virtual text', function()
|
||||||
|
insert('12345678')
|
||||||
|
feed '$'
|
||||||
|
meths.buf_set_extmark(0, ns, 0, 4,
|
||||||
|
{ virt_text = { { ' virtual text ', 'Special' } }, virt_text_pos = 'inline' })
|
||||||
|
|
||||||
|
screen:expect { grid = [[
|
||||||
|
1234{28: virtual text }567^8 |
|
||||||
|
{1:~ }|
|
||||||
|
{1:~ }|
|
||||||
|
{1:~ }|
|
||||||
|
{1:~ }|
|
||||||
|
{1:~ }|
|
||||||
|
{1:~ }|
|
||||||
|
{1:~ }|
|
||||||
|
{1:~ }|
|
||||||
|
{1:~ }|
|
||||||
|
{1:~ }|
|
||||||
|
{1:~ }|
|
||||||
|
{1:~ }|
|
||||||
|
{1:~ }|
|
||||||
|
|
|
||||||
|
]]
|
||||||
|
}
|
||||||
|
end)
|
||||||
end)
|
end)
|
||||||
|
|
||||||
describe('decorations: virtual lines', function()
|
describe('decorations: virtual lines', function()
|
||||||
|
Loading…
Reference in New Issue
Block a user