diff options
author | Evgeni Chasnovski <evgeni.chasnovski@gmail.com> | 2023-08-25 10:53:35 +0300 |
---|---|---|
committer | Evgeni Chasnovski <evgeni.chasnovski@gmail.com> | 2023-08-26 19:37:43 +0300 |
commit | 35570e4a11bef061777d741929f74fa66ba3f45a (patch) | |
tree | ef0a8587fa7f7cb30ca8241dae5b2d2cb6d72fc3 /runtime | |
parent | 617fd5bdc6ab9a82bfc6136f549fc31dcf442ed7 (diff) | |
download | rneovim-35570e4a11bef061777d741929f74fa66ba3f45a.tar.gz rneovim-35570e4a11bef061777d741929f74fa66ba3f45a.tar.bz2 rneovim-35570e4a11bef061777d741929f74fa66ba3f45a.zip |
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`.
Diffstat (limited to 'runtime')
-rw-r--r-- | runtime/doc/api.txt | 17 | ||||
-rw-r--r-- | runtime/doc/news.txt | 3 | ||||
-rw-r--r-- | runtime/lua/vim/_meta/api.lua | 17 | ||||
-rw-r--r-- | runtime/lua/vim/_meta/api_keysets.lua | 2 |
4 files changed, 29 insertions, 10 deletions
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* diff --git a/runtime/lua/vim/_meta/api.lua b/runtime/lua/vim/_meta/api.lua index fdf5016b68..7704a60cf8 100644 --- a/runtime/lua/vim/_meta/api.lua +++ b/runtime/lua/vim/_meta/api.lua @@ -1551,11 +1551,18 @@ function vim.api.nvim_open_term(buffer, opts) end --- 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/lua/vim/_meta/api_keysets.lua b/runtime/lua/vim/_meta/api_keysets.lua index 941780202e..08c29ebe7a 100644 --- a/runtime/lua/vim/_meta/api_keysets.lua +++ b/runtime/lua/vim/_meta/api_keysets.lua @@ -108,6 +108,8 @@ error('Cannot require a meta file') --- @field border? any --- @field title? any --- @field title_pos? string +--- @field footer? any +--- @field footer_pos? string --- @field style? string --- @field noautocmd? boolean |