diff options
| author | luukvbaal <luukvbaal@gmail.com> | 2023-12-26 00:16:03 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-12-26 07:16:03 +0800 |
| commit | bbd5c6363c25e8fbbfb962f8f6c5ea1800d431ca (patch) | |
| tree | 85ba9d46cbe0d01a432f4bfb5f9ce475c0ee383f /runtime | |
| parent | 0a598c13b1863ba1aff378027c4376e3ab7048ee (diff) | |
| download | rneovim-bbd5c6363c25e8fbbfb962f8f6c5ea1800d431ca.tar.gz rneovim-bbd5c6363c25e8fbbfb962f8f6c5ea1800d431ca.tar.bz2 rneovim-bbd5c6363c25e8fbbfb962f8f6c5ea1800d431ca.zip | |
feat(extmarks): add virt_text_repeat_linebreak flag (#26625)
Problem: Unable to predict which byte-offset to place virtual text to
make it repeat visually in the wrapped part of a line.
Solution: Add a flag to nvim_buf_set_extmark() that causes virtual
text to repeat in wrapped lines.
Diffstat (limited to 'runtime')
| -rw-r--r-- | runtime/doc/api.txt | 2 | ||||
| -rw-r--r-- | runtime/doc/news.txt | 9 | ||||
| -rw-r--r-- | runtime/lua/vim/_meta/api.lua | 2 | ||||
| -rw-r--r-- | runtime/lua/vim/_meta/api_keysets.lua | 1 |
4 files changed, 9 insertions, 5 deletions
diff --git a/runtime/doc/api.txt b/runtime/doc/api.txt index 7cb6051020..6a69bf7b41 100644 --- a/runtime/doc/api.txt +++ b/runtime/doc/api.txt @@ -2696,6 +2696,8 @@ nvim_buf_set_extmark({buffer}, {ns_id}, {line}, {col}, {*opts}) text is selected or hidden because of scrolling with 'nowrap' or 'smoothscroll'. Currently only affects "overlay" virt_text. + • virt_text_repeat_linebreak : repeat the virtual text on + wrapped lines. • hl_mode : control how highlights are combined with the highlights of the text. Currently only affects virt_text highlights, but might affect `hl_group` in later versions. diff --git a/runtime/doc/news.txt b/runtime/doc/news.txt index 454c9becc5..bc3902bc4c 100644 --- a/runtime/doc/news.txt +++ b/runtime/doc/news.txt @@ -339,11 +339,10 @@ The following changes to existing APIs or features add new behavior. In addition, |nvim_buf_get_extmarks()| has gained an "overlap" option to return such ranges even if they started before the specified position. -• Extmarks can opt-out of precise undo tracking using the new "undo_restore" - flag to |nvim_buf_set_extmark()| - -• Extmarks can be automatically hidden or removed using the new "invalidate" - flag to |nvim_buf_set_extmark()| +• The following flags were added to |nvim_buf_set_extmark()|: + - "undo_restore": opt-out extmarks of precise undo tracking. + - "invalidate": automatically hide or delete extmarks. + - "virt_text_repeat_linebreak": repeat virtual text on wrapped lines. • LSP hover and signature help now use Treesitter for highlighting of Markdown content. diff --git a/runtime/lua/vim/_meta/api.lua b/runtime/lua/vim/_meta/api.lua index c8c3e1c3af..ba18a16488 100644 --- a/runtime/lua/vim/_meta/api.lua +++ b/runtime/lua/vim/_meta/api.lua @@ -519,6 +519,8 @@ function vim.api.nvim_buf_line_count(buffer) end --- text is selected or hidden because of scrolling with --- 'nowrap' or 'smoothscroll'. Currently only affects --- "overlay" virt_text. +--- • virt_text_repeat_linebreak : repeat the virtual text on +--- wrapped lines. --- • hl_mode : control how highlights are combined with the --- highlights of the text. Currently only affects virt_text --- highlights, but might affect `hl_group` in later versions. diff --git a/runtime/lua/vim/_meta/api_keysets.lua b/runtime/lua/vim/_meta/api_keysets.lua index 4ec8b03d30..bb1031b2fa 100644 --- a/runtime/lua/vim/_meta/api_keysets.lua +++ b/runtime/lua/vim/_meta/api_keysets.lua @@ -251,6 +251,7 @@ error('Cannot require a meta file') --- @field virt_text_pos? string --- @field virt_text_win_col? integer --- @field virt_text_hide? boolean +--- @field virt_text_repeat_linebreak? boolean --- @field hl_eol? boolean --- @field hl_mode? string --- @field invalidate? boolean |