aboutsummaryrefslogtreecommitdiff
path: root/scripts/luacats_grammar.lua
diff options
context:
space:
mode:
authorWill Hopkins <willothyh@gmail.com>2024-06-01 00:18:59 -0700
committerLewis Russell <me@lewisr.dev>2024-06-11 16:36:29 +0100
commite947f226bebef1310af39ce3d93d7bb87e85d757 (patch)
tree482f979769ef21af1e57bd0f4f5c67525adb9c7d /scripts/luacats_grammar.lua
parentc06f3dbe3ee82bd8c9e5d8625b225a937a9e5e9e (diff)
downloadrneovim-e947f226bebef1310af39ce3d93d7bb87e85d757.tar.gz
rneovim-e947f226bebef1310af39ce3d93d7bb87e85d757.tar.bz2
rneovim-e947f226bebef1310af39ce3d93d7bb87e85d757.zip
fix(types): use vararg return type annotation
build(types): allow vararg returns in function types
Diffstat (limited to 'scripts/luacats_grammar.lua')
-rw-r--r--scripts/luacats_grammar.lua3
1 files changed, 2 insertions, 1 deletions
diff --git a/scripts/luacats_grammar.lua b/scripts/luacats_grammar.lua
index 9360eb9417..ebb0183fd9 100644
--- a/scripts/luacats_grammar.lua
+++ b/scripts/luacats_grammar.lua
@@ -178,7 +178,8 @@ local grammar = P {
table_elem = v.table_key * colon * v.ltype,
ty_table = Pf('{') * comma1(v.table_elem) * fill * P('}'),
fun_param = lname * opt(colon * v.ltype),
- ty_fun = Pf('fun') * paren(comma(lname * opt(colon * v.ltype))) * opt(colon * comma1(v.ltype)),
+ fun_ret = v.ltype + (ident * colon * v.ltype) + (P('...') * opt(colon * v.ltype)),
+ ty_fun = Pf('fun') * paren(comma(lname * opt(colon * v.ltype))) * opt(colon * comma1(v.fun_ret)),
ty_generic = P('`') * letter * P('`'),
ty_tuple = Pf('[') * comma(v.ltype) * fill * P(']'),
}