CM KCL: add named args to fn calls (#5303)
* CM KCL: add named args to fn calls * A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-ubuntu-8-cores) * Rename to match other code --------- Co-authored-by: Matt Mundell <matt@mundell.me> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
This commit is contained in:
85
packages/codemirror-lang-kcl/test/call.txt
Normal file
85
packages/codemirror-lang-kcl/test/call.txt
Normal file
@ -0,0 +1,85 @@
|
||||
# empty
|
||||
|
||||
f()
|
||||
|
||||
==>
|
||||
Program(ExpressionStatement(CallExpression(VariableName,
|
||||
ArgumentList)))
|
||||
|
||||
# single anon arg
|
||||
|
||||
f(1)
|
||||
|
||||
==>
|
||||
Program(ExpressionStatement(CallExpression(VariableName,
|
||||
ArgumentList(Number))))
|
||||
|
||||
# deprecated multiple anon args
|
||||
|
||||
f(1, 2)
|
||||
|
||||
==>
|
||||
Program(ExpressionStatement(CallExpression(VariableName,
|
||||
ArgumentList(Number,
|
||||
Number))))
|
||||
|
||||
# deprecated trailing %
|
||||
|
||||
startSketchOn('XY')
|
||||
|> line([thickness, 0], %)
|
||||
|
||||
==>
|
||||
Program(ExpressionStatement(PipeExpression(CallExpression(VariableName,
|
||||
ArgumentList(String)),
|
||||
PipeOperator,
|
||||
CallExpression(VariableName,
|
||||
ArgumentList(ArrayExpression(VariableName,
|
||||
Number),
|
||||
PipeSubstitution)))))
|
||||
|
||||
# % and named arg
|
||||
|
||||
startSketchOn('XY')
|
||||
|> line(%, end = [thickness, 0])
|
||||
|
||||
==>
|
||||
Program(ExpressionStatement(PipeExpression(CallExpression(VariableName,
|
||||
ArgumentList(String)),
|
||||
PipeOperator,
|
||||
CallExpression(VariableName,
|
||||
ArgumentList(PipeSubstitution,
|
||||
LabeledArgument(ArgumentLabel,
|
||||
Equals,
|
||||
ArrayExpression(VariableName,
|
||||
Number)))))))
|
||||
|
||||
# implied % and named arg
|
||||
|
||||
startSketchOn('XY')
|
||||
|> line(end = [thickness, 0])
|
||||
|
||||
==>
|
||||
Program(ExpressionStatement(PipeExpression(CallExpression(VariableName,
|
||||
ArgumentList(String)),
|
||||
PipeOperator,
|
||||
CallExpression(VariableName,
|
||||
ArgumentList(LabeledArgument(ArgumentLabel,
|
||||
Equals,
|
||||
ArrayExpression(VariableName,
|
||||
Number)))))))
|
||||
|
||||
# multiple named arg
|
||||
|
||||
ngon(plane = "XY", numSides = 5, radius = pentR)
|
||||
|
||||
==>
|
||||
Program(ExpressionStatement(CallExpression(VariableName,
|
||||
ArgumentList(LabeledArgument(ArgumentLabel,
|
||||
Equals,
|
||||
String),
|
||||
LabeledArgument(ArgumentLabel,
|
||||
Equals,
|
||||
Number),
|
||||
LabeledArgument(ArgumentLabel,
|
||||
Equals,
|
||||
VariableName)))))
|
Reference in New Issue
Block a user