neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

commit d87ecfc8bc3c737e2e7f766d365e67dd08c3b600
parent 6566a59b3a6c8dabfa40f8debd0de96d875825e9
Author: Ilia Choly <ilia.choly@gmail.com>
Date:   Thu, 30 May 2024 13:11:21 -0400

docs(luacats): add tuple support

Diffstat:
Mscripts/luacats_grammar.lua | 3++-
Mtest/functional/script/luacats_grammar_spec.lua | 7+++++++
2 files changed, 9 insertions(+), 1 deletion(-)

diff --git 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 @@ -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)