diff options
author | Lewis Russell <lewis6991@gmail.com> | 2024-03-17 18:02:40 +0000 |
---|---|---|
committer | Lewis Russell <me@lewisr.dev> | 2024-03-17 20:37:15 +0000 |
commit | 3b29b39e6deb212456eba691bc79b17edaa8717b (patch) | |
tree | 749b52c8824f25298624528a498f277c47d25991 /test/functional/treesitter/highlight_spec.lua | |
parent | 77a9f3395bd1e7184f4d735c01e50285e30477ab (diff) | |
download | rneovim-3b29b39e6deb212456eba691bc79b17edaa8717b.tar.gz rneovim-3b29b39e6deb212456eba691bc79b17edaa8717b.tar.bz2 rneovim-3b29b39e6deb212456eba691bc79b17edaa8717b.zip |
fix(treesitter): revert to using iter_captures in highlighter
Fixes #27895
Diffstat (limited to 'test/functional/treesitter/highlight_spec.lua')
-rw-r--r-- | test/functional/treesitter/highlight_spec.lua | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/test/functional/treesitter/highlight_spec.lua b/test/functional/treesitter/highlight_spec.lua index 8b405615e0..09a02ebfcb 100644 --- a/test/functional/treesitter/highlight_spec.lua +++ b/test/functional/treesitter/highlight_spec.lua @@ -762,6 +762,32 @@ describe('treesitter highlighting (C)', function() ]], } end) + + it('gives higher priority to more specific captures #27895', function() + insert([[ + void foo(int *bar); + ]]) + + local query = [[ + "*" @operator + + (parameter_declaration + declarator: (pointer_declarator) @variable.parameter) + ]] + + exec_lua([[ + local query = ... + vim.treesitter.query.set('c', 'highlights', query) + vim.treesitter.highlighter.new(vim.treesitter.get_parser(0, 'c')) + ]], query) + + screen:expect{grid=[[ + void foo(int {4:*}{11:bar}); | + ^ | + {1:~ }|*15 + | + ]]} + end) end) describe('treesitter highlighting (lua)', function() |