diff --git a/crates/aiken-lang/src/format.rs b/crates/aiken-lang/src/format.rs index fa6d2d4d..29111630 100644 --- a/crates/aiken-lang/src/format.rs +++ b/crates/aiken-lang/src/format.rs @@ -1030,18 +1030,20 @@ impl<'comments> Formatter<'comments> { _ => self.wrap_expr(expr), }; - let expr = self.operator_side(doc, 4, expr.binop_precedence()); + let expr = self + .operator_side(doc, 4, expr.binop_precedence()) + .nest(2 * INDENT + 1); match printed_comments(comments, true) { None => { - let pipe = prebreak("|> ", " |> ").nest(2); + let pipe = prebreak("|> ", " |> ").nest(INDENT); docs.push(pipe.append(expr)); } Some(comments) => { let pipe = prebreak("|> ", "|> "); docs.push( " ".to_doc() - .append(comments.nest(2).append(pipe.append(expr).group())), + .append(comments.nest(INDENT).append(pipe.append(expr).group())), ); } } diff --git a/crates/aiken-lang/src/tests/format.rs b/crates/aiken-lang/src/tests/format.rs index 674331e1..b68412ee 100644 --- a/crates/aiken-lang/src/tests/format.rs +++ b/crates/aiken-lang/src/tests/format.rs @@ -723,3 +723,28 @@ fn format_trace_callback() { assert_fmt(src, expected); } + +#[test] +fn format_pipe_fn() { + let src = indoc! { r#" + fn foo() { + outputs + |> list.any( + fn(output) { value.quantity_of(output.value, policy_id, asset_name) == 1 }, + ) + } + "#}; + + let expected = indoc! { r#" + fn foo() { + outputs + |> list.any( + fn(output) { + value.quantity_of(output.value, policy_id, asset_name) == 1 + }, + ) + } + "#}; + + assert_fmt(src, expected); +} diff --git a/examples/acceptance_tests/036/validators/spend.ak b/examples/acceptance_tests/036/validators/spend.ak index eee9d633..3613b3e0 100644 --- a/examples/acceptance_tests/036/validators/spend.ak +++ b/examples/acceptance_tests/036/validators/spend.ak @@ -20,7 +20,7 @@ validator { } } -validator (output_reference: OutputReference) { +validator(output_reference: OutputReference) { fn mint(_redeemer: Void, ctx: ScriptContext) -> Bool { when list.find( diff --git a/examples/acceptance_tests/078/lib/tests.ak b/examples/acceptance_tests/078/lib/tests.ak index a8a6bad3..4302864b 100644 --- a/examples/acceptance_tests/078/lib/tests.ak +++ b/examples/acceptance_tests/078/lib/tests.ak @@ -10,8 +10,10 @@ type DayOfTheWeek { fn is_work(day: DayOfTheWeek) { when day is { - Tuesday | Wednesday | Thursday | Friday | Saturday -> True - _ -> False + Tuesday | Wednesday | Thursday | Friday | Saturday -> + True + _ -> + False } } @@ -25,10 +27,12 @@ test is_work_2() { fn is_happy_hour(day: DayOfTheWeek, current_time: Int) { when day is { - Monday | Sunday -> True + Monday | Sunday -> + True Tuesday | Wednesday | Thursday | Friday | Saturday if current_time > 18 -> True - _ -> False + _ -> + False } }