feat: get/set namespace properties #28728

ref https://github.com/neovim/neovim/pull/28432
ref https://github.com/neovim/neovim/issues/28469
This commit is contained in:
altermo
2024-06-07 17:33:40 +02:00
committed by GitHub
parent 2ce4a4d91e
commit f3632e14e3
18 changed files with 310 additions and 290 deletions

View File

@@ -89,7 +89,7 @@ void bufhl_add_hl_pos_offset(buf_T *buf, int src_id, int hl_id, lpos_T pos_start
extmark_set(buf, (uint32_t)src_id, NULL,
(int)lnum - 1, hl_start, (int)lnum - 1 + end_off, hl_end,
decor, MT_FLAG_DECOR_HL, true, false, true, false, false, NULL);
decor, MT_FLAG_DECOR_HL, true, false, true, false, NULL);
}
}
@@ -598,7 +598,7 @@ int decor_redraw_col(win_T *wp, int col, int win_col, bool hidden, DecorState *s
break;
}
if (!mt_scoped_in_win(mark, wp)) {
if (!ns_in_win(mark.ns, wp)) {
goto next_mark;
}
@@ -747,7 +747,7 @@ void decor_redraw_signs(win_T *wp, buf_T *buf, int row, SignTextAttrs sattrs[],
break;
}
if (!mt_end(mark) && !mt_invalid(mark) && mt_decor_sign(mark)
&& mt_scoped_in_win(mark, wp)) {
&& ns_in_win(mark.ns, wp)) {
DecorSignHighlight *sh = decor_find_sign(mt_decor(mark));
num_text += (sh->text[0] != NUL);
kv_push(signs, ((SignItem){ sh, mark.id }));
@@ -927,7 +927,7 @@ int decor_virt_lines(win_T *wp, linenr_T lnum, VirtLines *lines, TriState has_fo
while (true) {
MTKey mark = marktree_itr_current(itr);
DecorVirtText *vt = mt_decor_virt(mark);
if (mt_scoped_in_win(mark, wp)) {
if (ns_in_win(mark.ns, wp)) {
while (vt) {
if (vt->flags & kVTIsLines) {
bool above = vt->flags & kVTLinesAbove;