vim-patch:8.1.1606: on a narrow screen ":hi" output is confusing (#16388)

Problem:    On a narrow screen ":hi" output is confusing.
Solution:   Insert a space between highlight group name and "xxx". (Masato
            Nishihaga, closes vim/vim#4599)
548be7f126
This commit is contained in:
Volodymyr Kot 2021-11-21 18:10:24 +00:00 committed by GitHub
parent 9d868317f9
commit 9d0726f6d8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 15 additions and 0 deletions

View File

@ -7536,6 +7536,7 @@ static bool syn_list_header(const bool did_header, const int outlen, const int i
{
int endcol = 19;
bool newline = true;
int name_col = 0;
bool adjust = true;
if (!did_header) {
@ -7544,6 +7545,7 @@ static bool syn_list_header(const bool did_header, const int outlen, const int i
return true;
}
msg_outtrans(HL_TABLE()[id - 1].sg_name);
name_col = msg_col;
endcol = 15;
} else if ((ui_has(kUIMessages) || msg_silent) && !force_newline) {
msg_putchar(' ');
@ -7570,6 +7572,9 @@ static bool syn_list_header(const bool did_header, const int outlen, const int i
// 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(' ');
}

View File

@ -651,6 +651,16 @@ func Test_1_highlight_Normalgroup_exists()
endif
endfunc
function Test_no_space_before_xxx()
" Note: we need to create this highlight group in the test because it does not exist in Neovim
execute('hi StatusLineTermNC ctermfg=green')
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
" Test for using RGB color values in a highlight group
func Test_xxlast_highlight_RGB_color()
CheckCanRunGui