"underline" "1" if underlined
"undercurl" "1" if undercurled
"strike" "1" if strikethrough
+ "nocombine" "1" if nocombine
Returns an empty string on error.
p = highlight_has_attr(id, HL_ITALIC, modec);
break;
- case 'n': // name
- p = get_highlight_name_ext(NULL, id - 1, FALSE);
+ case 'n':
+ if (TOLOWER_ASC(what[1]) == 'o') // nocombine
+ p = highlight_has_attr(id, HL_NOCOMBINE, modec);
+ else // name
+ p = get_highlight_name_ext(NULL, id - 1, FALSE);
break;
case 'r': // reverse
call assert_equal('1', synIDattr(hlID("Mine"), "underdotted", 'cterm'))
call assert_equal('1', synIDattr("Mine"->hlID(), "underdashed", 'gui'))
- hi Mine gui=strikethrough
+ hi Mine term=nocombine gui=strikethrough
call assert_equal('1', synIDattr(hlID("Mine"), "strikethrough", 'gui'))
+ call assert_equal('1', synIDattr(hlID("Mine"), "nocombine", 'term'))
+ call assert_equal('', synIDattr(hlID("Mine"), "nocombine", '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'))