diff options
author | zeertzjq <zeertzjq@outlook.com> | 2022-04-01 19:46:17 +0800 |
---|---|---|
committer | zeertzjq <zeertzjq@outlook.com> | 2022-04-01 19:53:40 +0800 |
commit | 139828cc7ee807cb6680c87bb2cec1aa90e8b4fd (patch) | |
tree | ec777a018e90bc23b8b2e89e4d223a90e4bd0430 /test/functional/ui/highlight_spec.lua | |
parent | 377e87521157947c384d470a63927719b8c73ad7 (diff) | |
download | rneovim-139828cc7ee807cb6680c87bb2cec1aa90e8b4fd.tar.gz rneovim-139828cc7ee807cb6680c87bb2cec1aa90e8b4fd.tar.bz2 rneovim-139828cc7ee807cb6680c87bb2cec1aa90e8b4fd.zip |
vim-patch:8.2.4660: cursorcolumn is sometimes not correct
Problem: Cursorcolumn is sometimes not correct.
Solution: Recompute the cursor column when entering Insert mode and the
cursor is on a character wider than a screen cell.
https://github.com/vim/vim/commit/782c6744b49b30d9460ed00d4773666e42e07163
Diffstat (limited to 'test/functional/ui/highlight_spec.lua')
-rw-r--r-- | test/functional/ui/highlight_spec.lua | 40 |
1 files changed, 37 insertions, 3 deletions
diff --git a/test/functional/ui/highlight_spec.lua b/test/functional/ui/highlight_spec.lua index bf52d9f9b4..4b63b09a5b 100644 --- a/test/functional/ui/highlight_spec.lua +++ b/test/functional/ui/highlight_spec.lua @@ -1306,14 +1306,48 @@ describe('CursorLine and CursorLineNr highlights', function() end) describe('CursorColumn highlight', function() - before_each(clear) - it('is updated if cursor is moved from timer', function() - local screen = Screen.new(50, 8) + local screen + before_each(function() + clear() + screen = Screen.new(50, 8) screen:set_default_attr_ids({ [1] = {background = Screen.colors.Gray90}, -- CursorColumn [2] = {bold = true, foreground = Screen.colors.Blue1}, -- NonText + [3] = {bold = true}, -- ModeMsg }) screen:attach() + end) + + it('is updated when pressing "i" on a TAB character', function() + exec([[ + call setline(1, ['123456789', "a\tb"]) + set cursorcolumn + call cursor(2, 2) + ]]) + screen:expect([[ + 1234567{1:8}9 | + a ^ b | + {2:~ }| + {2:~ }| + {2:~ }| + {2:~ }| + {2:~ }| + | + ]]) + feed('i') + screen:expect([[ + 1{1:2}3456789 | + a^ b | + {2:~ }| + {2:~ }| + {2:~ }| + {2:~ }| + {2:~ }| + {3:-- INSERT --} | + ]]) + end) + + it('is updated if cursor is moved from timer', function() exec([[ call setline(1, ['aaaaa', 'bbbbb', 'ccccc', 'ddddd']) set cursorcolumn |