diff options
author | zeertzjq <zeertzjq@outlook.com> | 2024-02-10 06:53:10 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-02-10 06:53:10 +0800 |
commit | 0d4d3e4325d475e62ff793391e4aba3c7c8561ee (patch) | |
tree | 3e3ea7d19b94bd16c2672d779f3bb36b201cd3d9 /test/functional | |
parent | 44ec4b5b18d1ba856dc3305d8dfb0e8d9507dd50 (diff) | |
download | rneovim-0d4d3e4325d475e62ff793391e4aba3c7c8561ee.tar.gz rneovim-0d4d3e4325d475e62ff793391e4aba3c7c8561ee.tar.bz2 rneovim-0d4d3e4325d475e62ff793391e4aba3c7c8561ee.zip |
vim-patch:9.1.0084: Visual hl wrong when it ends before multibyte 'showbreak' (#27404)
Problem: Visual hl wrong when it ends before multibyte 'showbreak'.
(lacygoil)
Solution: Use vcol_sbr instead of adding n_extra.
(zeertzjq)
fixes: vim/vim#11272
closes: vim/vim#13996
https://github.com/vim/vim/commit/df23d7f4bd7546f3152ea003856525591218565b
Bug doesn't apply to Nvim.
Diffstat (limited to 'test/functional')
-rw-r--r-- | test/functional/legacy/listlbr_utf8_spec.lua | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/test/functional/legacy/listlbr_utf8_spec.lua b/test/functional/legacy/listlbr_utf8_spec.lua index d7f4c71af2..2788e7ae9f 100644 --- a/test/functional/legacy/listlbr_utf8_spec.lua +++ b/test/functional/legacy/listlbr_utf8_spec.lua @@ -1,12 +1,14 @@ -- Test for linebreak and list option in utf-8 mode local helpers = require('test.functional.helpers')(after_each) +local Screen = require('test.functional.ui.screen') local source = helpers.source local feed = helpers.feed +local exec = helpers.exec local clear, expect = helpers.clear, helpers.expect describe('linebreak', function() - setup(clear) + before_each(clear) -- luacheck: ignore 621 (Indentation) -- luacheck: ignore 613 (Trailing whitespaces in a string) @@ -208,4 +210,29 @@ describe('linebreak', function() a b c¶ Screen attributes are the same!]]) end) + + -- oldtest: Test_visual_ends_before_showbreak() + it("Visual area is correct when it ends before multibyte 'showbreak'", function() + local screen = Screen.new(60, 8) + screen:set_default_attr_ids({ + [0] = { bold = true, foreground = Screen.colors.Blue }, -- NonText + [1] = { background = Screen.colors.LightGrey }, -- Visual + [2] = { bold = true }, -- ModeMsg + }) + screen:attach() + exec([[ + let &wrap = v:true + let &linebreak = v:true + let &showbreak = '↪ ' + eval ['xxxxx ' .. 'y'->repeat(&columns - 6) .. ' zzzz']->setline(1) + normal! wvel + ]]) + screen:expect([[ + xxxxx | + {0:↪ }{1:yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy}^ {1: }| + {0:↪ }zzzz | + {0:~ }|*4 + {2:-- VISUAL --} | + ]]) + end) end) |