aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/extmark.c
diff options
context:
space:
mode:
authorLewis Russell <lewis6991@gmail.com>2022-01-03 12:22:13 +0000
committerLewis Russell <lewis6991@gmail.com>2022-03-05 16:51:59 +0000
commit30e4cc3b3f2133e9a7170da9da8175832681f39a (patch)
tree76cca17f4b3389246743afc5febaeb11deeb20b1 /src/nvim/extmark.c
parent83fc914337100d03f2e41a3943ccf0107d893698 (diff)
downloadrneovim-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.c7
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);
}