aboutsummaryrefslogtreecommitdiff
path: root/test/functional/api/highlight_spec.lua
diff options
context:
space:
mode:
authorChristian Clason <c.clason@uni-graz.at>2022-02-17 14:56:03 +0100
committerChristian Clason <c.clason@uni-graz.at>2022-02-17 18:07:11 +0100
commite35a2d86fc2a8ed19aef00af9f35991385e833f1 (patch)
tree4a57eb61d3af92791f89428422f3f55623077bda /test/functional/api/highlight_spec.lua
parentf4e24f1eabfac439ac09d9646582f682c02cfe3f (diff)
downloadrneovim-e35a2d86fc2a8ed19aef00af9f35991385e833f1.tar.gz
rneovim-e35a2d86fc2a8ed19aef00af9f35991385e833f1.tar.bz2
rneovim-e35a2d86fc2a8ed19aef00af9f35991385e833f1.zip
fix(api): allow empty list for cterm in nvim_set_hl
Problem: when accessing `nvim_set_hl` from Lua, empty tables are converted to empty lists, not dictionaries, resulting in an error for :lua vim.api.nvim_set_hl(0, "Comment", { cterm = {} }) Workaround: add an empty array as a special case when checking `dict->cterm.type` and just set `cterm_mask_provided`. (Proper solution: handle this in `gen_api_dispatch.lua`.)
Diffstat (limited to 'test/functional/api/highlight_spec.lua')
-rw-r--r--test/functional/api/highlight_spec.lua6
1 files changed, 6 insertions, 0 deletions
diff --git a/test/functional/api/highlight_spec.lua b/test/functional/api/highlight_spec.lua
index 416945f379..03b407f4e0 100644
--- a/test/functional/api/highlight_spec.lua
+++ b/test/functional/api/highlight_spec.lua
@@ -242,6 +242,12 @@ describe("API: set highlight", function()
eq(highlight2_result, meths.get_hl_by_name('Test_hl', false))
end)
+ it ("can set emtpy cterm attr", function()
+ local ns = get_ns()
+ meths.set_hl(ns, 'Test_hl', { cterm = {} })
+ eq({}, meths.get_hl_by_name('Test_hl', false))
+ end)
+
it ("cterm attr defaults to gui attr", function()
local ns = get_ns()
meths.set_hl(ns, 'Test_hl', highlight1)