Mercurial > vim
changeset 17214:079ce74ecaa5 v8.1.1606
patch 8.1.1606: on a narrow screen ":hi" output is confusing
commit https://github.com/vim/vim/commit/548be7f126dc57ca861cb26dc6492c3b2a9e2c99
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Jun 29 03:42:42 2019 +0200
patch 8.1.1606: on a narrow screen ":hi" output is confusing
Problem: On a narrow screen ":hi" output is confusing.
Solution: Insert a space between highlight group name and "xxx". (Masato
Nishihaga, closes #4599)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 29 Jun 2019 03:45:06 +0200 |
parents | d031972f6d0a |
children | 57771dafd317 |
files | src/syntax.c src/testdir/test_highlight.vim src/version.c |
diffstat | 3 files changed, 14 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/syntax.c +++ b/src/syntax.c @@ -9440,6 +9440,7 @@ syn_list_header( { int endcol = 19; int newline = TRUE; + int name_col = 0; if (!did_header) { @@ -9447,6 +9448,7 @@ syn_list_header( if (got_int) return TRUE; msg_outtrans(HL_TABLE()[id - 1].sg_name); + name_col = msg_col; endcol = 15; } else if (msg_col + outlen + 1 >= Columns) @@ -9471,6 +9473,8 @@ syn_list_header( /* Show "xxx" with the attributes. */ if (!did_header) { + if (endcol == Columns - 1 && endcol <= name_col) + msg_putchar(' '); msg_puts_attr("xxx", syn_id2attr(id)); msg_putchar(' '); }
--- a/src/testdir/test_highlight.vim +++ b/src/testdir/test_highlight.vim @@ -607,3 +607,11 @@ func Test_1_highlight_Normalgroup_exists call assert_match('hi Normal\s*clear', hlNormal) endif endfunc + +function Test_no_space_before_xxx() + let l:org_columns = &columns + set columns=17 + let l:hi_StatusLineTermNC = join(split(execute('hi StatusLineTermNC'))) + call assert_match('StatusLineTermNC xxx', l:hi_StatusLineTermNC) + let &columns = l:org_columns +endfunction