aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/marktree.c
diff options
context:
space:
mode:
authorBjörn Linse <bjorn.linse@gmail.com>2021-11-01 23:50:19 +0100
committerGitHub <noreply@github.com>2021-11-01 23:50:19 +0100
commit29cec32f44db358b0dfcd560d2ba8228b9d9de39 (patch)
tree0e3edc2c677273a56a2f98d437f954c381dbde0a /src/nvim/marktree.c
parentb8eabb37b1d4e267a4db7e639e8cbdec2ed64b8e (diff)
parent995dbd2ca6c112dc745f226690a99d79b9dc51c9 (diff)
downloadrneovim-29cec32f44db358b0dfcd560d2ba8228b9d9de39.tar.gz
rneovim-29cec32f44db358b0dfcd560d2ba8228b9d9de39.tar.bz2
rneovim-29cec32f44db358b0dfcd560d2ba8228b9d9de39.zip
Merge pull request #16203 from bfredl/revision
fix(extmark): fix missing virt_lines when using id param of set_extmark
Diffstat (limited to 'src/nvim/marktree.c')
-rw-r--r--src/nvim/marktree.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/nvim/marktree.c b/src/nvim/marktree.c
index a7f540c748..38014ab375 100644
--- a/src/nvim/marktree.c
+++ b/src/nvim/marktree.c
@@ -570,11 +570,11 @@ void marktree_free_node(mtnode_t *x)
}
/// NB: caller must check not pair!
-uint64_t marktree_revise(MarkTree *b, MarkTreeIter *itr)
+uint64_t marktree_revise(MarkTree *b, MarkTreeIter *itr, uint8_t decor_level)
{
uint64_t old_id = rawkey(itr).id;
pmap_del(uint64_t)(b->id2node, ANTIGRAVITY(old_id));
- uint64_t new_id = (b->next_id += ID_INCR);
+ uint64_t new_id = (b->next_id += ID_INCR) + ((uint64_t)decor_level << DECOR_OFFSET);
rawkey(itr).id = new_id + (RIGHT_GRAVITY&old_id);
refkey(b, itr->node, itr->i);
return new_id;