feat(highlight): add FloatFooter highlight group

Problem: No clear separation of floating title and footer highlighting.

Solution: Add new `FloatFooter` highlight group.
This commit is contained in:
Evgeni Chasnovski
2023-08-25 10:53:39 +03:00
parent 35570e4a11
commit 986bf7e78d
7 changed files with 13 additions and 6 deletions

View File

@@ -153,7 +153,7 @@
/// Default is `"left"`.
/// - footer: Footer (optional) in window border, string or list.
/// List should consist of `[text, highlight]` tuples.
/// If string, the default highlight group is `FloatTitle`.
/// If string, the default highlight group is `FloatFooter`.
/// - footer_pos: Footer position. Must be set with `footer` option.
/// Value can be one of "left", "center", or "right".
/// Default is `"left"`.
@@ -428,16 +428,19 @@ static void parse_bordertext(Object bordertext, BorderTextType bordertext_type,
bool *is_present;
VirtText *chunks;
int *width;
int default_hl_id;
switch (bordertext_type) {
case kBorderTextTitle:
is_present = &fconfig->title;
chunks = &fconfig->title_chunks;
width = &fconfig->title_width;
default_hl_id = syn_check_group(S_LEN("FloatTitle"));
break;
case kBorderTextFooter:
is_present = &fconfig->footer;
chunks = &fconfig->footer_chunks;
width = &fconfig->footer_width;
default_hl_id = syn_check_group(S_LEN("FloatFooter"));
break;
}
@@ -446,9 +449,8 @@ static void parse_bordertext(Object bordertext, BorderTextType bordertext_type,
*is_present = false;
return;
}
int hl_id = syn_check_group(S_LEN("FloatTitle"));
kv_push(*chunks, ((VirtTextChunk){ .text = xstrdup(bordertext.data.string.data),
.hl_id = hl_id }));
.hl_id = default_hl_id }));
*width = (int)mb_string2cells(bordertext.data.string.data);
*is_present = true;
return;