aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2023-04-08 16:57:47 +0800
committerGitHub <noreply@github.com>2023-04-08 16:57:47 +0800
commit4ce0ada0d4c8c57a181ab08717a3d052d46ae158 (patch)
treea6aa12dd2c189335fcccc624480cb7d2fa45ed27
parent72d5a13e55e94bdebfffab5f656f553bb76c7b10 (diff)
downloadrneovim-4ce0ada0d4c8c57a181ab08717a3d052d46ae158.tar.gz
rneovim-4ce0ada0d4c8c57a181ab08717a3d052d46ae158.tar.bz2
rneovim-4ce0ada0d4c8c57a181ab08717a3d052d46ae158.zip
fix(highlight): add missing g: prefix for colors_name (#22952)
Fix #22951. This was fixed in Vim in patch 8.2.0613.
-rw-r--r--src/nvim/highlight_group.c2
-rw-r--r--test/functional/ex_cmds/highlight_spec.lua19
2 files changed, 20 insertions, 1 deletions
diff --git a/src/nvim/highlight_group.c b/src/nvim/highlight_group.c
index d971110d9d..6493408a58 100644
--- a/src/nvim/highlight_group.c
+++ b/src/nvim/highlight_group.c
@@ -1003,7 +1003,7 @@ void do_highlight(const char *line, const bool forceit, const bool init)
// ":highlight clear [group]" command.
line = linep;
if (ends_excmd((uint8_t)(*line))) {
- do_unlet(S_LEN("colors_name"), true);
+ do_unlet(S_LEN("g:colors_name"), true);
restore_cterm_colors();
// Clear all default highlight groups and load the defaults.
diff --git a/test/functional/ex_cmds/highlight_spec.lua b/test/functional/ex_cmds/highlight_spec.lua
index 18f215cf75..45764e6719 100644
--- a/test/functional/ex_cmds/highlight_spec.lua
+++ b/test/functional/ex_cmds/highlight_spec.lua
@@ -3,6 +3,9 @@ local helpers = require("test.functional.helpers")(after_each)
local eq, command = helpers.eq, helpers.command
local clear = helpers.clear
local eval, exc_exec = helpers.eval, helpers.exc_exec
+local exec = helpers.exec
+local funcs = helpers.funcs
+local meths = helpers.meths
describe(':highlight', function()
local screen
@@ -45,4 +48,20 @@ describe(':highlight', function()
eq('', eval('synIDattr(hlID("NonText"), "undercurl", "gui")'))
eq('1', eval('synIDattr(hlID("NonText"), "underline", "gui")'))
end)
+
+ it('clear', function()
+ meths.set_var('colors_name', 'foo')
+ eq(1, funcs.exists('g:colors_name'))
+ command('hi clear')
+ eq(0, funcs.exists('g:colors_name'))
+ meths.set_var('colors_name', 'foo')
+ eq(1, funcs.exists('g:colors_name'))
+ exec([[
+ func HiClear()
+ hi clear
+ endfunc
+ ]])
+ funcs.HiClear()
+ eq(0, funcs.exists('g:colors_name'))
+ end)
end)