aboutsummaryrefslogtreecommitdiff
path: root/test/functional/ui/decorations_spec.lua
diff options
context:
space:
mode:
authorBjörn Linse <bjorn.linse@gmail.com>2020-11-08 11:36:47 +0100
committerBjörn Linse <bjorn.linse@gmail.com>2020-11-21 11:24:14 +0100
commita4986ab47f4561ca82581b1a5f7c21004b05cee9 (patch)
tree1e385debd9f2dd9b1389bf57498c64e9e3cd0e8f /test/functional/ui/decorations_spec.lua
parent480b04122e93826bdfc74fbeacab2d94b089420f (diff)
downloadrneovim-a4986ab47f4561ca82581b1a5f7c21004b05cee9.tar.gz
rneovim-a4986ab47f4561ca82581b1a5f7c21004b05cee9.tar.bz2
rneovim-a4986ab47f4561ca82581b1a5f7c21004b05cee9.zip
decorations: allow nvim_set_hl to break existing links
also add `default` flag to NOT break existing links/defs
Diffstat (limited to 'test/functional/ui/decorations_spec.lua')
-rw-r--r--test/functional/ui/decorations_spec.lua74
1 files changed, 74 insertions, 0 deletions
diff --git a/test/functional/ui/decorations_spec.lua b/test/functional/ui/decorations_spec.lua
index 4182090732..781fdf7203 100644
--- a/test/functional/ui/decorations_spec.lua
+++ b/test/functional/ui/decorations_spec.lua
@@ -27,6 +27,7 @@ describe('decorations providers', function()
[9] = {reverse = true};
[10] = {italic = true, background = Screen.colors.Magenta};
[11] = {foreground = Screen.colors.Red, background = tonumber('0x005028')};
+ [12] = {foreground = tonumber('0x990000')};
}
end)
@@ -227,4 +228,77 @@ describe('decorations providers', function()
]]}
end)
+
+ it('can break an existing link', function()
+ insert(mulholland)
+ local ns1 = setup_provider()
+
+ exec [[
+ highlight OriginalGroup guifg='#990000'
+ highlight link LinkGroup OriginalGroup
+ ]]
+
+ meths.buf_set_virtual_text(0, 0, 2, {{'- not red', 'LinkGroup'}}, {})
+ screen:expect{grid=[[
+ // just to see if there was an accident |
+ // on Mulholland Drive |
+ try_start(); {12:- not red} |
+ bufref_T save_buf; |
+ switch_buffer(&save_buf, buf); |
+ posp = getmark(mark, false); |
+ restore_buffer(&save_buf);^ |
+ |
+ ]]}
+
+ meths.set_hl(ns1, 'LinkGroup', {fg = 'Blue'})
+ meths.set_hl_ns(ns1)
+
+ screen:expect{grid=[[
+ // just to see if there was an accident |
+ // on Mulholland Drive |
+ try_start(); {4:- not red} |
+ bufref_T save_buf; |
+ switch_buffer(&save_buf, buf); |
+ posp = getmark(mark, false); |
+ restore_buffer(&save_buf);^ |
+ |
+ ]]}
+ end)
+
+ it("with 'default': do not break an existing link", function()
+ insert(mulholland)
+ local ns1 = setup_provider()
+
+ exec [[
+ highlight OriginalGroup guifg='#990000'
+ highlight link LinkGroup OriginalGroup
+ ]]
+
+ meths.buf_set_virtual_text(0, 0, 2, {{'- not red', 'LinkGroup'}}, {})
+ screen:expect{grid=[[
+ // just to see if there was an accident |
+ // on Mulholland Drive |
+ try_start(); {12:- not red} |
+ bufref_T save_buf; |
+ switch_buffer(&save_buf, buf); |
+ posp = getmark(mark, false); |
+ restore_buffer(&save_buf);^ |
+ |
+ ]]}
+
+ meths.set_hl(ns1, 'LinkGroup', {fg = 'Blue', default=true})
+ meths.set_hl_ns(ns1)
+ feed 'k'
+
+ screen:expect{grid=[[
+ // just to see if there was an accident |
+ // on Mulholland Drive |
+ try_start(); {12:- not red} |
+ bufref_T save_buf; |
+ switch_buffer(&save_buf, buf); |
+ posp = getmark(mark, false^); |
+ restore_buffer(&save_buf); |
+ |
+ ]]}
+ end)
end)