diff options
author | Luuk van Baal <luukvbaal@gmail.com> | 2023-11-11 00:52:50 +0100 |
---|---|---|
committer | Luuk van Baal <luukvbaal@gmail.com> | 2023-11-17 15:10:15 +0100 |
commit | c4afb9788c4f139eb2e3b7aa4d6a6a20b67ba156 (patch) | |
tree | abc3a6da1906ea61f40aaacf3bdb813c27e19d64 /src/nvim/extmark.h | |
parent | ba58c6f8a44c9c37e97fce1d802dc5b5defceb3d (diff) | |
download | rneovim-c4afb9788c4f139eb2e3b7aa4d6a6a20b67ba156.tar.gz rneovim-c4afb9788c4f139eb2e3b7aa4d6a6a20b67ba156.tar.bz2 rneovim-c4afb9788c4f139eb2e3b7aa4d6a6a20b67ba156.zip |
refactor(sign): move legacy signs to extmarks
Problem: The legacy signlist data structures and associated functions are
redundant since the introduction of extmark signs.
Solution: Store signs defined through the legacy commands in a hashmap, placed
signs in the extmark tree. Replace signlist associated functions.
Usage of the legacy sign commands should yield no change in behavior with the
exception of:
- "orphaned signs" are now always removed when the line it is placed on is
deleted. This used to depend on the value of 'signcolumn'.
- It is no longer possible to place multiple signs with the same identifier
in a single group on multiple lines. This will now move the sign instead.
Moreover, both signs placed through the legacy sign commands and through
|nvim_buf_set_extmark()|:
- Will show up in both |sign-place| and |nvim_buf_get_extmarks()|.
- Are displayed by increasing sign identifier, left to right.
Extmark signs used to be ordered decreasingly as opposed to legacy signs.
Diffstat (limited to 'src/nvim/extmark.h')
-rw-r--r-- | src/nvim/extmark.h | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/nvim/extmark.h b/src/nvim/extmark.h index 771edf3983..b4979c4aea 100644 --- a/src/nvim/extmark.h +++ b/src/nvim/extmark.h @@ -84,9 +84,10 @@ typedef enum { typedef enum { kExtmarkNone = 0x1, kExtmarkSign = 0x2, - kExtmarkVirtText = 0x4, - kExtmarkVirtLines = 0x8, - kExtmarkHighlight = 0x10, + kExtmarkSignHL = 0x4, + kExtmarkVirtText = 0x8, + kExtmarkVirtLines = 0x10, + kExtmarkHighlight = 0x20, } ExtmarkType; // TODO(bfredl): reduce the number of undo action types |