aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua/vim
diff options
context:
space:
mode:
authorgeorgev93 <39860568+georgev93@users.noreply.github.com>2025-01-24 22:57:45 -0500
committerGitHub <noreply@github.com>2025-01-24 19:57:45 -0800
commit931ee5591fa764a769946318e05062098baf7c21 (patch)
tree82dd7f486cc47d1e7a2d44d204ab12f967a5e0da /runtime/lua/vim
parentc6d2cbf8f51abfa0c9d244ef384a15b0b69e16c6 (diff)
downloadrneovim-931ee5591fa764a769946318e05062098baf7c21.tar.gz
rneovim-931ee5591fa764a769946318e05062098baf7c21.tar.bz2
rneovim-931ee5591fa764a769946318e05062098baf7c21.zip
feat(extmarks): virtual text can be right-aligned, truncated #31921
Problem: Right aligned virtual text can cover up buffer text if virtual text is too long Solution: An additional option for `virt_text_pos` called `eol_right_align` has been added to truncate virtual text if it would have otherwise covered up buffer text. This ensures the virtual text extends no further left than EOL.
Diffstat (limited to 'runtime/lua/vim')
-rw-r--r--runtime/lua/vim/_meta/api.lua9
-rw-r--r--runtime/lua/vim/diagnostic.lua2
2 files changed, 10 insertions, 1 deletions
diff --git a/runtime/lua/vim/_meta/api.lua b/runtime/lua/vim/_meta/api.lua
index 6d9a17ea2b..50fb7e4f9d 100644
--- a/runtime/lua/vim/_meta/api.lua
+++ b/runtime/lua/vim/_meta/api.lua
@@ -589,6 +589,15 @@ function vim.api.nvim_buf_line_count(buffer) end
--- (highest priority last).
--- - virt_text_pos : position of virtual text. Possible values:
--- - "eol": right after eol character (default).
+--- - "eol_right_align": display right aligned in the window
+--- unless the virtual text is longer than
+--- the space available. If the virtual
+--- text is too long, it is truncated to
+--- fit in the window after the EOL
+--- character. If the line is wrapped, the
+--- virtual text is shown after the end of
+--- the line rather than the previous
+--- screen line.
--- - "overlay": display over the specified column, without
--- shifting the underlying text.
--- - "right_align": display right aligned in the window.
diff --git a/runtime/lua/vim/diagnostic.lua b/runtime/lua/vim/diagnostic.lua
index ead75f7d51..04118999cf 100644
--- a/runtime/lua/vim/diagnostic.lua
+++ b/runtime/lua/vim/diagnostic.lua
@@ -220,7 +220,7 @@ end
--- @field virt_text? [string,any][]
---
--- See |nvim_buf_set_extmark()|.
---- @field virt_text_pos? 'eol'|'overlay'|'right_align'|'inline'
+--- @field virt_text_pos? 'eol'|'eol_right_align'|'inline'|'overlay'|'right_align'
---
--- See |nvim_buf_set_extmark()|.
--- @field virt_text_win_col? integer