mirror of
https://github.com/neovim/neovim.git
synced 2026-05-05 05:25:10 +00:00
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.
This commit is contained in:
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
2
runtime/lua/vim/_meta/api.lua
generated
2
runtime/lua/vim/_meta/api.lua
generated
@@ -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.
|
||||
|
||||
1
runtime/lua/vim/_meta/api_keysets.lua
generated
1
runtime/lua/vim/_meta/api_keysets.lua
generated
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user