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
--- a/src/version.c
+++ b/src/version.c
@@ -778,6 +778,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1606,
+/**/
     1605,
 /**/
     1604,