aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2016-05-21 01:25:15 -0400
committerJustin M. Keyes <justinkz@gmail.com>2016-05-21 01:25:15 -0400
commit34957f7ab96671b1dbea63e074254a97594c4734 (patch)
tree0bfe78ab12a4215371f75454e3e9d1be5c9842ad
parent8e20ba9fbd691955fa20bdba3dd5ff66d16f923c (diff)
parent582fb03f5149bca8f1f52dddbbd0c3e8b5276467 (diff)
downloadrneovim-34957f7ab96671b1dbea63e074254a97594c4734.tar.gz
rneovim-34957f7ab96671b1dbea63e074254a97594c4734.tar.bz2
rneovim-34957f7ab96671b1dbea63e074254a97594c4734.zip
Merge #4800 'syntax: foo=NONE should clear hi group'
-rw-r--r--src/nvim/syntax.c3
-rw-r--r--test/functional/ui/highlight_spec.lua41
2 files changed, 44 insertions, 0 deletions
diff --git a/src/nvim/syntax.c b/src/nvim/syntax.c
index 9a5484704e..1f9dbd8228 100644
--- a/src/nvim/syntax.c
+++ b/src/nvim/syntax.c
@@ -6972,6 +6972,9 @@ set_hl_attr (
|| at_en.rgb_sp_color != -1 || at_en.cterm_ae_attr != 0
|| at_en.rgb_ae_attr != 0) {
sgp->sg_attr = get_attr_entry(&at_en);
+ } else {
+ // If all the fields are cleared, clear the attr field back to default value
+ sgp->sg_attr = 0;
}
}
diff --git a/test/functional/ui/highlight_spec.lua b/test/functional/ui/highlight_spec.lua
index 0229b8bbf7..85fca4d7ca 100644
--- a/test/functional/ui/highlight_spec.lua
+++ b/test/functional/ui/highlight_spec.lua
@@ -302,6 +302,47 @@ describe('Default highlight groups', function()
{1:-- INSERT --} |
]], {[1] = {foreground = Screen.colors.Red, background = Screen.colors.Green}})
end)
+ it('can be cleared by assigning NONE', function()
+ execute('syn keyword TmpKeyword neovim')
+ execute('hi link TmpKeyword ErrorMsg')
+ insert('neovim')
+ screen:expect([[
+ {1:neovi^m} |
+ ~ |
+ ~ |
+ ~ |
+ ~ |
+ ~ |
+ ~ |
+ ~ |
+ ~ |
+ ~ |
+ ~ |
+ ~ |
+ ~ |
+ |
+ ]], {
+ [1] = {foreground = Screen.colors.White, background = Screen.colors.Red}
+ })
+ execute("hi ErrorMsg term=NONE cterm=NONE ctermfg=NONE ctermbg=NONE"
+ .. " gui=NONE guifg=NONE guibg=NONE guisp=NONE")
+ screen:expect([[
+ neovi^m |
+ ~ |
+ ~ |
+ ~ |
+ ~ |
+ ~ |
+ ~ |
+ ~ |
+ ~ |
+ ~ |
+ ~ |
+ ~ |
+ ~ |
+ |
+ ]], {})
+ end)
end)
describe('guisp (special/undercurl)', function()