Mercurial > vim
changeset 16148:90b0f2227d73 v8.1.1079
patch 8.1.1079: no need for a separate ScreenLinesUtf8() test function
commit https://github.com/vim/vim/commit/48aed0824e47147faf19fc235ad4bcf851584c9c
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Mar 30 15:44:17 2019 +0100
patch 8.1.1079: no need for a separate ScreenLinesUtf8() test function
Problem: No need for a separate ScreenLinesUtf8() test function.
Solution: Get the composing characters with ScreenLines().
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 30 Mar 2019 15:45:05 +0100 |
parents | bca0fcdb3586 |
children | 9f4bc4c391ae |
files | src/testdir/test_listchars.vim src/testdir/test_utf8.vim src/testdir/view_util.vim src/version.c |
diffstat | 4 files changed, 5 insertions(+), 22 deletions(-) [+] |
line wrap: on
line diff
--- a/src/testdir/test_listchars.vim +++ b/src/testdir/test_listchars.vim @@ -130,7 +130,7 @@ func Test_listchars_composing() \ ] redraw! call cursor(1, 1) - let got = ScreenLinesUtf8(1, virtcol('$')) + let got = ScreenLines(1, virtcol('$')) bw! call assert_equal(expected, got) let &encoding=oldencoding
--- a/src/testdir/test_utf8.vim +++ b/src/testdir/test_utf8.vim @@ -91,7 +91,7 @@ func Test_screenchar_utf8() call assert_equal("", screenstring(1, 4)) call assert_equal("\u3046\u3099", screenstring(1, 5)) - call assert_equal([text . ' '], ScreenLinesUtf8(1, 8)) + call assert_equal([text . ' '], ScreenLines(1, 8)) bwipe! endfunc
--- a/src/testdir/view_util.vim +++ b/src/testdir/view_util.vim @@ -5,7 +5,7 @@ if exists('*ScreenLines') finish endif -" Get text on the screen, without composing characters. +" Get text on the screen, including composing characters. " ScreenLines(lnum, width) or " ScreenLines([start, end], width) function! ScreenLines(lnum, width) abort @@ -19,25 +19,6 @@ function! ScreenLines(lnum, width) abort endif let lines = [] for l in range(start, end) - let lines += [join(map(range(1, a:width), 'nr2char(screenchar(l, v:val))'), '')] - endfor - return lines -endfunction - -" Get text on the screen, including composing characters. -" ScreenLines(lnum, width) or -" ScreenLines([start, end], width) -function! ScreenLinesUtf8(lnum, width) abort - redraw! - if type(a:lnum) == v:t_list - let start = a:lnum[0] - let end = a:lnum[1] - else - let start = a:lnum - let end = a:lnum - endif - let lines = [] - for l in range(start, end) let lines += [join(map(range(1, a:width), 'screenstring(l, v:val)'), '')] endfor return lines