diff --git a/src/alejandra_engine/src/rules/paren.rs b/src/alejandra_engine/src/rules/paren.rs index 2341fbe..14d3273 100644 --- a/src/alejandra_engine/src/rules/paren.rs +++ b/src/alejandra_engine/src/rules/paren.rs @@ -10,17 +10,16 @@ pub(crate) fn rule( let expression = children.next().unwrap(); let closer = children.next().unwrap(); - let vertical = opener.has_inline_comment + let loose = opener.has_inline_comment || opener.has_comments || expression.has_inline_comment || expression.has_comments || closer.has_inline_comment || closer.has_comments + || matches!(expression.element.kind(), rnix::SyntaxKind::NODE_IF_ELSE); + + let should_indent = loose || matches!( - expression.element.kind(), - rnix::SyntaxKind::NODE_IF_ELSE | rnix::SyntaxKind::NODE_LET_IN - ) - || (matches!( expression.element.kind(), rnix::SyntaxKind::NODE_APPLY | rnix::SyntaxKind::NODE_ASSERT @@ -32,11 +31,11 @@ pub(crate) fn rule( ) && second_through_penultimate_line_are_not_indented( build_ctx, expression.element.clone(), - )); + ); // opener steps.push_back(crate::builder::Step::Format(opener.element)); - if vertical { + if should_indent { steps.push_back(crate::builder::Step::Indent); } @@ -45,7 +44,7 @@ pub(crate) fn rule( steps.push_back(crate::builder::Step::Comment(text)); steps.push_back(crate::builder::Step::NewLine); steps.push_back(crate::builder::Step::Pad); - } else if vertical { + } else if loose { steps.push_back(crate::builder::Step::NewLine); steps.push_back(crate::builder::Step::Pad); } @@ -62,7 +61,7 @@ pub(crate) fn rule( } // expression - if vertical { + if loose { steps.push_back(crate::builder::Step::FormatWider(expression.element)); } else { steps.push_back(crate::builder::Step::Format(expression.element)); @@ -85,8 +84,11 @@ pub(crate) fn rule( } // closer - if vertical { + if should_indent { steps.push_back(crate::builder::Step::Dedent); + } + + if loose { steps.push_back(crate::builder::Step::NewLine); steps.push_back(crate::builder::Step::Pad); } @@ -111,12 +113,14 @@ fn second_through_penultimate_line_are_not_indented( return false; } - let whitespace = format!("{0:<1$}", "", 2 * (build_ctx.indentation + 1)); + let whitespace = format!("{0:<1$} ", "", 2 * build_ctx.indentation); + let lambda = format!("{0:<1$}}}:", "", 2 * build_ctx.indentation); + let in_ = format!("{0:<1$}in", "", 2 * build_ctx.indentation); - formatted_lines - .iter() - .skip(1) - .rev() - .skip(1) - .any(|line| !line.is_empty() && !line.starts_with(&whitespace)) + formatted_lines.iter().skip(1).rev().skip(1).any(|line| { + !line.is_empty() + && !(line.starts_with(&whitespace) + || line.starts_with(&lambda) + || line.starts_with(&in_)) + }) } diff --git a/src/alejandra_engine/tests/cases/apply/out b/src/alejandra_engine/tests/cases/apply/out index 9a786b8..83c1f48 100644 --- a/src/alejandra_engine/tests/cases/apply/out +++ b/src/alejandra_engine/tests/cases/apply/out @@ -1,12 +1,10 @@ (a b) (a b) -( - a +(a /* b */ - c -) + c) ( /* a diff --git a/src/alejandra_engine/tests/cases/assert/out b/src/alejandra_engine/tests/cases/assert/out index 8d70c11..e60855e 100644 --- a/src/alejandra_engine/tests/cases/assert/out +++ b/src/alejandra_engine/tests/cases/assert/out @@ -1,29 +1,22 @@ [ (assert b; e) - ( - assert b; + (assert b; /* d */ - e - ) + e) (assert b; e) - ( - assert b; + (assert b; /* d */ - e - ) - ( - assert + e) + (assert /* a */ - b; e - ) - ( - assert + b; e) + (assert /* a */ @@ -31,17 +24,13 @@ /* d */ - e - ) - ( - assert + e) + (assert /* a */ - b; e - ) - ( - assert + b; e) + (assert /* a */ @@ -49,8 +38,7 @@ /* d */ - e - ) + e) (assert b; cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc) (assert b; cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc) ] diff --git a/src/alejandra_engine/tests/cases/bin_op/out b/src/alejandra_engine/tests/cases/bin_op/out index 5f698cd..2311b7e 100644 --- a/src/alejandra_engine/tests/cases/bin_op/out +++ b/src/alejandra_engine/tests/cases/bin_op/out @@ -1,45 +1,32 @@ [ (1 + 1) - ( - 1 + (1 + /**/ - 1 - ) - ( - 1 + 1) + (1 /**/ - + 1 - ) - ( - 1 + + 1) + (1 /**/ + /**/ - 1 - ) - ( - 1 + 1) + (1 /**/ + /**/ - ( - 1 + (1 /**/ + /**/ - ( - 1 + (1 /**/ + /**/ - 1 - ) - ) - ) + 1))) (1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1) - ( - 1 + (1 + 1 + 1 + 1 @@ -58,6 +45,5 @@ + 1 + 1 + 1 - + 1 - ) + + 1) ] diff --git a/src/alejandra_engine/tests/cases/comment/out b/src/alejandra_engine/tests/cases/comment/out index 68c5fa2..ff9dd0e 100644 --- a/src/alejandra_engine/tests/cases/comment/out +++ b/src/alejandra_engine/tests/cases/comment/out @@ -81,28 +81,24 @@ #7 } - ( - let - # 1 - #2 - a = 1; # 3 - b = 1; - c = 1; # 4 - #5 + (let + # 1 + #2 + a = 1; # 3 + b = 1; + c = 1; # 4 + #5 - #6 + #6 - d = 1; - #7 - in - d - ) + d = 1; + #7 + in + d) - ( - { - a, # comment - b ? 2, # comment - }: - _ - ) + ({ + a, # comment + b ? 2, # comment + }: + _) ] diff --git a/src/alejandra_engine/tests/cases/lambda/out b/src/alejandra_engine/tests/cases/lambda/out index 11e9e56..204e2fa 100644 --- a/src/alejandra_engine/tests/cases/lambda/out +++ b/src/alejandra_engine/tests/cases/lambda/out @@ -1,43 +1,32 @@ [ - ( - a: b: + (a: b: /* c */ - d - ) - ( - {}: b: + d) + ({}: b: /* c */ - d - ) - ( - a: {}: + d) + (a: {}: /* c */ - d - ) + d) (a: d) - ( - a: + (a: /* c */ - d - ) - ( - a + d) + (a /* b */ : - d - ) - ( - a + d) + (a /* b */ @@ -45,17 +34,14 @@ /* c */ - d - ) + d) (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa) (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa) - ( - { - pkgs ? import ./.. {}, - locationsXml, - }: - null - ) + ({ + pkgs ? import ./.. {}, + locationsXml, + }: + null) (a: b: c: {}: a: b: c: a) @@ -63,23 +49,19 @@ # Stuff }) - ( - {pkgs, ...}: let - in - pkgs - ) + ({pkgs, ...}: let + in + pkgs) (a: {b, ...}: c: { # Stuff }) - ( - a: { - b, - c, - ... - }: d: { - # Stuff - } - ) + (a: { + b, + c, + ... + }: d: { + # Stuff + }) ] diff --git a/src/alejandra_engine/tests/cases/or_default/out b/src/alejandra_engine/tests/cases/or_default/out index 78d27cb..22ee7c9 100644 --- a/src/alejandra_engine/tests/cases/or_default/out +++ b/src/alejandra_engine/tests/cases/or_default/out @@ -1,68 +1,48 @@ [ (a.b or c) - ( - a.b + (a.b or /**/ - c - ) - ( - a.b + c) + (a.b /**/ - or c - ) - ( - a.b + or c) + (a.b /**/ or /**/ - c - ) - ( - a.b + c) + (a.b /**/ or /**/ - ( - a.b + (a.b /**/ or /**/ - ( - a.b + (a.b /**/ or /**/ - c - ) - ) - ) - ( - a.b + c))) + (a.b /**/ or /**/ - ( - a.b + (a.b /**/ or /**/ - ( - a.b + (a.b /**/ or /**/ - c - ) - ) - ) + c))) (a.a or a.a or a.a or a.a or a.a or a.a or a.a or a.a or a.a or a.a or a.a or a.a or a.a or a.a or a.a or a.a or a.a or a.a or a.a) - ( - a.a + (a.a or a.a # test or a.a # test or # test a.a - or a.a or a.a or a.a or a.a or a.a or a.a or a.a or a.a or a.a or a.a or a.a or a.a or a.a or a.a or a.a or a.a - ) + or a.a or a.a or a.a or a.a or a.a or a.a or a.a or a.a or a.a or a.a or a.a or a.a or a.a or a.a or a.a or a.a) ] diff --git a/src/alejandra_engine/tests/cases/paren/out b/src/alejandra_engine/tests/cases/paren/out index 476c007..f540834 100644 --- a/src/alejandra_engine/tests/cases/paren/out +++ b/src/alejandra_engine/tests/cases/paren/out @@ -1,5 +1,4 @@ -( - ( # test +(( # test a # test ) c @@ -161,5 +160,4 @@ /* e */ - ) -) + )) diff --git a/src/alejandra_engine/tests/cases/pat_bind/out b/src/alejandra_engine/tests/cases/pat_bind/out index ab77d04..302d0c5 100644 --- a/src/alejandra_engine/tests/cases/pat_bind/out +++ b/src/alejandra_engine/tests/cases/pat_bind/out @@ -1,45 +1,33 @@ [ ({} @ a: _) - ( - {} @ + ({} @ /**/ a: - _ - ) - ( - {} + _) + ({} /**/ @ a: - _ - ) - ( - {} + _) + ({} /**/ @ /**/ a: - _ - ) + _) (a @ {}: _) - ( - a @ + (a @ /**/ {}: - _ - ) - ( - a + _) + (a /**/ @ {}: - _ - ) - ( - a + _) + (a /**/ @ /**/ {}: - _ - ) + _) ] diff --git a/src/alejandra_engine/tests/cases/pattern/out b/src/alejandra_engine/tests/cases/pattern/out index 8af4089..921a805 100644 --- a/src/alejandra_engine/tests/cases/pattern/out +++ b/src/alejandra_engine/tests/cases/pattern/out @@ -9,1202 +9,1057 @@ foo, bar, # Some comment }: {}) - ( - a @ { - self, - gomod2nix, - mach-nix, - }: - _ - ) - ( - { + (a @ { + self, + gomod2nix, + mach-nix, + }: + _) + ({ self, gomod2nix, mach-nix, } @ inp: - _ - ) - ( - { - a ? [ - 1 - 2 - 3 - ], - b ? { - # ... - }, - }: - _ - ) + _) + ({ + a ? [ + 1 + 2 + 3 + ], + b ? { + # ... + }, + }: + _) ({}: _) ({a}: _) - ( - { - /**/ - }: - _ - ) + ({ + /**/ + }: + _) ({...}: _) - ( - { - ... - /**/ - }: - _ - ) - ( - { - /**/ - ... - }: - _ - ) - ( - { - /**/ - ... - /**/ - }: - _ - ) + ({ + ... + /**/ + }: + _) + ({ + /**/ + ... + }: + _) + ({ + /**/ + ... + /**/ + }: + _) - ( - { - b, - e, - ... - }: - _ - ) - ( - { - b, - e, - ... - /* - h - */ - }: - _ - ) - ( - { - b, - e, - /* - g - */ - ... - }: - _ - ) - ( - { - b, - e, - /* - g - */ - ... - /* - h - */ - }: - _ - ) - ( - { - b, - e, - /* - f - */ - ... - }: - _ - ) - ( - { - b, - e, - /* - f - */ - ... - /* - h - */ - }: - _ - ) - ( - { - b, - e, - /* - f - */ - /* - g - */ - ... - }: - _ - ) - ( - { - b, - e, - /* - f - */ - /* - g - */ - ... - /* - h - */ - }: - _ - ) - ( - { - b, - /* - d - */ - e, - ... - }: - _ - ) - ( - { - b, - /* - d - */ - e, - ... - /* - h - */ - }: - _ - ) - ( - { - b, - /* - d - */ - e, - /* - g - */ - ... - }: - _ - ) - ( - { - b, - /* - d - */ - e, - /* - g - */ - ... - /* - h - */ - }: - _ - ) - ( - { - b, - /* - d - */ - e, - /* - f - */ - ... - }: - _ - ) - ( - { - b, - /* - d - */ - e, - /* - f - */ - ... - /* - h - */ - }: - _ - ) - ( - { - b, - /* - d - */ - e, - /* - f - */ - /* - g - */ - ... - }: - _ - ) - ( - { - b, - /* - d - */ - e, - /* - f - */ - /* - g - */ - ... - /* - h - */ - }: - _ - ) - ( - { - b, - /* - c - */ - e, - ... - }: - _ - ) - ( - { - b, - /* - c - */ - e, - ... - /* - h - */ - }: - _ - ) - ( - { - b, - /* - c - */ - e, - /* - g - */ - ... - }: - _ - ) - ( - { - b, - /* - c - */ - e, - /* - g - */ - ... - /* - h - */ - }: - _ - ) - ( - { - b, - /* - c - */ - e, - /* - f - */ - ... - }: - _ - ) - ( - { - b, - /* - c - */ - e, - /* - f - */ - ... - /* - h - */ - }: - _ - ) - ( - { - b, - /* - c - */ - e, - /* - f - */ - /* - g - */ - ... - }: - _ - ) - ( - { - b, - /* - c - */ - e, - /* - f - */ - /* - g - */ - ... - /* - h - */ - }: - _ - ) - ( - { - b, - /* - c - */ - /* - d - */ - e, - ... - }: - _ - ) - ( - { - b, - /* - c - */ - /* - d - */ - e, - ... - /* - h - */ - }: - _ - ) - ( - { - b, - /* - c - */ - /* - d - */ - e, - /* - g - */ - ... - }: - _ - ) - ( - { - b, - /* - c - */ - /* - d - */ - e, - /* - g - */ - ... - /* - h - */ - }: - _ - ) - ( - { - b, - /* - c - */ - /* - d - */ - e, - /* - f - */ - ... - }: - _ - ) - ( - { - b, - /* - c - */ - /* - d - */ - e, - /* - f - */ - ... - /* - h - */ - }: - _ - ) - ( - { - b, - /* - c - */ - /* - d - */ - e, - /* - f - */ - /* - g - */ - ... - }: - _ - ) - ( - { - b, - /* - c - */ - /* - d - */ - e, - /* - f - */ - /* - g - */ - ... - /* - h - */ - }: - _ - ) - ( - { - /* - a - */ - b, - e, - ... - }: - _ - ) - ( - { - /* - a - */ - b, - e, - ... - /* - h - */ - }: - _ - ) - ( - { - /* - a - */ - b, - e, - /* - g - */ - ... - }: - _ - ) - ( - { - /* - a - */ - b, - e, - /* - g - */ - ... - /* - h - */ - }: - _ - ) - ( - { - /* - a - */ - b, - e, - /* - f - */ - ... - }: - _ - ) - ( - { - /* - a - */ - b, - e, - /* - f - */ - ... - /* - h - */ - }: - _ - ) - ( - { - /* - a - */ - b, - e, - /* - f - */ - /* - g - */ - ... - }: - _ - ) - ( - { - /* - a - */ - b, - e, - /* - f - */ - /* - g - */ - ... - /* - h - */ - }: - _ - ) - ( - { - /* - a - */ - b, - /* - d - */ - e, - ... - }: - _ - ) - ( - { - /* - a - */ - b, - /* - d - */ - e, - ... - /* - h - */ - }: - _ - ) - ( - { - /* - a - */ - b, - /* - d - */ - e, - /* - g - */ - ... - }: - _ - ) - ( - { - /* - a - */ - b, - /* - d - */ - e, - /* - g - */ - ... - /* - h - */ - }: - _ - ) - ( - { - /* - a - */ - b, - /* - d - */ - e, - /* - f - */ - ... - }: - _ - ) - ( - { - /* - a - */ - b, - /* - d - */ - e, - /* - f - */ - ... - /* - h - */ - }: - _ - ) - ( - { - /* - a - */ - b, - /* - d - */ - e, - /* - f - */ - /* - g - */ - ... - }: - _ - ) - ( - { - /* - a - */ - b, - /* - d - */ - e, - /* - f - */ - /* - g - */ - ... - /* - h - */ - }: - _ - ) - ( - { - /* - a - */ - b, - /* - c - */ - e, - ... - }: - _ - ) - ( - { - /* - a - */ - b, - /* - c - */ - e, - ... - /* - h - */ - }: - _ - ) - ( - { - /* - a - */ - b, - /* - c - */ - e, - /* - g - */ - ... - }: - _ - ) - ( - { - /* - a - */ - b, - /* - c - */ - e, - /* - g - */ - ... - /* - h - */ - }: - _ - ) - ( - { - /* - a - */ - b, - /* - c - */ - e, - /* - f - */ - ... - }: - _ - ) - ( - { - /* - a - */ - b, - /* - c - */ - e, - /* - f - */ - ... - /* - h - */ - }: - _ - ) - ( - { - /* - a - */ - b, - /* - c - */ - e, - /* - f - */ - /* - g - */ - ... - }: - _ - ) - ( - { - /* - a - */ - b, - /* - c - */ - e, - /* - f - */ - /* - g - */ - ... - /* - h - */ - }: - _ - ) - ( - { - /* - a - */ - b, - /* - c - */ - /* - d - */ - e, - ... - }: - _ - ) - ( - { - /* - a - */ - b, - /* - c - */ - /* - d - */ - e, - ... - /* - h - */ - }: - _ - ) - ( - { - /* - a - */ - b, - /* - c - */ - /* - d - */ - e, - /* - g - */ - ... - }: - _ - ) - ( - { - /* - a - */ - b, - /* - c - */ - /* - d - */ - e, - /* - g - */ - ... - /* - h - */ - }: - _ - ) - ( - { - /* - a - */ - b, - /* - c - */ - /* - d - */ - e, - /* - f - */ - ... - }: - _ - ) - ( - { - /* - a - */ - b, - /* - c - */ - /* - d - */ - e, - /* - f - */ - ... - /* - h - */ - }: - _ - ) - ( - { - /* - a - */ - b, - /* - c - */ - /* - d - */ - e, - /* - f - */ - /* - g - */ - ... - }: - _ - ) - ( - { - /* - a - */ - b, - /* - c - */ - /* - d - */ - e, - /* - f - */ - /* - g - */ - ... - /* - h - */ - }: - _ - ) + ({ + b, + e, + ... + }: + _) + ({ + b, + e, + ... + /* + h + */ + }: + _) + ({ + b, + e, + /* + g + */ + ... + }: + _) + ({ + b, + e, + /* + g + */ + ... + /* + h + */ + }: + _) + ({ + b, + e, + /* + f + */ + ... + }: + _) + ({ + b, + e, + /* + f + */ + ... + /* + h + */ + }: + _) + ({ + b, + e, + /* + f + */ + /* + g + */ + ... + }: + _) + ({ + b, + e, + /* + f + */ + /* + g + */ + ... + /* + h + */ + }: + _) + ({ + b, + /* + d + */ + e, + ... + }: + _) + ({ + b, + /* + d + */ + e, + ... + /* + h + */ + }: + _) + ({ + b, + /* + d + */ + e, + /* + g + */ + ... + }: + _) + ({ + b, + /* + d + */ + e, + /* + g + */ + ... + /* + h + */ + }: + _) + ({ + b, + /* + d + */ + e, + /* + f + */ + ... + }: + _) + ({ + b, + /* + d + */ + e, + /* + f + */ + ... + /* + h + */ + }: + _) + ({ + b, + /* + d + */ + e, + /* + f + */ + /* + g + */ + ... + }: + _) + ({ + b, + /* + d + */ + e, + /* + f + */ + /* + g + */ + ... + /* + h + */ + }: + _) + ({ + b, + /* + c + */ + e, + ... + }: + _) + ({ + b, + /* + c + */ + e, + ... + /* + h + */ + }: + _) + ({ + b, + /* + c + */ + e, + /* + g + */ + ... + }: + _) + ({ + b, + /* + c + */ + e, + /* + g + */ + ... + /* + h + */ + }: + _) + ({ + b, + /* + c + */ + e, + /* + f + */ + ... + }: + _) + ({ + b, + /* + c + */ + e, + /* + f + */ + ... + /* + h + */ + }: + _) + ({ + b, + /* + c + */ + e, + /* + f + */ + /* + g + */ + ... + }: + _) + ({ + b, + /* + c + */ + e, + /* + f + */ + /* + g + */ + ... + /* + h + */ + }: + _) + ({ + b, + /* + c + */ + /* + d + */ + e, + ... + }: + _) + ({ + b, + /* + c + */ + /* + d + */ + e, + ... + /* + h + */ + }: + _) + ({ + b, + /* + c + */ + /* + d + */ + e, + /* + g + */ + ... + }: + _) + ({ + b, + /* + c + */ + /* + d + */ + e, + /* + g + */ + ... + /* + h + */ + }: + _) + ({ + b, + /* + c + */ + /* + d + */ + e, + /* + f + */ + ... + }: + _) + ({ + b, + /* + c + */ + /* + d + */ + e, + /* + f + */ + ... + /* + h + */ + }: + _) + ({ + b, + /* + c + */ + /* + d + */ + e, + /* + f + */ + /* + g + */ + ... + }: + _) + ({ + b, + /* + c + */ + /* + d + */ + e, + /* + f + */ + /* + g + */ + ... + /* + h + */ + }: + _) + ({ + /* + a + */ + b, + e, + ... + }: + _) + ({ + /* + a + */ + b, + e, + ... + /* + h + */ + }: + _) + ({ + /* + a + */ + b, + e, + /* + g + */ + ... + }: + _) + ({ + /* + a + */ + b, + e, + /* + g + */ + ... + /* + h + */ + }: + _) + ({ + /* + a + */ + b, + e, + /* + f + */ + ... + }: + _) + ({ + /* + a + */ + b, + e, + /* + f + */ + ... + /* + h + */ + }: + _) + ({ + /* + a + */ + b, + e, + /* + f + */ + /* + g + */ + ... + }: + _) + ({ + /* + a + */ + b, + e, + /* + f + */ + /* + g + */ + ... + /* + h + */ + }: + _) + ({ + /* + a + */ + b, + /* + d + */ + e, + ... + }: + _) + ({ + /* + a + */ + b, + /* + d + */ + e, + ... + /* + h + */ + }: + _) + ({ + /* + a + */ + b, + /* + d + */ + e, + /* + g + */ + ... + }: + _) + ({ + /* + a + */ + b, + /* + d + */ + e, + /* + g + */ + ... + /* + h + */ + }: + _) + ({ + /* + a + */ + b, + /* + d + */ + e, + /* + f + */ + ... + }: + _) + ({ + /* + a + */ + b, + /* + d + */ + e, + /* + f + */ + ... + /* + h + */ + }: + _) + ({ + /* + a + */ + b, + /* + d + */ + e, + /* + f + */ + /* + g + */ + ... + }: + _) + ({ + /* + a + */ + b, + /* + d + */ + e, + /* + f + */ + /* + g + */ + ... + /* + h + */ + }: + _) + ({ + /* + a + */ + b, + /* + c + */ + e, + ... + }: + _) + ({ + /* + a + */ + b, + /* + c + */ + e, + ... + /* + h + */ + }: + _) + ({ + /* + a + */ + b, + /* + c + */ + e, + /* + g + */ + ... + }: + _) + ({ + /* + a + */ + b, + /* + c + */ + e, + /* + g + */ + ... + /* + h + */ + }: + _) + ({ + /* + a + */ + b, + /* + c + */ + e, + /* + f + */ + ... + }: + _) + ({ + /* + a + */ + b, + /* + c + */ + e, + /* + f + */ + ... + /* + h + */ + }: + _) + ({ + /* + a + */ + b, + /* + c + */ + e, + /* + f + */ + /* + g + */ + ... + }: + _) + ({ + /* + a + */ + b, + /* + c + */ + e, + /* + f + */ + /* + g + */ + ... + /* + h + */ + }: + _) + ({ + /* + a + */ + b, + /* + c + */ + /* + d + */ + e, + ... + }: + _) + ({ + /* + a + */ + b, + /* + c + */ + /* + d + */ + e, + ... + /* + h + */ + }: + _) + ({ + /* + a + */ + b, + /* + c + */ + /* + d + */ + e, + /* + g + */ + ... + }: + _) + ({ + /* + a + */ + b, + /* + c + */ + /* + d + */ + e, + /* + g + */ + ... + /* + h + */ + }: + _) + ({ + /* + a + */ + b, + /* + c + */ + /* + d + */ + e, + /* + f + */ + ... + }: + _) + ({ + /* + a + */ + b, + /* + c + */ + /* + d + */ + e, + /* + f + */ + ... + /* + h + */ + }: + _) + ({ + /* + a + */ + b, + /* + c + */ + /* + d + */ + e, + /* + f + */ + /* + g + */ + ... + }: + _) + ({ + /* + a + */ + b, + /* + c + */ + /* + d + */ + e, + /* + f + */ + /* + g + */ + ... + /* + h + */ + }: + _) ({a ? null}: _) - ( - { - /* - a - */ - b - /* - a - */ - ? - /* - a - */ - null, - /* - c - */ - /* - d - */ - e - /* - a - */ - ? - /* - a - */ - null, - /* - f - */ - /* - g - */ - ... - /* - h - */ - }: - _ - ) + ({ + /* + a + */ + b + /* + a + */ + ? + /* + a + */ + null, + /* + c + */ + /* + d + */ + e + /* + a + */ + ? + /* + a + */ + null, + /* + f + */ + /* + g + */ + ... + /* + h + */ + }: + _) - ( - { + ({ /* a */ @@ -1262,6 +1117,5 @@ j */ # - _ - ) + _) ] diff --git a/src/alejandra_engine/tests/cases/select/out b/src/alejandra_engine/tests/cases/select/out index 865e8be..80a4eb8 100644 --- a/src/alejandra_engine/tests/cases/select/out +++ b/src/alejandra_engine/tests/cases/select/out @@ -1,26 +1,19 @@ [ (a.a) - ( - a + (a . /**/ - a - ) - ( - a + a) + (a /**/ - .a - ) - ( - a + .a) + (a /**/ . /**/ - a - ) + a) (a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a) - ( - a + (a .a .a .a @@ -58,6 +51,5 @@ .a .a .a - .a - ) + .a) ] diff --git a/src/alejandra_engine/tests/cases/with/out b/src/alejandra_engine/tests/cases/with/out index 3551b21..19a6ca0 100644 --- a/src/alejandra_engine/tests/cases/with/out +++ b/src/alejandra_engine/tests/cases/with/out @@ -1,21 +1,16 @@ [ (with b; c) - ( - with b; + (with b; /* b */ - c - ) - ( - with + c) + (with /* a */ - b; c - ) - ( - with + b; c) + (with /* a */ @@ -23,8 +18,7 @@ /* b */ - c - ) + c) (with b; cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc) (with b; cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc) {a = with b; 1;} @@ -47,16 +41,13 @@ # comment } (with a; with b; with c; {a = 1;}) - ( - with a; + (with a; with b; with c; { a = 1; b = 2; - } - ) - ( - with a; + }) + (with a; /* comment */ @@ -64,8 +55,7 @@ with c; { a = 1; b = 2; - } - ) + }) { a = with b; with b; with b; 1; }