Correctly nest multiline pipeline expressions.
This commit is contained in:
parent
cb5dc75326
commit
17431daaa4
|
@ -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())),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -20,7 +20,7 @@ validator {
|
|||
}
|
||||
}
|
||||
|
||||
validator (output_reference: OutputReference) {
|
||||
validator(output_reference: OutputReference) {
|
||||
fn mint(_redeemer: Void, ctx: ScriptContext) -> Bool {
|
||||
when
|
||||
list.find(
|
||||
|
|
|
@ -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
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue