refactor(highlight)!: rename attributes to match Vim (#19159)

Ref: 84f5463630
Rename:
- `underlineline` to `underdouble`
- `underdot` to `underdotted`
- `underdash` to `underdashed`

`underdouble` also now takes higher precedence than `undercurl`.
This commit is contained in:
zeertzjq
2022-06-30 16:57:44 +08:00
committed by GitHub
parent 6f6286e4f9
commit 995e487915
17 changed files with 115 additions and 106 deletions

View File

@@ -1477,10 +1477,10 @@ nvim_set_hl({ns_id}, {name}, {*val}) *nvim_set_hl()*
• bold: boolean • bold: boolean
• standout: boolean • standout: boolean
• underline: boolean • underline: boolean
• underlineline: boolean
• undercurl: boolean • undercurl: boolean
• underdot: boolean • underdouble: boolean
• underdash: boolean • underdotted: boolean
• underdashed: boolean
• strikethrough: boolean • strikethrough: boolean
• italic: boolean • italic: boolean
• reverse: boolean • reverse: boolean

View File

@@ -8026,10 +8026,10 @@ synIDattr({synID}, {what} [, {mode}]) *synIDattr()*
"inverse" "1" if inverse (= reverse) "inverse" "1" if inverse (= reverse)
"standout" "1" if standout "standout" "1" if standout
"underline" "1" if underlined "underline" "1" if underlined
"underlineline" "1" if double underlined
"undercurl" "1" if undercurled "undercurl" "1" if undercurled
"underdot" "1" if dotted underlined "underdouble" "1" if double underlined
"underdash" "1" if dashed underlined "underdotted" "1" if dotted underlined
"underdashed" "1" if dashed underlined
"strikethrough" "1" if struckthrough "strikethrough" "1" if struckthrough
Example (echoes the color of the syntax item under the Example (echoes the color of the syntax item under the

View File

@@ -4895,19 +4895,19 @@ the same syntax file on all UIs.
1. TUI highlight arguments 1. TUI highlight arguments
*bold* *underline* *underlineline* *bold* *underline* *undercurl*
*undercurl* *underdot* *underdash* *underdouble* *underdotted*
*inverse* *italic* *standout* *underdashed* *inverse* *italic*
*nocombine* *strikethrough* *standout* *nocombine* *strikethrough*
cterm={attr-list} *attr-list* *highlight-cterm* *E418* cterm={attr-list} *attr-list* *highlight-cterm* *E418*
attr-list is a comma-separated list (without spaces) of the attr-list is a comma-separated list (without spaces) of the
following items (in any order): following items (in any order):
bold bold
underline underline
underlineline double underline
undercurl curly underline undercurl curly underline
underdot dotted underline underdouble double underline
underdash dashed underline underdotted dotted underline
underdashed dashed underline
strikethrough strikethrough
reverse reverse
inverse same as reverse inverse same as reverse
@@ -4918,7 +4918,7 @@ cterm={attr-list} *attr-list* *highlight-cterm* *E418*
Note that "bold" can be used here and by using a bold font. They Note that "bold" can be used here and by using a bold font. They
have the same effect. have the same effect.
"underlineline", "undercurl", "underdot", and "underdash" fall back "undercurl", "underdouble", "underdotted", and "underdashed" fall back
to "underline" in a terminal that does not support them. The color is to "underline" in a terminal that does not support them. The color is
set using |highlight-guisp|. set using |highlight-guisp|.

View File

@@ -314,11 +314,10 @@ numerical highlight ids to the actual attributes.
`bold`: bold text. `bold`: bold text.
`strikethrough`: struckthrough text. `strikethrough`: struckthrough text.
`underline`: underlined text. The line has `special` color. `underline`: underlined text. The line has `special` color.
`underlineline`: double underlined text. The lines have `special`
color.
`undercurl`: undercurled text. The curl has `special` color. `undercurl`: undercurled text. The curl has `special` color.
`underdot`: underdotted text. The dots have `special` color. `underdouble`: double underlined text. The lines have `special` color.
`underdash`: underdashed text. The dashes have `special` color. `underdotted`: underdotted text. The dots have `special` color.
`underdashed`: underdashed text. The dashes have `special` color.
`blend`: Blend level (0-100). Could be used by UIs to `blend`: Blend level (0-100). Could be used by UIs to
support blending floating windows to the support blending floating windows to the
background or to signal a transparent cursor. background or to signal a transparent cursor.
@@ -477,10 +476,10 @@ is not active. New UIs should implement |ui-linegrid| instead.
`bold`: bold text. `bold`: bold text.
`strikethrough`: struckthrough text. `strikethrough`: struckthrough text.
`underline`: underlined text. The line has `special` color. `underline`: underlined text. The line has `special` color.
`underlineline`: double underlined text. The lines have `special` color.
`undercurl`: undercurled text. The curl has `special` color. `undercurl`: undercurled text. The curl has `special` color.
`underdot`: underdotted text. The dots have `special` color. `underdouble`: double underlined text. The lines have `special` color.
`underdash`: underdashed text. The dashes have `special` color. `underdotted`: underdotted text. The dots have `special` color.
`underdashed`: underdashed text. The dashes have `special` color.
["put", text] ["put", text]
The (utf-8 encoded) string `text` is put at the cursor position The (utf-8 encoded) string `text` is put at the cursor position

View File

@@ -572,7 +572,7 @@ syn match vimHiBang contained "!" skipwhite nextgroup=@vimHighlightCluster
syn match vimHiGroup contained "\i\+" syn match vimHiGroup contained "\i\+"
syn case ignore syn case ignore
syn keyword vimHiAttrib contained none bold inverse italic nocombine reverse standout strikethrough underline underlineline undercurl underdot underdash syn keyword vimHiAttrib contained none bold inverse italic nocombine reverse standout strikethrough underline undercurl underdouble underdotted underdashed
syn keyword vimFgBgAttrib contained none bg background fg foreground syn keyword vimFgBgAttrib contained none bg background fg foreground
syn case match syn case match
syn match vimHiAttribList contained "\i\+" contains=vimHiAttrib syn match vimHiAttribList contained "\i\+" contains=vimHiAttrib

View File

@@ -95,10 +95,10 @@ return {
"standout"; "standout";
"strikethrough"; "strikethrough";
"underline"; "underline";
"underlineline";
"undercurl"; "undercurl";
"underdot"; "underdouble";
"underdash"; "underdotted";
"underdashed";
"italic"; "italic";
"reverse"; "reverse";
"nocombine"; "nocombine";
@@ -120,10 +120,10 @@ return {
"standout"; "standout";
"strikethrough"; "strikethrough";
"underline"; "underline";
"underlineline";
"undercurl"; "undercurl";
"underdot"; "underdouble";
"underdash"; "underdotted";
"underdashed";
"italic"; "italic";
"reverse"; "reverse";
"nocombine"; "nocombine";

View File

@@ -149,10 +149,10 @@ Dictionary nvim__get_hl_defs(Integer ns_id, Error *err)
/// - bold: boolean /// - bold: boolean
/// - standout: boolean /// - standout: boolean
/// - underline: boolean /// - underline: boolean
/// - underlineline: boolean
/// - undercurl: boolean /// - undercurl: boolean
/// - underdot: boolean /// - underdouble: boolean
/// - underdash: boolean /// - underdotted: boolean
/// - underdashed: boolean
/// - strikethrough: boolean /// - strikethrough: boolean
/// - italic: boolean /// - italic: boolean
/// - reverse: boolean /// - reverse: boolean

View File

@@ -10303,22 +10303,30 @@ static void f_synIDattr(typval_T *argvars, typval_T *rettv, FunPtr fptr)
p = highlight_has_attr(id, HL_STANDOUT, modec); p = highlight_has_attr(id, HL_STANDOUT, modec);
} }
break; break;
case 'u': { case 'u':
const size_t len = STRLEN(what); if (STRLEN(what) >= 9) {
if (len <= 5 || (TOLOWER_ASC(what[5]) == 'l' && len <= 9)) { // underline if (TOLOWER_ASC(what[5]) == 'l') {
p = highlight_has_attr(id, HL_UNDERLINE, modec); // underline
} else if (TOLOWER_ASC(what[5]) == 'c') { // undercurl p = highlight_has_attr(id, HL_UNDERLINE, modec);
p = highlight_has_attr(id, HL_UNDERCURL, modec); } else if (TOLOWER_ASC(what[5]) != 'd') {
} else if (len > 9 && TOLOWER_ASC(what[9]) == 'l') { // underlineline // undercurl
p = highlight_has_attr(id, HL_UNDERLINELINE, modec); p = highlight_has_attr(id, HL_UNDERCURL, modec);
} else if (len > 6 && TOLOWER_ASC(what[6]) == 'o') { // underdot } else if (TOLOWER_ASC(what[6]) != 'o') {
p = highlight_has_attr(id, HL_UNDERDOT, modec); // underdashed
} else { // underdash p = highlight_has_attr(id, HL_UNDERDASHED, modec);
p = highlight_has_attr(id, HL_UNDERDASH, modec); } else if (TOLOWER_ASC(what[7]) == 'u') {
// underdouble
p = highlight_has_attr(id, HL_UNDERDOUBLE, modec);
} else {
// underdotted
p = highlight_has_attr(id, HL_UNDERDOTTED, modec);
}
} else {
// ul
p = highlight_color(id, what, modec);
} }
break; break;
} }
}
rettv->v_type = VAR_STRING; rettv->v_type = VAR_STRING;
rettv->vval.v_string = (char *)(p == NULL ? p : xstrdup(p)); rettv->vval.v_string = (char *)(p == NULL ? p : xstrdup(p));

View File

@@ -419,10 +419,10 @@ static void prt_get_attr(int hl_id, prt_text_attr_T *pattr, int modec)
pattr->bold = (highlight_has_attr(hl_id, HL_BOLD, modec) != NULL); pattr->bold = (highlight_has_attr(hl_id, HL_BOLD, modec) != NULL);
pattr->italic = (highlight_has_attr(hl_id, HL_ITALIC, modec) != NULL); pattr->italic = (highlight_has_attr(hl_id, HL_ITALIC, modec) != NULL);
pattr->underline = (highlight_has_attr(hl_id, HL_UNDERLINE, modec) != NULL); pattr->underline = (highlight_has_attr(hl_id, HL_UNDERLINE, modec) != NULL);
pattr->underlineline = (highlight_has_attr(hl_id, HL_UNDERLINELINE, modec) != NULL);
pattr->undercurl = (highlight_has_attr(hl_id, HL_UNDERCURL, modec) != NULL); pattr->undercurl = (highlight_has_attr(hl_id, HL_UNDERCURL, modec) != NULL);
pattr->underdot = (highlight_has_attr(hl_id, HL_UNDERDOT, modec) != NULL); pattr->underdouble = (highlight_has_attr(hl_id, HL_UNDERDOUBLE, modec) != NULL);
pattr->underdash = (highlight_has_attr(hl_id, HL_UNDERDASH, modec) != NULL); pattr->underdotted = (highlight_has_attr(hl_id, HL_UNDERDOTTED, modec) != NULL);
pattr->underdashed = (highlight_has_attr(hl_id, HL_UNDERDASHED, modec) != NULL);
uint32_t fg_color = prt_get_color(hl_id, modec); uint32_t fg_color = prt_get_color(hl_id, modec);

