mirror of
https://github.com/neovim/neovim.git
synced 2025-10-07 18:36:30 +00:00
feat(extmarks): add "undo_restore" flag to opt out of undo-restoring
It is a design goal of extmarks that they allow precise tracking of changes across undo/redo, including restore the exact positions after a do/undo or undo/redo cycle. However this behavior is not useful for all usecases. Many plugins won't keep marks around for long after text changes, but uses them more like a cache until some external source (like LSP semantic highlights) has fully updated to changed text and then will explicitly readjust/replace extmarks as needed. Add a "undo_restore" flag which is true by default (matches existing behavior) but can be set to false to opt-out of this behavior. Delete dead u_extmark_set() code.
This commit is contained in:
@@ -2007,7 +2007,7 @@ void marktree_put_test(MarkTree *b, uint32_t ns, uint32_t id, int row, int col,
|
||||
int end_row, int end_col, bool end_right)
|
||||
{
|
||||
MTKey key = { { row, col }, ns, id, 0,
|
||||
mt_flags(right_gravity, 0), 0, NULL };
|
||||
mt_flags(right_gravity, 0, false), 0, NULL };
|
||||
marktree_put(b, key, end_row, end_col, end_right);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user