mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
vim-patch:7.4.1547 #5326
Problem: Getting a cterm highlight attribute that is not set results in the
string "-1".
Solution: Return an empty string. (Taro Muraoka)
385111bd86
This commit is contained in:
parent
6e9f329d05
commit
bc1a5db6cc
@ -7001,11 +7001,15 @@ highlight_color (
|
||||
if (font || sp)
|
||||
return NULL;
|
||||
if (modec == 'c') {
|
||||
if (fg)
|
||||
if (fg) {
|
||||
n = HL_TABLE()[id - 1].sg_cterm_fg - 1;
|
||||
else
|
||||
} else {
|
||||
n = HL_TABLE()[id - 1].sg_cterm_bg - 1;
|
||||
sprintf((char *)name, "%d", n);
|
||||
}
|
||||
if (n < 0) {
|
||||
return NULL;
|
||||
}
|
||||
snprintf((char *)name, sizeof(name), "%d", n);
|
||||
return name;
|
||||
}
|
||||
/* term doesn't have color */
|
||||
|
@ -8,4 +8,5 @@ source test_cmdline.vim
|
||||
source test_menu.vim
|
||||
source test_popup.vim
|
||||
source test_regexp_utf8.vim
|
||||
source test_syn_attr.vim
|
||||
source test_unlet.vim
|
||||
|
31
src/nvim/testdir/test_syn_attr.vim
Normal file
31
src/nvim/testdir/test_syn_attr.vim
Normal file
@ -0,0 +1,31 @@
|
||||
" Test syntax highlighting functions.
|
||||
|
||||
func Test_missing_attr()
|
||||
hi Mine term=bold cterm=italic
|
||||
call assert_equal('Mine', synIDattr(hlID("Mine"), "name"))
|
||||
call assert_equal('', synIDattr(hlID("Mine"), "bg", 'term'))
|
||||
call assert_equal('1', synIDattr(hlID("Mine"), "bold", 'term'))
|
||||
call assert_equal('1', synIDattr(hlID("Mine"), "italic", 'cterm'))
|
||||
hi Mine term=reverse cterm=inverse
|
||||
call assert_equal('1', synIDattr(hlID("Mine"), "reverse", 'term'))
|
||||
call assert_equal('1', synIDattr(hlID("Mine"), "inverse", 'cterm'))
|
||||
hi Mine term=underline cterm=standout gui=undercurl
|
||||
call assert_equal('1', synIDattr(hlID("Mine"), "underline", 'term'))
|
||||
call assert_equal('1', synIDattr(hlID("Mine"), "standout", 'cterm'))
|
||||
call assert_equal('1', synIDattr(hlID("Mine"), "undercurl", 'gui'))
|
||||
hi Mine term=NONE cterm=NONE gui=NONE
|
||||
call assert_equal('', synIDattr(hlID("Mine"), "bold", 'term'))
|
||||
call assert_equal('', synIDattr(hlID("Mine"), "italic", 'cterm'))
|
||||
call assert_equal('', synIDattr(hlID("Mine"), "reverse", 'term'))
|
||||
call assert_equal('', synIDattr(hlID("Mine"), "inverse", 'cterm'))
|
||||
call assert_equal('', synIDattr(hlID("Mine"), "underline", 'term'))
|
||||
call assert_equal('', synIDattr(hlID("Mine"), "standout", 'cterm'))
|
||||
call assert_equal('', synIDattr(hlID("Mine"), "undercurl", 'gui'))
|
||||
|
||||
if has('gui')
|
||||
hi Mine guifg=blue guibg=red font=something
|
||||
call assert_equal('blue', synIDattr(hlID("Mine"), "fg", 'gui'))
|
||||
call assert_equal('red', synIDattr(hlID("Mine"), "bg", 'gui'))
|
||||
call assert_equal('something', synIDattr(hlID("Mine"), "font", 'gui'))
|
||||
endif
|
||||
endfunc
|
@ -730,7 +730,7 @@ static int included_patches[] = {
|
||||
1550,
|
||||
// 1549,
|
||||
1548,
|
||||
// 1547,
|
||||
1547,
|
||||
1546,
|
||||
// 1545 NA
|
||||
// 1544 NA
|
||||
|
Loading…
Reference in New Issue
Block a user