neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

commit b7708eac24c22a96676176c68569d6859a9f793f
parent 4f1d75daf8f4873d995c7e1eb93e56a2b22d2046
Author: Null Chilly <56817415+nullchilly@users.noreply.github.com>
Date:   Mon, 22 May 2023 15:49:01 +0700

fix(api): nvim_get_hl should return default flag


Diffstat:
Msrc/nvim/highlight_group.c | 3+++
Mtest/functional/api/highlight_spec.lua | 5+++++
2 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/src/nvim/highlight_group.c b/src/nvim/highlight_group.c @@ -1548,6 +1548,9 @@ static bool hlgroup2dict(Dictionary *hl, NS ns_id, int hl_id, Arena *arena) 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); + if (attr.rgb_ae_attr & HL_DEFAULT) { + PUT_C(*hl, "default", BOOLEAN_OBJ(true)); + } if (link > 0) { PUT_C(*hl, "link", STRING_OBJ(cstr_as_string(hl_table[link - 1].sg_name))); } diff --git a/test/functional/api/highlight_spec.lua b/test/functional/api/highlight_spec.lua @@ -596,4 +596,9 @@ describe('API: get highlight', function() eq({}, data["@foobar.hubbabubba"]) eq(nil, data["@foobar"]) end) + + it('should return default flag', function() + meths.set_hl(0, 'Tried', { fg = "#00ff00", default = true }) + eq({ fg = tonumber('00ff00', 16), default = true }, meths.get_hl(0, { name = 'Tried' })) + end) end)