From 35570e4a11bef061777d741929f74fa66ba3f45a Mon Sep 17 00:00:00 2001 From: Evgeni Chasnovski Date: Fri, 25 Aug 2023 10:53:35 +0300 Subject: feat(float): implement footer Problem: Now way to show text at the bottom part of floating window border (a.k.a. "footer"). Solution: Allows `footer` and `footer_pos` config fields similar to `title` and `title_pos`. --- runtime/doc/api.txt | 17 ++++++++++++----- runtime/doc/news.txt | 3 +++ 2 files changed, 15 insertions(+), 5 deletions(-) (limited to 'runtime/doc') diff --git a/runtime/doc/api.txt b/runtime/doc/api.txt index 343c63f4b0..53d4282ec5 100644 --- a/runtime/doc/api.txt +++ b/runtime/doc/api.txt @@ -3138,11 +3138,18 @@ nvim_open_win({buffer}, {enter}, {*config}) *nvim_open_win()* specified by character: [ ["+", "MyCorner"], ["x", "MyBorder"] ]. - • title: Title (optional) in window border, String or list. - List is [text, highlight] tuples. if is string the default - highlight group is `FloatTitle`. - • title_pos: Title position must set with title option. - value can be of `left` `center` `right` default is left. + • title: Title (optional) in window border, string or list. + List should consist of `[text, highlight]` tuples. If + string, the default highlight group is `FloatTitle`. + • title_pos: Title position. Must be set with `title` + option. Value can be one of "left", "center", or "right". + 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`. + • footer_pos: Footer position. Must be set with `footer` + option. Value can be one of "left", "center", or "right". + Default is `"left"`. • noautocmd: If true then no buffer-related autocommand events such as |BufEnter|, |BufLeave| or |BufWinEnter| may fire from calling this function. diff --git a/runtime/doc/news.txt b/runtime/doc/news.txt index 56bdd07171..c28ccb191e 100644 --- a/runtime/doc/news.txt +++ b/runtime/doc/news.txt @@ -155,6 +155,9 @@ The following new APIs and features were added. • New RPC client type `msgpack-rpc` is added for `nvim_set_client_info` to support fully MessagePack-RPC compliant clients. +• Floating windows can now show footer with new `footer` and `footer_pos` + config fields. + ============================================================================== CHANGED FEATURES *news-changed* -- cgit From 986bf7e78d09286e198b696630254eb097ad0875 Mon Sep 17 00:00:00 2001 From: Evgeni Chasnovski Date: Fri, 25 Aug 2023 10:53:39 +0300 Subject: feat(highlight): add `FloatFooter` highlight group Problem: No clear separation of floating title and footer highlighting. Solution: Add new `FloatFooter` highlight group. --- runtime/doc/api.txt | 3 ++- runtime/doc/news.txt | 2 +- runtime/doc/syntax.txt | 2 ++ runtime/doc/vim_diff.txt | 1 + 4 files changed, 6 insertions(+), 2 deletions(-) (limited to 'runtime/doc') 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 -- cgit