Mercurial > vim
comparison src/testdir/test_textprop.vim @ 33077:d03841a271aa v9.0.1825
patch 9.0.1825: wrong cursor position with virt text and 'linebreak'
Commit: https://github.com/vim/vim/commit/6e55e85f92aff43c1b3cb564201440f3552d63f0
Author: zeertzjq <zeertzjq@outlook.com>
Date: Wed Aug 30 16:55:09 2023 +0200
patch 9.0.1825: wrong cursor position with virt text and 'linebreak'
Problem: Wrong cursor position with virtual text before a whitespace
character and 'linebreak'.
Solution: Always set "col_adj" to "size - 1" and apply 'linebreak' after
adding the size of 'breakindent' and 'showbreak'.
closes: #12956
Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Wed, 30 Aug 2023 17:00:03 +0200 |
parents | 2b47322be0d1 |
children | 4be1ffa13b56 |
comparison
equal
deleted
inserted
replaced
33076:d36b31ab54c4 | 33077:d03841a271aa |
---|---|
2789 call VerifyScreenDump(buf, 'Test_prop_before_tab_skipcol_11', {}) | 2789 call VerifyScreenDump(buf, 'Test_prop_before_tab_skipcol_11', {}) |
2790 | 2790 |
2791 call StopVimInTerminal(buf) | 2791 call StopVimInTerminal(buf) |
2792 endfunc | 2792 endfunc |
2793 | 2793 |
2794 func Test_prop_inserts_text_before_linebreak() | |
2795 CheckRunVimInTerminal | |
2796 | |
2797 let lines =<< trim END | |
2798 setlocal linebreak showbreak=+ breakindent breakindentopt=shift:2 | |
2799 call setline(1, repeat('a', 50) .. ' ' .. repeat('c', 45)) | |
2800 call prop_type_add('theprop', #{highlight: 'Special'}) | |
2801 call prop_add(1, 51, #{type: 'theprop', text: repeat('b', 10), text_wrap: 'wrap'}) | |
2802 normal! $ | |
2803 END | |
2804 call writefile(lines, 'XscriptPropsBeforeLinebreak', 'D') | |
2805 let buf = RunVimInTerminal('-S XscriptPropsBeforeLinebreak', #{rows: 6, cols: 50}) | |
2806 call VerifyScreenDump(buf, 'Test_prop_inserts_text_before_linebreak_1', {}) | |
2807 call term_sendkeys(buf, '05x$') | |
2808 call VerifyScreenDump(buf, 'Test_prop_inserts_text_before_linebreak_2', {}) | |
2809 | |
2810 call StopVimInTerminal(buf) | |
2811 endfunc | |
2812 | |
2794 func Test_prop_inserts_text_lcs_extends() | 2813 func Test_prop_inserts_text_lcs_extends() |
2795 CheckRunVimInTerminal | 2814 CheckRunVimInTerminal |
2796 | 2815 |
2797 let lines =<< trim END | 2816 let lines =<< trim END |
2798 setlocal nowrap list listchars=extends:! | 2817 setlocal nowrap list listchars=extends:! |