aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorThomas Vigouroux <tomvig38@gmail.com>2020-11-23 12:25:36 +0100
committerThomas Vigouroux <tomvig38@gmail.com>2020-11-25 10:10:05 +0100
commitc0a6989d93d35811411155e43f37b2fc4658719e (patch)
tree973e033815651f0630099bada4ebb16278d6c0ae /test
parent43ec616414c7f17585e8b4a7e34acaaedfff5121 (diff)
downloadrneovim-c0a6989d93d35811411155e43f37b2fc4658719e.tar.gz
rneovim-c0a6989d93d35811411155e43f37b2fc4658719e.tar.bz2
rneovim-c0a6989d93d35811411155e43f37b2fc4658719e.zip
feat(luahl): add priority mechanism
Base priority is 0x1000, in order to stay kinda backward compatible. Also set tree-sitter default highlight to 100 (middle-ish value)
Diffstat (limited to 'test')
-rw-r--r--test/functional/ui/bufhl_spec.lua60
1 files changed, 58 insertions, 2 deletions
diff --git a/test/functional/ui/bufhl_spec.lua b/test/functional/ui/bufhl_spec.lua
index d7269d2c29..af709cd521 100644
--- a/test/functional/ui/bufhl_spec.lua
+++ b/test/functional/ui/bufhl_spec.lua
@@ -534,6 +534,62 @@ describe('Buffer highlighting', function()
]]}
end)
+ it('respects priority', function()
+ local set_extmark = curbufmeths.set_extmark
+ local id = meths.create_namespace('')
+ insert [[foobar]]
+
+ set_extmark(id, 0, 0, {
+ end_line = 0,
+ end_col = 5,
+ hl_group = "Statement",
+ priority = 100
+ })
+ set_extmark(id, 0, 0, {
+ end_line = 0,
+ end_col = 6,
+ hl_group = "String",
+ priority = 1
+ })
+
+ screen:expect [[
+ {3:fooba}{2:^r} |
+ {1:~ }|
+ {1:~ }|
+ {1:~ }|
+ {1:~ }|
+ {1:~ }|
+ {1:~ }|
+ |
+ ]]
+
+ clear_namespace(id, 0, -1)
+
+ set_extmark(id, 0, 0, {
+ end_line = 0,
+ end_col = 6,
+ hl_group = "String",
+ priority = 1
+ })
+ set_extmark(id, 0, 0, {
+ end_line = 0,
+ end_col = 5,
+ hl_group = "Statement",
+ priority = 100
+ })
+
+ screen:expect [[
+ {3:fooba}{2:^r} |
+ {1:~ }|
+ {1:~ }|
+ {1:~ }|
+ {1:~ }|
+ {1:~ }|
+ {1:~ }|
+ |
+ ]]
+ end)
+
it('works with multibyte text', function()
insert([[
Ta båten över sjön!]])
@@ -699,12 +755,12 @@ describe('Buffer highlighting', function()
-- TODO: only a virtual text from the same ns curretly overrides
-- an existing virtual text. We might add a prioritation system.
set_virtual_text(id1, 0, s1, {})
- eq({{1, 0, 0, {virt_text = s1}}}, get_extmarks(id1, {0,0}, {0, -1}, {details=true}))
+ eq({{1, 0, 0, { priority = 0, virt_text = s1}}}, get_extmarks(id1, {0,0}, {0, -1}, {details=true}))
-- TODO: is this really valid? shouldn't the max be line_count()-1?
local lastline = line_count()
set_virtual_text(id1, line_count(), s2, {})
- eq({{3, lastline, 0, {virt_text = s2}}}, get_extmarks(id1, {lastline,0}, {lastline, -1}, {details=true}))
+ eq({{3, lastline, 0, { priority = 0, virt_text = s2}}}, get_extmarks(id1, {lastline,0}, {lastline, -1}, {details=true}))
eq({}, get_extmarks(id1, {lastline+9000,0}, {lastline+9000, -1}, {}))
end)