View File

@@ -18,9 +18,9 @@ typedef struct {
TriState italic; TriState italic;
TriState underline; TriState underline;
int undercurl; int undercurl;
int underlineline; int underdouble;
int underdot; int underdotted;
int underdash; int underdashed;
} prt_text_attr_T; } prt_text_attr_T;
/* /*

View File

@@ -743,20 +743,20 @@ Dictionary hlattrs2dict(HlAttrs ae, bool use_rgb)
PUT(hl, "underline", BOOLEAN_OBJ(true)); PUT(hl, "underline", BOOLEAN_OBJ(true));
} }
if (mask & HL_UNDERLINELINE) {
PUT(hl, "underlineline", BOOLEAN_OBJ(true));
}
if (mask & HL_UNDERCURL) { if (mask & HL_UNDERCURL) {
PUT(hl, "undercurl", BOOLEAN_OBJ(true)); PUT(hl, "undercurl", BOOLEAN_OBJ(true));
} }
if (mask & HL_UNDERDOT) { if (mask & HL_UNDERDOUBLE) {
PUT(hl, "underdot", BOOLEAN_OBJ(true)); PUT(hl, "underdouble", BOOLEAN_OBJ(true));
} }
if (mask & HL_UNDERDASH) { if (mask & HL_UNDERDOTTED) {
PUT(hl, "underdash", BOOLEAN_OBJ(true)); PUT(hl, "underdotted", BOOLEAN_OBJ(true));
}
if (mask & HL_UNDERDASHED) {
PUT(hl, "underdashed", BOOLEAN_OBJ(true));
} }
if (mask & HL_ITALIC) { if (mask & HL_ITALIC) {
@@ -825,10 +825,10 @@ HlAttrs dict2hlattrs(Dict(highlight) *dict, bool use_rgb, int *link_id, Error *e
CHECK_FLAG(dict, mask, bold, , HL_BOLD); CHECK_FLAG(dict, mask, bold, , HL_BOLD);
CHECK_FLAG(dict, mask, standout, , HL_STANDOUT); CHECK_FLAG(dict, mask, standout, , HL_STANDOUT);
CHECK_FLAG(dict, mask, underline, , HL_UNDERLINE); CHECK_FLAG(dict, mask, underline, , HL_UNDERLINE);
CHECK_FLAG(dict, mask, underlineline, , HL_UNDERLINELINE);
CHECK_FLAG(dict, mask, undercurl, , HL_UNDERCURL); CHECK_FLAG(dict, mask, undercurl, , HL_UNDERCURL);
CHECK_FLAG(dict, mask, underdot, , HL_UNDERDOT); CHECK_FLAG(dict, mask, underdouble, , HL_UNDERDOUBLE);
CHECK_FLAG(dict, mask, underdash, , HL_UNDERDASH); CHECK_FLAG(dict, mask, underdotted, , HL_UNDERDOTTED);
CHECK_FLAG(dict, mask, underdashed, , HL_UNDERDASHED);
CHECK_FLAG(dict, mask, italic, , HL_ITALIC); CHECK_FLAG(dict, mask, italic, , HL_ITALIC);
CHECK_FLAG(dict, mask, reverse, , HL_INVERSE); CHECK_FLAG(dict, mask, reverse, , HL_INVERSE);
CHECK_FLAG(dict, mask, strikethrough, , HL_STRIKETHROUGH); CHECK_FLAG(dict, mask, strikethrough, , HL_STRIKETHROUGH);

View File

@@ -17,17 +17,17 @@ typedef enum {
HL_ITALIC = 0x04, HL_ITALIC = 0x04,
HL_UNDERLINE = 0x08, HL_UNDERLINE = 0x08,
HL_UNDERCURL = 0x10, HL_UNDERCURL = 0x10,
HL_STANDOUT = 0x20, HL_UNDERDOUBLE = 0x20,
HL_STRIKETHROUGH = 0x40, HL_UNDERDOTTED = 0x40,
HL_NOCOMBINE = 0x80, HL_UNDERDASHED = 0x80,
HL_BG_INDEXED = 0x0100, HL_STANDOUT = 0x0100,
HL_FG_INDEXED = 0x0200, HL_NOCOMBINE = 0x0200,
HL_DEFAULT = 0x0400, HL_STRIKETHROUGH = 0x0400,
HL_GLOBAL = 0x0800, HL_BG_INDEXED = 0x0800,
HL_UNDERLINELINE = 0x1000, HL_FG_INDEXED = 0x1000,
HL_UNDERDOT = 0x2000, HL_DEFAULT = 0x2000,
HL_UNDERDASH = 0x4000, HL_GLOBAL = 0x4000,
HL_ANY_UNDERLINE = HL_UNDERLINE | HL_UNDERLINELINE | HL_UNDERCURL | HL_UNDERDOT | HL_UNDERDASH, HL_ANY_UNDERLINE = HL_UNDERLINE | HL_UNDERDOUBLE | HL_UNDERCURL | HL_UNDERDOTTED | HL_UNDERDASHED,
} HlAttrFlags; } HlAttrFlags;
/// Stores a complete highlighting entry, including colors and attributes /// Stores a complete highlighting entry, including colors and attributes

View File

@@ -38,10 +38,12 @@ Map(cstr_t, int) highlight_unames = MAP_INIT;
/// The "term", "cterm" and "gui" arguments can be any combination of the /// The "term", "cterm" and "gui" arguments can be any combination of the
/// following names, separated by commas (but no spaces!). /// following names, separated by commas (but no spaces!).
static char *(hl_name_table[]) = static char *(hl_name_table[]) =
{ "bold", "standout", "underline", "underlineline", "undercurl", "underdot", { "bold", "standout", "underline",
"underdash", "italic", "reverse", "inverse", "strikethrough", "nocombine", "NONE" }; "undercurl", "underdouble", "underdotted", "underdashed",
"italic", "reverse", "inverse", "strikethrough", "nocombine", "NONE" };
static int hl_attr_table[] = static int hl_attr_table[] =
{ HL_BOLD, HL_STANDOUT, HL_UNDERLINE, HL_UNDERLINELINE, HL_UNDERCURL, HL_UNDERDOT, HL_UNDERDASH, { HL_BOLD, HL_STANDOUT, HL_UNDERLINE,
HL_UNDERCURL, HL_UNDERDOUBLE, HL_UNDERDOTTED, HL_UNDERDASHED,
HL_ITALIC, HL_INVERSE, HL_INVERSE, HL_STRIKETHROUGH, HL_NOCOMBINE, 0 }; HL_ITALIC, HL_INVERSE, HL_INVERSE, HL_STRIKETHROUGH, HL_NOCOMBINE, 0 };
/// Structure that stores information about a highlight group. /// Structure that stores information about a highlight group.

View File

@@ -589,26 +589,26 @@ static void update_attrs(UI *ui, int attr_id)
bool strikethrough = attr & HL_STRIKETHROUGH; bool strikethrough = attr & HL_STRIKETHROUGH;
bool underline; bool underline;
bool underlineline;
bool undercurl; bool undercurl;
bool underdot; bool underdouble;
bool underdash; bool underdotted;
bool underdashed;
if (data->unibi_ext.set_underline_style != -1) { if (data->unibi_ext.set_underline_style != -1) {
underline = attr & HL_UNDERLINE; underline = attr & HL_UNDERLINE;
underlineline = attr & HL_UNDERLINELINE;
undercurl = attr & HL_UNDERCURL; undercurl = attr & HL_UNDERCURL;
underdash = attr & HL_UNDERDASH; underdouble = attr & HL_UNDERDOUBLE;
underdot = attr & HL_UNDERDOT; underdashed = attr & HL_UNDERDASHED;
underdotted = attr & HL_UNDERDOTTED;
} else { } else {
underline = attr & HL_ANY_UNDERLINE; underline = attr & HL_ANY_UNDERLINE;
underlineline = false;
undercurl = false; undercurl = false;
underdot = false; underdouble = false;
underdash = false; underdotted = false;
underdashed = false;
} }
bool has_any_underline = undercurl || underline bool has_any_underline = undercurl || underline
|| underdot || underdash || underlineline; || underdouble || underdotted || underdashed;
if (unibi_get_str(data->ut, unibi_set_attributes)) { if (unibi_get_str(data->ut, unibi_set_attributes)) {
if (bold || reverse || underline || standout) { if (bold || reverse || underline || standout) {
@@ -648,19 +648,19 @@ static void update_attrs(UI *ui, int attr_id)
if (strikethrough && data->unibi_ext.enter_strikethrough_mode != -1) { if (strikethrough && data->unibi_ext.enter_strikethrough_mode != -1) {
unibi_out_ext(ui, data->unibi_ext.enter_strikethrough_mode); unibi_out_ext(ui, data->unibi_ext.enter_strikethrough_mode);
} }
if (underlineline && data->unibi_ext.set_underline_style != -1) {
UNIBI_SET_NUM_VAR(data->params[0], 2);
unibi_out_ext(ui, data->unibi_ext.set_underline_style);
}
if (undercurl && data->unibi_ext.set_underline_style != -1) { if (undercurl && data->unibi_ext.set_underline_style != -1) {
UNIBI_SET_NUM_VAR(data->params[0], 3); UNIBI_SET_NUM_VAR(data->params[0], 3);
unibi_out_ext(ui, data->unibi_ext.set_underline_style); unibi_out_ext(ui, data->unibi_ext.set_underline_style);
} }
if (underdot && data->unibi_ext.set_underline_style != -1) { if (underdouble && data->unibi_ext.set_underline_style != -1) {
UNIBI_SET_NUM_VAR(data->params[0], 2);
unibi_out_ext(ui, data->unibi_ext.set_underline_style);
}
if (underdotted && data->unibi_ext.set_underline_style != -1) {
UNIBI_SET_NUM_VAR(data->params[0], 4); UNIBI_SET_NUM_VAR(data->params[0], 4);
unibi_out_ext(ui, data->unibi_ext.set_underline_style); unibi_out_ext(ui, data->unibi_ext.set_underline_style);
} }
if (underdash && data->unibi_ext.set_underline_style != -1) { if (underdashed && data->unibi_ext.set_underline_style != -1) {
UNIBI_SET_NUM_VAR(data->params[0], 5); UNIBI_SET_NUM_VAR(data->params[0], 5);
unibi_out_ext(ui, data->unibi_ext.set_underline_style); unibi_out_ext(ui, data->unibi_ext.set_underline_style);
} }

View File

@@ -29,10 +29,10 @@ describe('API: highlight',function()
italic = true, italic = true,
reverse = true, reverse = true,
underline = true, underline = true,
underlineline = true,
undercurl = true, undercurl = true,
underdot = true, underdouble = true,
underdash = true, underdotted = true,
underdashed = true,
strikethrough = true, strikethrough = true,
} }
@@ -55,7 +55,7 @@ describe('API: highlight',function()
eq('Invalid highlight id: 30000', string.match(emsg, 'Invalid.*')) eq('Invalid highlight id: 30000', string.match(emsg, 'Invalid.*'))
-- Test all highlight properties. -- Test all highlight properties.
command('hi NewHighlight gui=underline,bold,underlineline,undercurl,underdot,underdash,italic,reverse,strikethrough') command('hi NewHighlight gui=underline,bold,undercurl,underdouble,underdotted,underdashed,italic,reverse,strikethrough')
eq(expected_rgb2, nvim("get_hl_by_id", hl_id, true)) eq(expected_rgb2, nvim("get_hl_by_id", hl_id, true))
-- Test nil argument. -- Test nil argument.
@@ -205,9 +205,9 @@ describe("API: set highlight", function()
reverse = true, reverse = true,
undercurl = true, undercurl = true,
underline = true, underline = true,
underdash = true, underdashed = true,
underdot = true, underdotted = true,
underlineline = true, underdouble = true,
strikethrough = true, strikethrough = true,
cterm = { cterm = {
italic = true, italic = true,
@@ -224,9 +224,9 @@ describe("API: set highlight", function()
reverse = true, reverse = true,
undercurl = true, undercurl = true,
underline = true, underline = true,
underdash = true, underdashed = true,
underdot = true, underdotted = true,
underlineline = true, underdouble = true,
strikethrough = true, strikethrough = true,
} }
local highlight3_result_cterm = { local highlight3_result_cterm = {
@@ -290,7 +290,7 @@ describe("API: set highlight", function()
exec_capture('highlight Test_hl')) exec_capture('highlight Test_hl'))
meths.set_hl(0, 'Test_hl2', highlight3_config) meths.set_hl(0, 'Test_hl2', highlight3_config)
eq('Test_hl2 xxx cterm=undercurl,italic,reverse,strikethrough ctermfg=8 ctermbg=15 gui=bold,underline,underlineline,undercurl,underdot,underdash,italic,reverse,strikethrough guifg=#ff0000 guibg=#0032aa', eq('Test_hl2 xxx cterm=undercurl,italic,reverse,strikethrough ctermfg=8 ctermbg=15 gui=bold,underline,undercurl,underdouble,underdotted,underdashed,italic,reverse,strikethrough guifg=#ff0000 guibg=#0032aa',
exec_capture('highlight Test_hl2')) exec_capture('highlight Test_hl2'))
-- Colors are stored with the name they are defined, but -- Colors are stored with the name they are defined, but

View File

@@ -306,7 +306,7 @@ describe('synIDattr()', function()
it('returns "1" if group has given highlight attribute', function() it('returns "1" if group has given highlight attribute', function()
local hl_attrs = { local hl_attrs = {
'underline', 'underlineline', 'undercurl', 'underdot', 'underdash', 'strikethrough' 'underline', 'undercurl', 'underdouble', 'underdotted', 'underdashed', 'strikethrough'
} }
for _,hl_attr in ipairs(hl_attrs) do for _,hl_attr in ipairs(hl_attrs) do
local context = 'using ' .. hl_attr .. ' attr' local context = 'using ' .. hl_attr .. ' attr'

View File

@@ -1579,9 +1579,9 @@ end
function Screen:_equal_attrs(a, b) function Screen:_equal_attrs(a, b)
return a.bold == b.bold and a.standout == b.standout and return a.bold == b.bold and a.standout == b.standout and
a.underline == b.underline and a.underlineline == b.underlineline and a.underline == b.underline and a.undercurl == b.undercurl and
a.undercurl == b.undercurl and a.underdot == b.underdot and a.underdouble == b.underdouble and a.underdotted == b.underdotted and
a.underdash == b.underdash and a.italic == b.italic and a.underdashed == b.underdashed and a.italic == b.italic and
a.reverse == b.reverse and a.foreground == b.foreground and a.reverse == b.reverse and a.foreground == b.foreground and
a.background == b.background and a.special == b.special and a.blend == b.blend and a.background == b.background and a.special == b.special and a.blend == b.blend and
a.strikethrough == b.strikethrough and a.strikethrough == b.strikethrough and