aboutsummaryrefslogtreecommitdiff
path: root/test/functional/treesitter/language_spec.lua
diff options
context:
space:
mode:
authorChristian Clason <c.clason@uni-graz.at>2024-09-15 14:19:08 +0200
committerChristian Clason <c.clason@uni-graz.at>2024-09-29 15:27:16 +0200
commit99e0facf3a001608287ec6db69b01c77443c7b9d (patch)
tree2416eb7ab7dbac974fa095536add9fe18dd0a25c /test/functional/treesitter/language_spec.lua
parent041d98fe8d892a81ed659c32be5360d4f80e7d18 (diff)
downloadrneovim-99e0facf3a001608287ec6db69b01c77443c7b9d.tar.gz
rneovim-99e0facf3a001608287ec6db69b01c77443c7b9d.tar.bz2
rneovim-99e0facf3a001608287ec6db69b01c77443c7b9d.zip
feat(treesitter)!: use return values in `language.add()`
Problem: No clear way to check whether parsers are available for a given language. Solution: Make `language.add()` return `true` if a parser was successfully added and `nil` otherwise. Use explicit `assert` instead of relying on thrown errors.
Diffstat (limited to 'test/functional/treesitter/language_spec.lua')
-rw-r--r--test/functional/treesitter/language_spec.lua14
1 files changed, 3 insertions, 11 deletions
diff --git a/test/functional/treesitter/language_spec.lua b/test/functional/treesitter/language_spec.lua
index 3947ab23b2..e1e34fcecc 100644
--- a/test/functional/treesitter/language_spec.lua
+++ b/test/functional/treesitter/language_spec.lua
@@ -31,29 +31,21 @@ describe('treesitter language API', function()
)
)
- eq(false, exec_lua("return pcall(vim.treesitter.language.add, 'borklang')"))
+ eq(NIL, exec_lua("return vim.treesitter.language.add('borklang')"))
eq(
false,
exec_lua("return pcall(vim.treesitter.language.add, 'borklang', { path = 'borkbork.so' })")
)
- eq(
- ".../language.lua:0: no parser for 'borklang' language, see :help treesitter-parsers",
- pcall_err(exec_lua, "parser = vim.treesitter.language.inspect('borklang')")
- )
-
matches(
'Failed to load parser: uv_dlsym: .+',
pcall_err(exec_lua, 'vim.treesitter.language.add("c", { symbol_name = "borklang" })')
)
end)
- it('shows error for invalid language name', function()
- eq(
- ".../language.lua:0: '/foo/' is not a valid language name",
- pcall_err(exec_lua, 'vim.treesitter.language.add("/foo/")')
- )
+ it('does not load parser for invalid language name', function()
+ eq(NIL, exec_lua('vim.treesitter.language.add("/foo/")'))
end)
it('inspects language', function()