Fix to not add extra spaces when formatting call (#6652)
This commit is contained in:
@ -55,7 +55,7 @@ fn sum(arr):
|
||||
// We use `assert` to check that our `sum` function gives the
|
||||
// expected result. It's good to check your work!
|
||||
assert(
|
||||
sum([1, 2, 3]),
|
||||
sum([1, 2, 3]),
|
||||
isEqualTo = 6,
|
||||
tolerance = 0.1,
|
||||
error = "1 + 2 + 3 summed is 6",
|
||||
|
@ -232205,7 +232205,7 @@
|
||||
"unpublished": false,
|
||||
"deprecated": false,
|
||||
"examples": [
|
||||
"// This function adds two numbers.\nfn add(a, b) {\n return a + b\n}\n\n// This function adds an array of numbers.\n// It uses the `reduce` function, to call the `add` function on every\n// element of the `arr` parameter. The starting value is 0.\nfn sum(@arr) {\n return reduce(arr, initial = 0, f = add)\n}\n\n/* The above is basically like this pseudo-code:\nfn sum(arr):\n sumSoFar = 0\n for i in arr:\n sumSoFar = add(sumSoFar, i)\n return sumSoFar */\n\n// We use `assert` to check that our `sum` function gives the\n// expected result. It's good to check your work!\nassert(\n sum([1, 2, 3]),\n isEqualTo = 6,\n tolerance = 0.1,\n error = \"1 + 2 + 3 summed is 6\",\n)",
|
||||
"// This function adds two numbers.\nfn add(a, b) {\n return a + b\n}\n\n// This function adds an array of numbers.\n// It uses the `reduce` function, to call the `add` function on every\n// element of the `arr` parameter. The starting value is 0.\nfn sum(@arr) {\n return reduce(arr, initial = 0, f = add)\n}\n\n/* The above is basically like this pseudo-code:\nfn sum(arr):\n sumSoFar = 0\n for i in arr:\n sumSoFar = add(sumSoFar, i)\n return sumSoFar */\n\n// We use `assert` to check that our `sum` function gives the\n// expected result. It's good to check your work!\nassert(\n sum([1, 2, 3]),\n isEqualTo = 6,\n tolerance = 0.1,\n error = \"1 + 2 + 3 summed is 6\",\n)",
|
||||
"// This example works just like the previous example above, but it uses\n// an anonymous `add` function as its parameter, instead of declaring a\n// named function outside.\narr = [1, 2, 3]\nsum = reduce(\n arr,\n initial = 0,\n f = fn(i, result_so_far) {\n return i + result_so_far\n },\n)\n\n// We use `assert` to check that our `sum` function gives the\n// expected result. It's good to check your work!\nassert(\n sum,\n isEqualTo = 6,\n tolerance = 0.1,\n error = \"1 + 2 + 3 summed is 6\",\n)",
|
||||
"// Declare a function that sketches a decagon.\nfn decagon(@radius) {\n // Each side of the decagon is turned this many radians from the previous angle.\n stepAngle = (1 / 10 * TAU): number(rad)\n\n // Start the decagon sketch at this point.\n startOfDecagonSketch = startSketchOn(XY)\n |> startProfile(at = [cos(0) * radius, sin(0) * radius])\n\n // Use a `reduce` to draw the remaining decagon sides.\n // For each number in the array 1..10, run the given function,\n // which takes a partially-sketched decagon and adds one more edge to it.\n fullDecagon = reduce(\n [1..10],\n initial = startOfDecagonSketch,\n f = fn(i, partialDecagon) {\n // Draw one edge of the decagon.\n x = cos(stepAngle * i) * radius\n y = sin(stepAngle * i) * radius\n return line(partialDecagon, end = [x, y])\n },\n )\n\n return fullDecagon\n}\n\n/* The `decagon` above is basically like this pseudo-code:\nfn decagon(radius):\n stepAngle = ((1/10) * TAU): number(rad)\n plane = startSketchOn(XY)\n startOfDecagonSketch = startProfile(plane, at = [(cos(0)*radius), (sin(0) * radius)])\n\n // Here's the reduce part.\n partialDecagon = startOfDecagonSketch\n for i in [1..10]:\n x = cos(stepAngle * i) * radius\n y = sin(stepAngle * i) * radius\n partialDecagon = line(partialDecagon, end = [x, y])\n fullDecagon = partialDecagon // it's now full\n return fullDecagon */\n\n// Use the `decagon` function declared above, to sketch a decagon with radius 5.\ndecagon(5.0)\n |> close()"
|
||||
]
|
||||
|
@ -126,7 +126,7 @@ fn armRestProfile(@plane, offset) {
|
||||
|
||||
export fn armRest(@plane, offset) {
|
||||
path = armRestPath( offsetPlane(plane, offset = offset))
|
||||
profile = armRestProfile( offsetPlane(-XZ, offset = 20), offset = -offset)
|
||||
profile = armRestProfile(offsetPlane(-XZ, offset = 20), offset = -offset)
|
||||
sweep(profile, path = path)
|
||||
return 0
|
||||
}
|
||||
|
@ -377,7 +377,7 @@ impl CallExpression {
|
||||
impl CallExpressionKw {
|
||||
fn recast_args(&self, options: &FormatOptions, indentation_level: usize, ctxt: ExprContext) -> Vec<String> {
|
||||
let mut arg_list = if let Some(first_arg) = &self.unlabeled {
|
||||
vec![first_arg.recast(options, indentation_level, ctxt)]
|
||||
vec![first_arg.recast(options, indentation_level, ctxt).trim().to_owned()]
|
||||
} else {
|
||||
Vec::with_capacity(self.arguments.len())
|
||||
};
|
||||
@ -2584,6 +2584,58 @@ sketch002 = startSketchOn({
|
||||
assert_eq!(actual, input);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn unparse_call_inside_function_single_line() {
|
||||
let input = r#"fn foo() {
|
||||
toDegrees(atan(0.5), foo = 1)
|
||||
return 0
|
||||
}
|
||||
"#;
|
||||
let ast = crate::parsing::top_level_parse(input).unwrap();
|
||||
let actual = ast.recast(&FormatOptions::new(), 0);
|
||||
assert_eq!(actual, input);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn unparse_call_inside_function_args_multiple_lines() {
|
||||
let input = r#"fn foo() {
|
||||
toDegrees(
|
||||
atan(0.5),
|
||||
foo = 1,
|
||||
bar = 2,
|
||||
baz = 3,
|
||||
qux = 4,
|
||||
)
|
||||
return 0
|
||||
}
|
||||
"#;
|
||||
let ast = crate::parsing::top_level_parse(input).unwrap();
|
||||
let actual = ast.recast(&FormatOptions::new(), 0);
|
||||
assert_eq!(actual, input);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn unparse_call_inside_function_single_arg_multiple_lines() {
|
||||
let input = r#"fn foo() {
|
||||
toDegrees(
|
||||
[
|
||||
profile0,
|
||||
profile1,
|
||||
profile2,
|
||||
profile3,
|
||||
profile4,
|
||||
profile5
|
||||
],
|
||||
key = 1,
|
||||
)
|
||||
return 0
|
||||
}
|
||||
"#;
|
||||
let ast = crate::parsing::top_level_parse(input).unwrap();
|
||||
let actual = ast.recast(&FormatOptions::new(), 0);
|
||||
assert_eq!(actual, input);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn recast_objects_with_comments() {
|
||||
use winnow::Parser;
|
||||
|
@ -605,19 +605,19 @@ flowchart LR
|
||||
84 --- 147
|
||||
84 --- 233
|
||||
87 --- 169
|
||||
87 x--> 184
|
||||
87 x--> 183
|
||||
87 --- 212
|
||||
87 --- 257
|
||||
89 --- 168
|
||||
89 x--> 184
|
||||
89 x--> 183
|
||||
89 --- 214
|
||||
89 --- 258
|
||||
90 --- 167
|
||||
90 x--> 184
|
||||
90 x--> 183
|
||||
90 --- 211
|
||||
90 --- 256
|
||||
92 --- 166
|
||||
92 x--> 184
|
||||
92 x--> 183
|
||||
92 --- 213
|
||||
92 --- 259
|
||||
119 --- 162
|
||||
@ -865,10 +865,10 @@ flowchart LR
|
||||
221 <--x 181
|
||||
222 <--x 181
|
||||
193 <--x 182
|
||||
211 <--x 183
|
||||
212 <--x 183
|
||||
213 <--x 183
|
||||
214 <--x 183
|
||||
211 <--x 184
|
||||
212 <--x 184
|
||||
213 <--x 184
|
||||
214 <--x 184
|
||||
203 <--x 186
|
||||
204 <--x 186
|
||||
205 <--x 186
|
||||
|
@ -241,8 +241,8 @@ flowchart LR
|
||||
7["Plane<br>[334, 354, 8]"]
|
||||
8["Plane<br>[3807, 3842, 8]"]
|
||||
9["Plane<br>[3807, 3842, 8]"]
|
||||
10["Plane<br>[3873, 3902, 8]"]
|
||||
11["Plane<br>[3873, 3902, 8]"]
|
||||
10["Plane<br>[3871, 3900, 8]"]
|
||||
11["Plane<br>[3871, 3900, 8]"]
|
||||
12["StartSketchOnPlane<br>[2700, 2720, 8]"]
|
||||
13["StartSketchOnPlane<br>[1737, 1757, 8]"]
|
||||
14["StartSketchOnPlane<br>[3258, 3278, 8]"]
|
||||
@ -268,8 +268,8 @@ flowchart LR
|
||||
234["Sweep Extrusion<br>[2618, 2642, 8]"]
|
||||
235["Sweep Extrusion<br>[3180, 3204, 8]"]
|
||||
236["Sweep Extrusion<br>[3180, 3204, 8]"]
|
||||
237["Sweep Sweep<br>[3924, 3951, 8]"]
|
||||
238["Sweep Sweep<br>[3924, 3951, 8]"]
|
||||
237["Sweep Sweep<br>[3922, 3949, 8]"]
|
||||
238["Sweep Sweep<br>[3922, 3949, 8]"]
|
||||
239[Wall]
|
||||
240[Wall]
|
||||
241[Wall]
|
||||
|
Reference in New Issue
Block a user