fix(api): make nvim_get_hl not return non-existing groups

fixes #23063
This commit is contained in:
bfredl
2023-04-13 14:08:36 +02:00
parent 231e1988ed
commit d05d63a18f
2 changed files with 25 additions and 0 deletions

View File

@@ -1530,6 +1530,10 @@ static bool hlgroup2dict(Dictionary *hl, NS ns_id, int hl_id, Arena *arena)
if (link == -1) {
return false;
}
if (ns_id == 0 && sgp->sg_cleared && sgp->sg_set == 0) {
// table entry was created but not ever set
return false;
}
HlAttrs attr =
syn_attr2entry(ns_id == 0 ? sgp->sg_attr : ns_get_hl(&ns_id, hl_id, false, sgp->sg_set));
*hl = arena_dict(arena, HLATTRS_DICT_SIZE + 1);