Remove start sketch at (#5586)

* remove start sketch at

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* fixes

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* fixes

Signed-off-by: Jess Frazelle <github@jessfraz.com>

---------

Signed-off-by: Jess Frazelle <github@jessfraz.com>
This commit is contained in:
Jess Frazelle
2025-03-01 16:32:46 -08:00
committed by GitHub
parent c3bdc6f106
commit 66f3500ca9
84 changed files with 5416 additions and 7913 deletions

View File

@ -2979,7 +2979,8 @@ comment */
let test_program = r#"
/* comment at start */
mySk1 = startSketchAt([0, 0])"#;
mySk1 = startSketchOn(XY)
|> startProfileAt([0, 0], %)"#;
let tokens = crate::parsing::token::lex(test_program, ModuleId::default()).unwrap();
let program = program.parse(tokens.as_slice()).unwrap();
let mut starting_comments = program.inner.non_code_meta.start_nodes;
@ -3571,7 +3572,8 @@ mySk1 = startSketchAt([0, 0])"#;
#[test]
fn pipes_on_pipes_minimal() {
let test_program = r#"startSketchAt([0, 0])
let test_program = r#"startSketchOn(XY)
|> startProfileAt([0, 0], %)
|> line(endAbsolute = [0, -0]) // MoveRelative
"#;
@ -4704,7 +4706,8 @@ mod snapshot_tests {
snapshot_test!(
a,
r#"boxSketch = startSketchAt([0, 0])
r#"boxSketch = startSketchOn(XY)
|> startProfileAt([0, 0], %)
|> line([0, 10], %)
|> tangentialArc([-5, 5], %)
|> line([5, -15], %)
@ -4770,8 +4773,12 @@ mod snapshot_tests {
snapshot_test!(v, r#"pt1 = b1[0]"#);
snapshot_test!(w, r#"pt1 = b1['zero']"#);
snapshot_test!(x, r#"pt1 = b1.zero"#);
snapshot_test!(y, "sg = startSketchAt(pos)");
snapshot_test!(z, "sg = startSketchAt(pos) |> line([0, -scale], %)");
snapshot_test!(y, r#"sg = startSketchOn(XY) |> startProfileAt(pos, %)"#);
snapshot_test!(
z,
"sg = startSketchOn(XY)
|> startProfileAt(pos) |> line([0, -scale], %)"
);
snapshot_test!(aa, r#"sg = -scale"#);
snapshot_test!(ab, "line(endAbsolute = [0, -1])");
snapshot_test!(ac, "myArray = [0..10]");
@ -4792,7 +4799,8 @@ mod snapshot_tests {
);
snapshot_test!(
af,
r#"mySketch = startSketchAt([0,0])
r#"mySketch = startSketchOn(XY)
|> startProfileAt([0,0], %)
|> line(endAbsolute = [0, 1], tag = $myPath)
|> line(endAbsolute = [1, 1])
|> line(endAbsolute = [1, 0], tag = $rightPath)
@ -4800,13 +4808,16 @@ mod snapshot_tests {
);
snapshot_test!(
ag,
"mySketch = startSketchAt([0,0]) |> line(endAbsolute = [1, 1]) |> close()"
"mySketch = startSketchOn(XY) |> startProfileAt([0,0], %) |> line(endAbsolute = [1, 1]) |> close()"
);
snapshot_test!(ah, "myBox = startSketchAt(p)");
snapshot_test!(ah, "myBox = startSketchOn(XY) |> startProfileAt(p, %)");
snapshot_test!(ai, r#"myBox = f(1) |> g(2, %)"#);
snapshot_test!(aj, r#"myBox = startSketchAt(p) |> line(end = [0, l])"#);
snapshot_test!(
aj,
r#"myBox = startSketchOn(XY) |> startProfileAt(p, %) |> line(end = [0, l])"#
);
snapshot_test!(ak, "line(endAbsolute = [0, 1])");
snapshot_test!(ap, "mySketch = startSketchAt([0,0])");
snapshot_test!(ap, "mySketch = startSketchOn(XY) |> startProfileAt([0,0], %)");
snapshot_test!(aq, "log(5, \"hello\", aIdentifier)");
snapshot_test!(ar, r#"5 + "a""#);
snapshot_test!(at, "line([0, l], %)");

View File

@ -1,12 +1,12 @@
---
source: kcl/src/parsing/parser.rs
source: kcl-lib/src/parsing/parser.rs
expression: actual
---
{
"body": [
{
"declaration": {
"end": 141,
"end": 170,
"id": {
"end": 9,
"name": "boxSketch",
@ -18,43 +18,20 @@ expression: actual
{
"arguments": [
{
"elements": [
{
"end": 28,
"raw": "0",
"start": 27,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
"end": 31,
"raw": "0",
"start": 30,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
}
],
"end": 32,
"end": 28,
"name": "XY",
"start": 26,
"type": "ArrayExpression",
"type": "ArrayExpression"
"type": "Identifier",
"type": "Identifier"
}
],
"callee": {
"end": 25,
"name": "startSketchAt",
"name": "startSketchOn",
"start": 12,
"type": "Identifier"
},
"end": 33,
"end": 29,
"start": 12,
"type": "CallExpression",
"type": "CallExpression"
@ -64,9 +41,9 @@ expression: actual
{
"elements": [
{
"end": 48,
"end": 54,
"raw": "0",
"start": 47,
"start": 53,
"type": "Literal",
"type": "Literal",
"value": {
@ -75,9 +52,59 @@ expression: actual
}
},
{
"end": 52,
"end": 57,
"raw": "0",
"start": 56,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
}
],
"end": 58,
"start": 52,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"end": 61,
"start": 60,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"end": 51,
"name": "startProfileAt",
"start": 37,
"type": "Identifier"
},
"end": 62,
"start": 37,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"elements": [
{
"end": 77,
"raw": "0",
"start": 76,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
"end": 81,
"raw": "10",
"start": 50,
"start": 79,
"type": "Literal",
"type": "Literal",
"value": {
@ -86,26 +113,26 @@ expression: actual
}
}
],
"end": 53,
"start": 46,
"end": 82,
"start": 75,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"end": 56,
"start": 55,
"end": 85,
"start": 84,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"end": 45,
"end": 74,
"name": "line",
"start": 41,
"start": 70,
"type": "Identifier"
},
"end": 57,
"start": 41,
"end": 86,
"start": 70,
"type": "CallExpression",
"type": "CallExpression"
},
@ -115,9 +142,9 @@ expression: actual
"elements": [
{
"argument": {
"end": 82,
"end": 111,
"raw": "5",
"start": 81,
"start": 110,
"type": "Literal",
"type": "Literal",
"value": {
@ -125,16 +152,16 @@ expression: actual
"suffix": "None"
}
},
"end": 82,
"end": 111,
"operator": "-",
"start": 80,
"start": 109,
"type": "UnaryExpression",
"type": "UnaryExpression"
},
{
"end": 85,
"end": 114,
"raw": "5",
"start": 84,
"start": 113,
"type": "Literal",
"type": "Literal",
"value": {
@ -143,26 +170,26 @@ expression: actual
}
}
],
"end": 86,
"start": 79,
"end": 115,
"start": 108,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"end": 89,
"start": 88,
"end": 118,
"start": 117,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"end": 78,
"end": 107,
"name": "tangentialArc",
"start": 65,
"start": 94,
"type": "Identifier"
},
"end": 90,
"start": 65,
"end": 119,
"start": 94,
"type": "CallExpression",
"type": "CallExpression"
},
@ -171,9 +198,9 @@ expression: actual
{
"elements": [
{
"end": 105,
"end": 134,
"raw": "5",
"start": 104,
"start": 133,
"type": "Literal",
"type": "Literal",
"value": {
@ -183,9 +210,9 @@ expression: actual
},
{
"argument": {
"end": 110,
"end": 139,
"raw": "15",
"start": 108,
"start": 137,
"type": "Literal",
"type": "Literal",
"value": {
@ -193,33 +220,33 @@ expression: actual
"suffix": "None"
}
},
"end": 110,
"end": 139,
"operator": "-",
"start": 107,
"start": 136,
"type": "UnaryExpression",
"type": "UnaryExpression"
}
],
"end": 111,
"start": 103,
"end": 140,
"start": 132,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"end": 114,
"start": 113,
"end": 143,
"start": 142,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"end": 102,
"end": 131,
"name": "line",
"start": 98,
"start": 127,
"type": "Identifier"
},
"end": 115,
"start": 98,
"end": 144,
"start": 127,
"type": "CallExpression",
"type": "CallExpression"
},
@ -232,9 +259,9 @@ expression: actual
"name": "length"
},
"arg": {
"end": 140,
"end": 169,
"raw": "10",
"start": 138,
"start": 167,
"type": "Literal",
"type": "Literal",
"value": {
@ -245,19 +272,19 @@ expression: actual
}
],
"callee": {
"end": 130,
"end": 159,
"name": "extrude",
"start": 123,
"start": 152,
"type": "Identifier"
},
"end": 141,
"start": 123,
"end": 170,
"start": 152,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
}
],
"end": 141,
"end": 170,
"start": 12,
"type": "PipeExpression",
"type": "PipeExpression"
@ -265,13 +292,13 @@ expression: actual
"start": 0,
"type": "VariableDeclarator"
},
"end": 141,
"end": 170,
"kind": "const",
"start": 0,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
}
],
"end": 142,
"end": 171,
"start": 0
}

View File

@ -1,12 +1,12 @@
---
source: kcl/src/parsing/parser.rs
source: kcl-lib/src/parsing/parser.rs
expression: actual
---
{
"body": [
{
"declaration": {
"end": 197,
"end": 230,
"id": {
"end": 8,
"name": "mySketch",
@ -15,14 +15,35 @@ expression: actual
},
"init": {
"body": [
{
"arguments": [
{
"end": 27,
"name": "XY",
"start": 25,
"type": "Identifier",
"type": "Identifier"
}
],
"callee": {
"end": 24,
"name": "startSketchOn",
"start": 11,
"type": "Identifier"
},
"end": 28,
"start": 11,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"elements": [
{
"end": 27,
"end": 57,
"raw": "0",
"start": 26,
"start": 56,
"type": "Literal",
"type": "Literal",
"value": {
@ -31,9 +52,9 @@ expression: actual
}
},
{
"end": 29,
"end": 59,
"raw": "0",
"start": 28,
"start": 58,
"type": "Literal",
"type": "Literal",
"value": {
@ -42,20 +63,26 @@ expression: actual
}
}
],
"end": 30,
"start": 25,
"end": 60,
"start": 55,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"end": 63,
"start": 62,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"end": 24,
"name": "startSketchAt",
"start": 11,
"end": 54,
"name": "startProfileAt",
"start": 40,
"type": "Identifier"
},
"end": 31,
"start": 11,
"end": 64,
"start": 40,
"type": "CallExpression",
"type": "CallExpression"
},
@ -70,9 +97,9 @@ expression: actual
"arg": {
"elements": [
{
"end": 64,
"end": 97,
"raw": "0",
"start": 63,
"start": 96,
"type": "Literal",
"type": "Literal",
"value": {
@ -81,9 +108,9 @@ expression: actual
}
},
{
"end": 67,
"end": 100,
"raw": "1",
"start": 66,
"start": 99,
"type": "Literal",
"type": "Literal",
"value": {
@ -92,8 +119,8 @@ expression: actual
}
}
],
"end": 68,
"start": 62,
"end": 101,
"start": 95,
"type": "ArrayExpression",
"type": "ArrayExpression"
}
@ -105,8 +132,8 @@ expression: actual
"name": "tag"
},
"arg": {
"end": 83,
"start": 76,
"end": 116,
"start": 109,
"type": "TagDeclarator",
"type": "TagDeclarator",
"value": "myPath"
@ -114,13 +141,13 @@ expression: actual
}
],
"callee": {
"end": 47,
"end": 80,
"name": "line",
"start": 43,
"start": 76,
"type": "Identifier"
},
"end": 84,
"start": 43,
"end": 117,
"start": 76,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
@ -136,9 +163,9 @@ expression: actual
"arg": {
"elements": [
{
"end": 117,
"end": 150,
"raw": "1",
"start": 116,
"start": 149,
"type": "Literal",
"type": "Literal",
"value": {
@ -147,9 +174,9 @@ expression: actual
}
},
{
"end": 120,
"end": 153,
"raw": "1",
"start": 119,
"start": 152,
"type": "Literal",
"type": "Literal",
"value": {
@ -158,21 +185,21 @@ expression: actual
}
}
],
"end": 121,
"start": 115,
"end": 154,
"start": 148,
"type": "ArrayExpression",
"type": "ArrayExpression"
}
}
],
"callee": {
"end": 100,
"end": 133,
"name": "line",
"start": 96,
"start": 129,
"type": "Identifier"
},
"end": 122,
"start": 96,
"end": 155,
"start": 129,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
@ -188,9 +215,9 @@ expression: actual
"arg": {
"elements": [
{
"end": 155,
"end": 188,
"raw": "1",
"start": 154,
"start": 187,
"type": "Literal",
"type": "Literal",
"value": {
@ -199,9 +226,9 @@ expression: actual
}
},
{
"end": 158,
"end": 191,
"raw": "0",
"start": 157,
"start": 190,
"type": "Literal",
"type": "Literal",
"value": {
@ -210,8 +237,8 @@ expression: actual
}
}
],
"end": 159,
"start": 153,
"end": 192,
"start": 186,
"type": "ArrayExpression",
"type": "ArrayExpression"
}
@ -223,8 +250,8 @@ expression: actual
"name": "tag"
},
"arg": {
"end": 177,
"start": 167,
"end": 210,
"start": 200,
"type": "TagDeclarator",
"type": "TagDeclarator",
"value": "rightPath"
@ -232,13 +259,13 @@ expression: actual
}
],
"callee": {
"end": 138,
"end": 171,
"name": "line",
"start": 134,
"start": 167,
"type": "Identifier"
},
"end": 178,
"start": 134,
"end": 211,
"start": 167,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
@ -246,18 +273,18 @@ expression: actual
{
"arguments": [],
"callee": {
"end": 195,
"end": 228,
"name": "close",
"start": 190,
"start": 223,
"type": "Identifier"
},
"end": 197,
"start": 190,
"end": 230,
"start": 223,
"type": "CallExpression",
"type": "CallExpression"
}
],
"end": 197,
"end": 230,
"start": 11,
"type": "PipeExpression",
"type": "PipeExpression"
@ -265,13 +292,13 @@ expression: actual
"start": 0,
"type": "VariableDeclarator"
},
"end": 197,
"end": 230,
"kind": "const",
"start": 0,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
}
],
"end": 197,
"end": 230,
"start": 0
}

View File

@ -1,12 +1,12 @@
---
source: kcl/src/parsing/parser.rs
source: kcl-lib/src/parsing/parser.rs
expression: actual
---
{
"body": [
{
"declaration": {
"end": 72,
"end": 97,
"id": {
"end": 8,
"name": "mySketch",
@ -15,14 +15,35 @@ expression: actual
},
"init": {
"body": [
{
"arguments": [
{
"end": 27,
"name": "XY",
"start": 25,
"type": "Identifier",
"type": "Identifier"
}
],
"callee": {
"end": 24,
"name": "startSketchOn",
"start": 11,
"type": "Identifier"
},
"end": 28,
"start": 11,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"elements": [
{
"end": 27,
"end": 49,
"raw": "0",
"start": 26,
"start": 48,
"type": "Literal",
"type": "Literal",
"value": {
@ -31,9 +52,9 @@ expression: actual
}
},
{
"end": 29,
"end": 51,
"raw": "0",
"start": 28,
"start": 50,
"type": "Literal",
"type": "Literal",
"value": {
@ -42,20 +63,26 @@ expression: actual
}
}
],
"end": 30,
"start": 25,
"end": 52,
"start": 47,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"end": 55,
"start": 54,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"end": 24,
"name": "startSketchAt",
"start": 11,
"end": 46,
"name": "startProfileAt",
"start": 32,
"type": "Identifier"
},
"end": 31,
"start": 11,
"end": 56,
"start": 32,
"type": "CallExpression",
"type": "CallExpression"
},
@ -70,9 +97,9 @@ expression: actual
"arg": {
"elements": [
{
"end": 56,
"end": 81,
"raw": "1",
"start": 55,
"start": 80,
"type": "Literal",
"type": "Literal",
"value": {
@ -81,9 +108,9 @@ expression: actual
}
},
{
"end": 59,
"end": 84,
"raw": "1",
"start": 58,
"start": 83,
"type": "Literal",
"type": "Literal",
"value": {
@ -92,21 +119,21 @@ expression: actual
}
}
],
"end": 60,
"start": 54,
"end": 85,
"start": 79,
"type": "ArrayExpression",
"type": "ArrayExpression"
}
}
],
"callee": {
"end": 39,
"end": 64,
"name": "line",
"start": 35,
"start": 60,
"type": "Identifier"
},
"end": 61,
"start": 35,
"end": 86,
"start": 60,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
@ -114,18 +141,18 @@ expression: actual
{
"arguments": [],
"callee": {
"end": 70,
"end": 95,
"name": "close",
"start": 65,
"start": 90,
"type": "Identifier"
},
"end": 72,
"start": 65,
"end": 97,
"start": 90,
"type": "CallExpression",
"type": "CallExpression"
}
],
"end": 72,
"end": 97,
"start": 11,
"type": "PipeExpression",
"type": "PipeExpression"
@ -133,13 +160,13 @@ expression: actual
"start": 0,
"type": "VariableDeclarator"
},
"end": 72,
"end": 97,
"kind": "const",
"start": 0,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
}
],
"end": 72,
"end": 97,
"start": 0
}

View File

@ -1,12 +1,12 @@
---
source: kcl/src/parsing/parser.rs
source: kcl-lib/src/parsing/parser.rs
expression: actual
---
{
"body": [
{
"declaration": {
"end": 24,
"end": 49,
"id": {
"end": 5,
"name": "myBox",
@ -14,36 +14,71 @@ expression: actual
"type": "Identifier"
},
"init": {
"arguments": [
"body": [
{
"end": 23,
"name": "p",
"start": 22,
"type": "Identifier",
"type": "Identifier"
"arguments": [
{
"end": 24,
"name": "XY",
"start": 22,
"type": "Identifier",
"type": "Identifier"
}
],
"callee": {
"end": 21,
"name": "startSketchOn",
"start": 8,
"type": "Identifier"
},
"end": 25,
"start": 8,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"end": 45,
"name": "p",
"start": 44,
"type": "Identifier",
"type": "Identifier"
},
{
"end": 48,
"start": 47,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"end": 43,
"name": "startProfileAt",
"start": 29,
"type": "Identifier"
},
"end": 49,
"start": 29,
"type": "CallExpression",
"type": "CallExpression"
}
],
"callee": {
"end": 21,
"name": "startSketchAt",
"start": 8,
"type": "Identifier"
},
"end": 24,
"end": 49,
"start": 8,
"type": "CallExpression",
"type": "CallExpression"
"type": "PipeExpression",
"type": "PipeExpression"
},
"start": 0,
"type": "VariableDeclarator"
},
"end": 24,
"end": 49,
"kind": "const",
"start": 0,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
}
],
"end": 24,
"end": 49,
"start": 0
}

View File

@ -1,12 +1,12 @@
---
source: kcl/src/parsing/parser.rs
source: kcl-lib/src/parsing/parser.rs
expression: actual
---
{
"body": [
{
"declaration": {
"end": 46,
"end": 71,
"id": {
"end": 5,
"name": "myBox",
@ -18,8 +18,8 @@ expression: actual
{
"arguments": [
{
"end": 23,
"name": "p",
"end": 24,
"name": "XY",
"start": 22,
"type": "Identifier",
"type": "Identifier"
@ -27,15 +27,42 @@ expression: actual
],
"callee": {
"end": 21,
"name": "startSketchAt",
"name": "startSketchOn",
"start": 8,
"type": "Identifier"
},
"end": 24,
"end": 25,
"start": 8,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"end": 45,
"name": "p",
"start": 44,
"type": "Identifier",
"type": "Identifier"
},
{
"end": 48,
"start": 47,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"end": 43,
"name": "startProfileAt",
"start": 29,
"type": "Identifier"
},
"end": 49,
"start": 29,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
@ -47,9 +74,9 @@ expression: actual
"arg": {
"elements": [
{
"end": 41,
"end": 66,
"raw": "0",
"start": 40,
"start": 65,
"type": "Literal",
"type": "Literal",
"value": {
@ -58,34 +85,34 @@ expression: actual
}
},
{
"end": 44,
"end": 69,
"name": "l",
"start": 43,
"start": 68,
"type": "Identifier",
"type": "Identifier"
}
],
"end": 45,
"start": 39,
"end": 70,
"start": 64,
"type": "ArrayExpression",
"type": "ArrayExpression"
}
}
],
"callee": {
"end": 32,
"end": 57,
"name": "line",
"start": 28,
"start": 53,
"type": "Identifier"
},
"end": 46,
"start": 28,
"end": 71,
"start": 53,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": null
}
],
"end": 46,
"end": 71,
"start": 8,
"type": "PipeExpression",
"type": "PipeExpression"
@ -93,13 +120,13 @@ expression: actual
"start": 0,
"type": "VariableDeclarator"
},
"end": 46,
"end": 71,
"kind": "const",
"start": 0,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
}
],
"end": 46,
"end": 71,
"start": 0
}

