mirror of
https://github.com/neovim/neovim.git
synced 2025-12-16 03:15:39 +00:00
feat(treesitter): improve query error message
This commit is contained in:
committed by
Lewis Russell
parent
4afd33e69f
commit
845d5b8b64
@@ -1055,4 +1055,44 @@ int x = INT_MAX;
|
||||
]])
|
||||
end)
|
||||
|
||||
it('fails to load queries', function()
|
||||
local function test(exp, cquery)
|
||||
eq(exp, pcall_err(exec_lua, "vim.treesitter.query.parse('c', ...)", cquery))
|
||||
end
|
||||
|
||||
-- Invalid node type
|
||||
test(
|
||||
'.../query.lua:0: Query error at 1:2. Invalid node type "dentifier":\n'..
|
||||
'(dentifier) @variable\n'..
|
||||
' ^',
|
||||
'(dentifier) @variable')
|
||||
|
||||
-- Impossible pattern
|
||||
test(
|
||||
'.../query.lua:0: Query error at 1:13. Impossible pattern:\n'..
|
||||
'(identifier (identifier) @variable)\n'..
|
||||
' ^',
|
||||
'(identifier (identifier) @variable)')
|
||||
|
||||
-- Invalid syntax
|
||||
test(
|
||||
'.../query.lua:0: Query error at 1:13. Invalid syntax:\n'..
|
||||
'(identifier @variable\n'..
|
||||
' ^',
|
||||
'(identifier @variable')
|
||||
|
||||
-- Invalid field name
|
||||
test(
|
||||
'.../query.lua:0: Query error at 1:15. Invalid field name "invalid_field":\n'..
|
||||
'((identifier) invalid_field: (identifier))\n'..
|
||||
' ^',
|
||||
'((identifier) invalid_field: (identifier))')
|
||||
|
||||
-- Invalid capture name
|
||||
test(
|
||||
'.../query.lua:0: Query error at 1:30. Invalid capture name "ok.capture":\n'..
|
||||
'((identifier) @id (#eq? @id @ok.capture))\n'..
|
||||
' ^',
|
||||
'((identifier) @id (#eq? @id @ok.capture))')
|
||||
end)
|
||||
end)
|
||||
|
||||
Reference in New Issue
Block a user