aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIlia Choly <ilia.choly@gmail.com>2024-05-30 13:11:21 -0400
committerLewis Russell <me@lewisr.dev>2024-05-31 15:00:17 +0100
commitd87ecfc8bc3c737e2e7f766d365e67dd08c3b600 (patch)
tree0be036ddd85219bbb59ce950029dbd4dec4e12a8
parent6566a59b3a6c8dabfa40f8debd0de96d875825e9 (diff)
downloadrneovim-d87ecfc8bc3c737e2e7f766d365e67dd08c3b600.tar.gz
rneovim-d87ecfc8bc3c737e2e7f766d365e67dd08c3b600.tar.bz2
rneovim-d87ecfc8bc3c737e2e7f766d365e67dd08c3b600.zip
docs(luacats): add tuple support
-rw-r--r--scripts/luacats_grammar.lua3
-rw-r--r--test/functional/script/luacats_grammar_spec.lua7
2 files changed, 9 insertions, 1 deletions
diff --git a/scripts/luacats_grammar.lua b/scripts/luacats_grammar.lua
index 29f3bda5aa..906f66c18a 100644
--- a/scripts/luacats_grammar.lua
+++ b/scripts/luacats_grammar.lua
@@ -170,7 +170,7 @@ local grammar = P {
ltype = parenOpt(v.ty_union),
ty_union = v.ty_opt * rep(Pf('|') * v.ty_opt),
- ty = v.ty_fun + ident + v.ty_table + literal + paren(v.ty) + v.ty_generic,
+ ty = v.ty_fun + ident + v.ty_table + literal + paren(v.ty) + v.ty_generic + v.ty_tuple,
ty_param = Pf('<') * comma1(v.ltype) * fill * P('>'),
ty_opt = v.ty * opt(v.ty_param) * opt(P('[]')) * opt(P('?')),
ty_index = (Pf('[') * (v.ltype + ident + rep1(num)) * fill * P(']')),
@@ -180,6 +180,7 @@ local grammar = P {
fun_param = lname * opt(colon * v.ltype),
ty_fun = Pf('fun') * paren(comma(lname * opt(colon * v.ltype))) * opt(colon * comma1(v.ltype)),
ty_generic = P('`') * letter * P('`'),
+ ty_tuple = Pf('[') * comma(v.ty_opt) * fill * P(']')
}
return grammar --[[@as nvim.luacats.grammar]]
diff --git a/test/functional/script/luacats_grammar_spec.lua b/test/functional/script/luacats_grammar_spec.lua
index 6d444e1888..d6fff3f409 100644
--- a/test/functional/script/luacats_grammar_spec.lua
+++ b/test/functional/script/luacats_grammar_spec.lua
@@ -159,4 +159,11 @@ describe('luacats grammar', function()
name = 'type',
type = '`T`',
})
+
+ test('@param type [number,string] this is a tuple type', {
+ desc = 'this is a tuple type',
+ kind = 'param',
+ name = 'type',
+ type = '[number,string]',
+ })
end)