View File

@ -1,12 +1,12 @@
---
source: kcl/src/parsing/parser.rs
source: kcl-lib/src/parsing/parser.rs
expression: actual
---
{
"body": [
{
"declaration": {
"end": 31,
"end": 56,
"id": {
"end": 8,
"name": "mySketch",
@ -14,59 +14,94 @@ expression: actual
"type": "Identifier"
},
"init": {
"arguments": [
"body": [
{
"elements": [
"arguments": [
{
"end": 27,
"raw": "0",
"start": 26,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
"end": 29,
"raw": "0",
"start": 28,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
"name": "XY",
"start": 25,
"type": "Identifier",
"type": "Identifier"
}
],
"end": 30,
"start": 25,
"type": "ArrayExpression",
"type": "ArrayExpression"
"callee": {
"end": 24,
"name": "startSketchOn",
"start": 11,
"type": "Identifier"
},
"end": 28,
"start": 11,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"elements": [
{
"end": 49,
"raw": "0",
"start": 48,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
},
{
"end": 51,
"raw": "0",
"start": 50,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
}
],
"end": 52,
"start": 47,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"end": 55,
"start": 54,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"end": 46,
"name": "startProfileAt",
"start": 32,
"type": "Identifier"
},
"end": 56,
"start": 32,
"type": "CallExpression",
"type": "CallExpression"
}
],
"callee": {
"end": 24,
"name": "startSketchAt",
"start": 11,
"type": "Identifier"
},
"end": 31,
"end": 56,
"start": 11,
"type": "CallExpression",
"type": "CallExpression"
"type": "PipeExpression",
"type": "PipeExpression"
},
"start": 0,
"type": "VariableDeclarator"
},
"end": 31,
"end": 56,
"kind": "const",
"start": 0,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
}
],
"end": 31,
"end": 56,
"start": 0
}

View File

@ -1,12 +1,12 @@
---
source: kcl/src/parsing/parser.rs
source: kcl-lib/src/parsing/parser.rs
expression: actual
---
{
"body": [
{
"declaration": {
"end": 23,
"end": 48,
"id": {
"end": 2,
"name": "sg",
@ -14,36 +14,71 @@ expression: actual
"type": "Identifier"
},
"init": {
"arguments": [
"body": [
{
"arguments": [
{
"end": 21,
"name": "XY",
"start": 19,
"type": "Identifier",
"type": "Identifier"
}
],
"callee": {
"end": 18,
"name": "startSketchOn",
"start": 5,
"type": "Identifier"
},
"end": 22,
"name": "pos",
"start": 19,
"type": "Identifier",
"type": "Identifier"
"start": 5,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"end": 44,
"name": "pos",
"start": 41,
"type": "Identifier",
"type": "Identifier"
},
{
"end": 47,
"start": 46,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"end": 40,
"name": "startProfileAt",
"start": 26,
"type": "Identifier"
},
"end": 48,
"start": 26,
"type": "CallExpression",
"type": "CallExpression"
}
],
"callee": {
"end": 18,
"name": "startSketchAt",
"start": 5,
"type": "Identifier"
},
"end": 23,
"end": 48,
"start": 5,
"type": "CallExpression",
"type": "CallExpression"
"type": "PipeExpression",
"type": "PipeExpression"
},
"start": 0,
"type": "VariableDeclarator"
},
"end": 23,
"end": 48,
"kind": "const",
"start": 0,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
}
],
"end": 23,
"end": 48,
"start": 0
}

View File

@ -1,12 +1,12 @@
---
source: kcl/src/parsing/parser.rs
source: kcl-lib/src/parsing/parser.rs
expression: actual
---
{
"body": [
{
"declaration": {
"end": 47,
"end": 73,
"id": {
"end": 2,
"name": "sg",
@ -18,8 +18,8 @@ expression: actual
{
"arguments": [
{
"end": 22,
"name": "pos",
"end": 21,
"name": "XY",
"start": 19,
"type": "Identifier",
"type": "Identifier"
@ -27,23 +27,44 @@ expression: actual
],
"callee": {
"end": 18,
"name": "startSketchAt",
"name": "startSketchOn",
"start": 5,
"type": "Identifier"
},
"end": 23,
"end": 22,
"start": 5,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"end": 48,
"name": "pos",
"start": 45,
"type": "Identifier",
"type": "Identifier"
}
],
"callee": {
"end": 44,
"name": "startProfileAt",
"start": 30,
"type": "Identifier"
},
"end": 49,
"start": 30,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"elements": [
{
"end": 34,
"end": 60,
"raw": "0",
"start": 33,
"start": 59,
"type": "Literal",
"type": "Literal",
"value": {
@ -53,44 +74,44 @@ expression: actual
},
{
"argument": {
"end": 42,
"end": 68,
"name": "scale",
"start": 37,
"start": 63,
"type": "Identifier",
"type": "Identifier"
},
"end": 42,
"end": 68,
"operator": "-",
"start": 36,
"start": 62,
"type": "UnaryExpression",
"type": "UnaryExpression"
}
],
"end": 43,
"start": 32,
"end": 69,
"start": 58,
"type": "ArrayExpression",
"type": "ArrayExpression"
},
{
"end": 46,
"start": 45,
"end": 72,
"start": 71,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"end": 31,
"end": 57,
"name": "line",
"start": 27,
"start": 53,
"type": "Identifier"
},
"end": 47,
"start": 27,
"end": 73,
"start": 53,
"type": "CallExpression",
"type": "CallExpression"
}
],
"end": 47,
"end": 73,
"start": 5,
"type": "PipeExpression",
"type": "PipeExpression"
@ -98,13 +119,13 @@ expression: actual
"start": 0,
"type": "VariableDeclarator"
},
"end": 47,
"end": 73,
"kind": "const",
"start": 0,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
}
],
"end": 47,
"end": 73,
"start": 0
}

View File

@ -559,7 +559,8 @@ mod tests {
#[test]
fn test_program2() {
let program = r#"const part001 = startSketchAt([0.0000000000, 5.0000000000])
let program = r#"const part001 = startSketchOn(XY)
|> startProfileAt([0.0000000000, 5.0000000000], %)
|> line([0.4900857016, -0.0240763666], %)
const part002 = "part002"