aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/decoration.c
diff options
context:
space:
mode:
authorbfredl <bjorn.linse@gmail.com>2023-05-22 14:16:42 +0200
committerGitHub <noreply@github.com>2023-05-22 14:16:42 +0200
commit07883940b2294e0ab32fb58e6624d18d9dd1715a (patch)
tree2ce3b16ad7b6e96a4141a8502a3c667071ebf814 /src/nvim/decoration.c
parentcb34d0ddd086141d6afcb9c48eae180abbeffecc (diff)
parent6eeb28845a930fbfe128dc3edc7969b0d9b2ed1c (diff)
downloadrneovim-07883940b2294e0ab32fb58e6624d18d9dd1715a.tar.gz
rneovim-07883940b2294e0ab32fb58e6624d18d9dd1715a.tar.bz2
rneovim-07883940b2294e0ab32fb58e6624d18d9dd1715a.zip
Merge pull request #20130 from bfredl/inline
feat(ui): inline virtual text
Diffstat (limited to 'src/nvim/decoration.c')
-rw-r--r--src/nvim/decoration.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/nvim/decoration.c b/src/nvim/decoration.c
index 87e4441f32..ce1af290c1 100644
--- a/src/nvim/decoration.c
+++ b/src/nvim/decoration.c
@@ -83,6 +83,9 @@ void decor_redraw(buf_T *buf, int row1, int row2, Decoration *decor)
if (decor && decor_virt_pos(*decor)) {
redraw_buf_line_later(buf, row1 + 1, false);
+ if (decor->virt_text_pos == kVTInline) {
+ changed_line_display_buf(buf);
+ }
}
if (decor && kv_size(decor->virt_lines)) {
@@ -95,6 +98,10 @@ void decor_remove(buf_T *buf, int row, int row2, Decoration *decor)
{
decor_redraw(buf, row, row2, decor);
if (decor) {
+ if (kv_size(decor->virt_text) && decor->virt_text_pos == kVTInline) {
+ assert(buf->b_virt_text_inline > 0);
+ buf->b_virt_text_inline--;
+ }
if (kv_size(decor->virt_lines)) {
assert(buf->b_virt_line_blocks > 0);
buf->b_virt_line_blocks--;