aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--runtime/doc/api.txt3
-rw-r--r--runtime/doc/news.txt2
-rw-r--r--runtime/doc/syntax.txt2
-rw-r--r--runtime/doc/vim_diff.txt1
-rw-r--r--runtime/lua/vim/_meta/api.lua2
-rw-r--r--src/nvim/api/win_config.c8
-rw-r--r--src/nvim/highlight_group.c1
7 files changed, 13 insertions, 6 deletions
diff --git a/runtime/doc/api.txt b/runtime/doc/api.txt
index 53d4282ec5..e68aafe051 100644
--- a/runtime/doc/api.txt
+++ b/runtime/doc/api.txt
@@ -479,6 +479,7 @@ to disable various visual features such as the 'number' column.
Other highlight groups specific to floating windows:
- |hl-FloatBorder| for window's border
- |hl-FloatTitle| for window's title
+- |hl-FloatFooter| for window's footer
Currently, floating windows don't support some widgets like scrollbar.
@@ -3146,7 +3147,7 @@ nvim_open_win({buffer}, {enter}, {*config}) *nvim_open_win()*
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"`.
diff --git a/runtime/doc/news.txt b/runtime/doc/news.txt
index c28ccb191e..4f9f362b1e 100644
--- a/runtime/doc/news.txt
+++ b/runtime/doc/news.txt
@@ -156,7 +156,7 @@ The following new APIs and features were added.
support fully MessagePack-RPC compliant clients.
• Floating windows can now show footer with new `footer` and `footer_pos`
- config fields.
+ config fields. Uses |hl-FloatFooter| by default.
==============================================================================
CHANGED FEATURES *news-changed*
diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt
index 59f8235ad2..6c0c542737 100644
--- a/runtime/doc/syntax.txt
+++ b/runtime/doc/syntax.txt
@@ -5273,6 +5273,8 @@ NormalFloat Normal text in floating windows.
FloatBorder Border of floating windows.
*hl-FloatTitle*
FloatTitle Title of floating windows.
+ *hl-FloatFooter*
+FloatFooter Footer of floating windows.
*hl-NormalNC*
NormalNC Normal text in non-current windows.
*hl-Pmenu*
diff --git a/runtime/doc/vim_diff.txt b/runtime/doc/vim_diff.txt
index 29a7c50585..ab5e795c16 100644
--- a/runtime/doc/vim_diff.txt
+++ b/runtime/doc/vim_diff.txt
@@ -258,6 +258,7 @@ Highlight groups:
|hl-NormalFloat| highlights floating window
|hl-FloatBorder| highlights border of a floating window
|hl-FloatTitle| highlights title of a floating window
+ |hl-FloatFooter| highlights footer of a floating window
|hl-NormalNC| highlights non-current windows
|hl-MsgArea| highlights messages/cmdline area
|hl-MsgSeparator| highlights separator for scrolled messages
diff --git a/runtime/lua/vim/_meta/api.lua b/runtime/lua/vim/_meta/api.lua
index 7704a60cf8..dd67fdb38b 100644
--- a/runtime/lua/vim/_meta/api.lua
+++ b/runtime/lua/vim/_meta/api.lua
@@ -1559,7 +1559,7 @@ function vim.api.nvim_open_term(buffer, opts) end
--- 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"`.
diff --git a/src/nvim/api/win_config.c b/src/nvim/api/win_config.c
index 325d0cbfa0..ac27554172 100644
--- a/src/nvim/api/win_config.c
+++ b/src/nvim/api/win_config.c
@@ -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;
diff --git a/src/nvim/highlight_group.c b/src/nvim/highlight_group.c
index 2b268ff2e1..c4d140d1e1 100644
--- a/src/nvim/highlight_group.c
+++ b/src/nvim/highlight_group.c
@@ -173,6 +173,7 @@ static const char *highlight_init_both[] = {
"default link NormalFloat Pmenu",
"default link FloatBorder WinSeparator",
"default link FloatTitle Title",
+ "default link FloatFooter Title",
"default FloatShadow blend=80 guibg=Black",
"default FloatShadowThrough blend=100 guibg=Black",
"RedrawDebugNormal cterm=reverse gui=reverse",