Mercurial > vim
view src/testdir/test_termencoding.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 | c8ebe35b2475 |
children |
line wrap: on
line source
" Test for setting 'encoding' to something else than the terminal uses, then " setting 'termencoding' to make it work. " This only works with "iconv". if !has('iconv') throw 'Skipped: iconv feature missing' endif source screendump.vim if !CanRunVimInTerminal() throw 'Skipped: cannot make screendumps' endif " This Vim is running with 'encoding' "utf-8", the Vim in the terminal is " running with 'encoding' "euc-jp". We need to make sure the text is in the " right encoding, this is a bit tricky. func Test_termencoding_euc_jp() new call setline(1, 'E89: バッファ %ld の変更は保存されていません (! で変更を破棄)') write ++enc=euc-jp Xeuc_jp.txt quit call writefile([ \ 'set encoding=euc-jp', \ 'set termencoding=utf-8', \ 'scriptencoding utf-8', \ 'exe "normal aE83: バッファを作成できないので、他のを使用します...\<Esc>"', \ 'split Xeuc_jp.txt', \ ], 'XTest_tenc_euc_jp', 'D') let buf = RunVimInTerminal('-S XTest_tenc_euc_jp', {'rows': 10}) call VerifyScreenDump(buf, 'Test_tenc_euc_jp_01', {}) " clean up call StopVimInTerminal(buf) call delete('Xeuc_jp.txt') endfunc " vim: shiftwidth=2 sts=2 expandtab