aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Clason <c.clason@uni-graz.at>2022-02-12 11:25:01 +0100
committerChristian Clason <c.clason@uni-graz.at>2022-02-12 12:05:41 +0100
commitcb18545253259af339957316ab8361fb0cca48e5 (patch)
tree2a5c9dd03b933a7218df5150082d632c03c43d08
parentf6485e9446ed6a59accc86724d05981d5ff8f976 (diff)
downloadrneovim-cb18545253259af339957316ab8361fb0cca48e5.tar.gz
rneovim-cb18545253259af339957316ab8361fb0cca48e5.tar.bz2
rneovim-cb18545253259af339957316ab8361fb0cca48e5.zip
feat(api): add strikethrough, nocombine to set_hl
-rw-r--r--src/nvim/api/keysets.lua4
-rw-r--r--src/nvim/highlight.c4
-rw-r--r--test/functional/api/highlight_spec.lua6
3 files changed, 13 insertions, 1 deletions
diff --git a/src/nvim/api/keysets.lua b/src/nvim/api/keysets.lua
index 075e2c48d2..f6dce1905e 100644
--- a/src/nvim/api/keysets.lua
+++ b/src/nvim/api/keysets.lua
@@ -81,10 +81,12 @@ return {
highlight = {
"bold";
"standout";
+ "strikethrough";
"underline";
"undercurl";
"italic";
"reverse";
+ "nocombine";
"default";
"global";
"cterm";
@@ -100,10 +102,12 @@ return {
highlight_cterm = {
"bold";
"standout";
+ "strikethrough";
"underline";
"undercurl";
"italic";
"reverse";
+ "nocombine";
};
}
diff --git a/src/nvim/highlight.c b/src/nvim/highlight.c
index 87c090e594..fcd91cdf16 100644
--- a/src/nvim/highlight.c
+++ b/src/nvim/highlight.c
@@ -815,6 +815,8 @@ HlAttrs dict2hlattrs(Dict(highlight) *dict, bool use_rgb, int *link_id, Error *e
CHECK_FLAG(dict, mask, undercurl, , HL_UNDERCURL);
CHECK_FLAG(dict, mask, italic, , HL_ITALIC);
CHECK_FLAG(dict, mask, reverse, , HL_INVERSE);
+ CHECK_FLAG(dict, mask, strikethrough, , HL_STRIKETHROUGH);
+ CHECK_FLAG(dict, mask, nocombine, , HL_NOCOMBINE);
CHECK_FLAG(dict, mask, default, _, HL_DEFAULT);
CHECK_FLAG(dict, mask, global, , HL_GLOBAL);
@@ -871,6 +873,8 @@ HlAttrs dict2hlattrs(Dict(highlight) *dict, bool use_rgb, int *link_id, Error *e
CHECK_FLAG(cterm, cterm_mask, undercurl, , HL_UNDERCURL);
CHECK_FLAG(cterm, cterm_mask, italic, , HL_ITALIC);
CHECK_FLAG(cterm, cterm_mask, reverse, , HL_INVERSE);
+ CHECK_FLAG(cterm, cterm_mask, strikethrough, , HL_STRIKETHROUGH);
+ CHECK_FLAG(cterm, cterm_mask, nocombine, , HL_NOCOMBINE);
} else if (HAS_KEY(dict->cterm)) {
api_set_error(err, kErrorTypeValidation, "'cterm' must be a Dictionary.");
diff --git a/test/functional/api/highlight_spec.lua b/test/functional/api/highlight_spec.lua
index a74da6073a..46a3798dc4 100644
--- a/test/functional/api/highlight_spec.lua
+++ b/test/functional/api/highlight_spec.lua
@@ -195,10 +195,12 @@ describe("API: set highlight", function()
reverse = true,
undercurl = true,
underline = true,
+ strikethrough = true,
cterm = {
italic = true,
reverse = true,
undercurl = true,
+ strikethrough = true,
}
}
local highlight3_result_gui = {
@@ -209,6 +211,7 @@ describe("API: set highlight", function()
reverse = true,
undercurl = true,
underline = true,
+ strikethrough = true,
}
local highlight3_result_cterm = {
background = highlight_color.ctermbg,
@@ -216,6 +219,7 @@ describe("API: set highlight", function()
italic = true,
reverse = true,
undercurl = true,
+ strikethrough = true,
}
local function get_ns()
@@ -264,7 +268,7 @@ describe("API: set highlight", function()
exec_capture('highlight Test_hl'))
meths.set_hl(0, 'Test_hl2', highlight3_config)
- eq('Test_hl2 xxx cterm=undercurl,italic,reverse ctermfg=8 ctermbg=15 gui=bold,underline,undercurl,italic,reverse guifg=#ff0000 guibg=#0032aa',
+ eq('Test_hl2 xxx cterm=undercurl,italic,reverse,strikethrough ctermfg=8 ctermbg=15 gui=bold,underline,undercurl,italic,reverse,strikethrough guifg=#ff0000 guibg=#0032aa',
exec_capture('highlight Test_hl2'))
-- Colors are stored exactly as they are defined.