diff --git a/src/nvim/decoration.c b/src/nvim/decoration.c index 7cce6b3ad175fea49ffbc213af7c86eb074b4a4f..5224a07fd9bc84cbbc5f3041f7a24306b105a38a 100644 --- a/src/nvim/decoration.c +++ b/src/nvim/decoration.c @@ -975,19 +975,19 @@ void decor_to_dict_legacy(Dictionary *dict, DecorInline decor, bool hl_name) if (sh_hl.hl_id) { PUT(*dict, "hl_group", hl_group_name(sh_hl.hl_id, hl_name)); PUT(*dict, "hl_eol", BOOLEAN_OBJ(sh_hl.flags & kSHHlEol)); - if (sh_hl.flags & kSHConceal) { - char buf[MAX_SCHAR_SIZE]; - schar_get(buf, sh_hl.text[0]); - PUT(*dict, "conceal", CSTR_TO_OBJ(buf)); - } + priority = sh_hl.priority; + } - if (sh_hl.flags & kSHSpellOn) { - PUT(*dict, "spell", BOOLEAN_OBJ(true)); - } else if (sh_hl.flags & kSHSpellOff) { - PUT(*dict, "spell", BOOLEAN_OBJ(false)); - } + if (sh_hl.flags & kSHConceal) { + char buf[MAX_SCHAR_SIZE]; + schar_get(buf, sh_hl.text[0]); + PUT(*dict, "conceal", CSTR_TO_OBJ(buf)); + } - priority = sh_hl.priority; + if (sh_hl.flags & kSHSpellOn) { + PUT(*dict, "spell", BOOLEAN_OBJ(true)); + } else if (sh_hl.flags & kSHSpellOff) { + PUT(*dict, "spell", BOOLEAN_OBJ(false)); } if (sh_hl.flags & kSHUIWatched) { diff --git a/test/functional/api/extmark_spec.lua b/test/functional/api/extmark_spec.lua index 19ad26fa861b1d80239789e7aaa0fc82aa829cb4..cb16f49e7cd77d6c01d43989d3fdd6f5ba7b25e7 100644 --- a/test/functional/api/extmark_spec.lua +++ b/test/functional/api/extmark_spec.lua @@ -1639,6 +1639,40 @@ describe('API/extmarks', function() right_gravity = true, }, }, get_extmark_by_id(ns, marks[3], { details = true })) + set_extmark(ns, marks[4], 0, 0, { + end_col = 1, + conceal = 'a', + spell = true, + }) + eq({ + 0, + 0, + { + conceal = 'a', + end_col = 1, + end_right_gravity = false, + end_row = 0, + ns_id = 1, + right_gravity = true, + spell = true, + }, + }, get_extmark_by_id(ns, marks[4], { details = true })) + set_extmark(ns, marks[5], 0, 0, { + end_col = 1, + spell = false, + }) + eq({ + 0, + 0, + { + end_col = 1, + end_right_gravity = false, + end_row = 0, + ns_id = 1, + right_gravity = true, + spell = false, + }, + }, get_extmark_by_id(ns, marks[5], { details = true })) api.nvim_buf_clear_namespace(0, ns, 0, -1) -- legacy sign mark includes sign name command('sign define sign1 text=s1 texthl=Title linehl=LineNR numhl=Normal culhl=CursorLine')