diff options
author | Lewis Russell <lewis6991@gmail.com> | 2022-01-03 12:22:13 +0000 |
---|---|---|
committer | Lewis Russell <lewis6991@gmail.com> | 2022-03-05 16:51:59 +0000 |
commit | 30e4cc3b3f2133e9a7170da9da8175832681f39a (patch) | |
tree | 76cca17f4b3389246743afc5febaeb11deeb20b1 /src/nvim/extmark.c | |
parent | 83fc914337100d03f2e41a3943ccf0107d893698 (diff) | |
download | rneovim-30e4cc3b3f2133e9a7170da9da8175832681f39a.tar.gz rneovim-30e4cc3b3f2133e9a7170da9da8175832681f39a.tar.bz2 rneovim-30e4cc3b3f2133e9a7170da9da8175832681f39a.zip |
feat(decorations): support signs
Add the following options to extmarks:
- sign_text
- sign_hl_group
- number_hl_group
- line_hl_group
- cursorline_hl_group
Note: ranges are unsupported and decorations are only applied to
start_row
Diffstat (limited to 'src/nvim/extmark.c')
-rw-r--r-- | src/nvim/extmark.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/nvim/extmark.c b/src/nvim/extmark.c index 48e57e20e1..e1f1ed7d13 100644 --- a/src/nvim/extmark.c +++ b/src/nvim/extmark.c @@ -67,7 +67,9 @@ void extmark_set(buf_T *buf, uint32_t ns_id, uint32_t *idp, int row, colnr_T col uint8_t decor_level = kDecorLevelNone; // no decor if (decor) { - if (kv_size(decor->virt_text) || kv_size(decor->virt_lines)) { + if (kv_size(decor->virt_text) + || kv_size(decor->virt_lines) + || decor_has_sign(decor)) { decor_full = true; decor = xmemdup(decor, sizeof *decor); } @@ -142,6 +144,9 @@ revised: if (kv_size(decor->virt_lines)) { buf->b_virt_line_blocks++; } + if (decor_has_sign(decor)) { + buf->b_signs++; + } decor_redraw(buf, row, end_row > -1 ? end_row : row, decor); } |