Skip to content

Commit d594d9c

Browse files
|> begin is now printed on a single line (#2685)
* showcase issue * fix issue * add test and changelog
1 parent aa948be commit d594d9c

File tree

9 files changed

+158
-5
lines changed

9 files changed

+158
-5
lines changed

CHANGES.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,9 +48,10 @@ profile. This started with version 0.26.0.
4848

4949
### Changed
5050

51-
- \* `~arg:begin`, `begin if`, `lazy begin`, `begin match` and `begin fun` can now be printed on
52-
the same line, with one less indentation level for the body of the inner
53-
expression. (#2664, #2666, #2671, #2672, #2681, @EmileTrotignon) For example :
51+
- \* `|> begin`, `~arg:begin`, `begin if`, `lazy begin`, `begin match` and
52+
`begin fun` can now be printed on the same line, with one less indentation
53+
level for the body of the inner expression. (#2664, #2666, #2671, #2672,
54+
#2681, #2685, @EmileTrotignon) For example :
5455
```ocaml
5556
(* before *)
5657
begin

lib/Fmt_ast.ml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1856,7 +1856,8 @@ and fmt_infix_op_args c ~parens xexp op_args =
18561856
hovbox 2 (fmt_expression c ~parens ~box:false ~pro xarg)
18571857
else
18581858
match xarg.ast.pexp_desc with
1859-
| Pexp_function _ -> hvbox 0 (fmt_expression c ~pro ~parens xarg)
1859+
| Pexp_function _ | Pexp_beginend _ ->
1860+
hvbox 0 (fmt_expression c ~pro ~parens xarg)
18601861
| _ ->
18611862
hvbox 0
18621863
( pro

test/passing/refs.default/exp_grouping-parens.ml.ref

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -514,3 +514,21 @@ let _ =
514514
force breakkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk;
515515
return value)
516516
~last ~args
517+
518+
let _ =
519+
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa |>>>>> fun xxxxxxx ->
520+
xxxxxxxxxxxxxxxxxxxxxxx;
521+
aaaaaaaaaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaaaaaa
522+
523+
let _ =
524+
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
525+
|>>>>>
526+
match xxxxxxx with
527+
| A -> xxxxxxxxxxxxxxxxxxxxxxx
528+
| B -> aaaaaaaaaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaaaaaa
529+
530+
let _ =
531+
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
532+
|>>>>>
533+
(xxxxxxxxxxxxxxxxxxxxxxx;
534+
aaaaaaaaaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaaaaaa)

test/passing/refs.default/exp_grouping.ml.ref

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -593,3 +593,24 @@ let _ =
593593
return value
594594
end
595595
~last ~args
596+
597+
let _ =
598+
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
599+
|>>>>> begin fun xxxxxxx ->
600+
xxxxxxxxxxxxxxxxxxxxxxx;
601+
aaaaaaaaaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaaaaaa
602+
end
603+
604+
let _ =
605+
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
606+
|>>>>> begin match xxxxxxx with
607+
| A -> xxxxxxxxxxxxxxxxxxxxxxx
608+
| B -> aaaaaaaaaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaaaaaa
609+
end
610+
611+
let _ =
612+
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
613+
|>>>>> begin
614+
xxxxxxxxxxxxxxxxxxxxxxx;
615+
aaaaaaaaaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaaaaaa
616+
end

test/passing/refs.janestreet/exp_grouping-parens.ml.ref

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -591,3 +591,25 @@ let _ =
591591
~last
592592
~args
593593
;;
594+
595+
let _ =
596+
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
597+
|>>>>> fun xxxxxxx ->
598+
xxxxxxxxxxxxxxxxxxxxxxx;
599+
aaaaaaaaaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaaaaaa
600+
;;
601+
602+
let _ =
603+
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
604+
|>>>>>
605+
match xxxxxxx with
606+
| A -> xxxxxxxxxxxxxxxxxxxxxxx
607+
| B -> aaaaaaaaaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaaaaaa
608+
;;
609+
610+
let _ =
611+
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
612+
|>>>>>
613+
(xxxxxxxxxxxxxxxxxxxxxxx;
614+
aaaaaaaaaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaaaaaa)
615+
;;

test/passing/refs.janestreet/exp_grouping.ml.ref

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -683,3 +683,27 @@ let _ =
683683
~last
684684
~args
685685
;;
686+
687+
let _ =
688+
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
689+
|>>>>> begin fun xxxxxxx ->
690+
xxxxxxxxxxxxxxxxxxxxxxx;
691+
aaaaaaaaaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaaaaaa
692+
end
693+
;;
694+
695+
let _ =
696+
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
697+
|>>>>> begin match xxxxxxx with
698+
| A -> xxxxxxxxxxxxxxxxxxxxxxx
699+
| B -> aaaaaaaaaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaaaaaa
700+
end
701+
;;
702+
703+
let _ =
704+
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
705+
|>>>>> begin
706+
xxxxxxxxxxxxxxxxxxxxxxx;
707+
aaaaaaaaaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaaaaaa
708+
end
709+
;;

test/passing/refs.ocamlformat/exp_grouping-parens.ml.ref

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -508,3 +508,24 @@ let _ =
508508
force breakkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk ;
509509
return value )
510510
~last ~args
511+
512+
let _ =
513+
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
514+
|>>>>> fun xxxxxxx ->
515+
xxxxxxxxxxxxxxxxxxxxxxx ;
516+
aaaaaaaaaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaaaaaa
517+
518+
let _ =
519+
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
520+
|>>>>>
521+
match xxxxxxx with
522+
| A ->
523+
xxxxxxxxxxxxxxxxxxxxxxx
524+
| B ->
525+
aaaaaaaaaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaaaaaa
526+
527+
let _ =
528+
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
529+
|>>>>>
530+
( xxxxxxxxxxxxxxxxxxxxxxx ;
531+
aaaaaaaaaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaaaaaa )

test/passing/refs.ocamlformat/exp_grouping.ml.ref

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -588,3 +588,26 @@ let _ =
588588
return value
589589
end
590590
~last ~args
591+
592+
let _ =
593+
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
594+
|>>>>> begin fun xxxxxxx ->
595+
xxxxxxxxxxxxxxxxxxxxxxx ;
596+
aaaaaaaaaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaaaaaa
597+
end
598+
599+
let _ =
600+
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
601+
|>>>>> begin match xxxxxxx with
602+
| A ->
603+
xxxxxxxxxxxxxxxxxxxxxxx
604+
| B ->
605+
aaaaaaaaaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaaaaaa
606+
end
607+
608+
let _ =
609+
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
610+
|>>>>> begin
611+
xxxxxxxxxxxxxxxxxxxxxxx ;
612+
aaaaaaaaaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaaaaaa
613+
end

test/passing/tests/exp_grouping.ml

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -465,4 +465,26 @@ let _ =
465465
force breakkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk;
466466
return value
467467
end
468-
~last ~args
468+
~last ~args
469+
470+
let _ =
471+
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
472+
|>>>>> begin fun xxxxxxx ->
473+
xxxxxxxxxxxxxxxxxxxxxxx ;
474+
aaaaaaaaaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaaaaaa
475+
end
476+
477+
let _ =
478+
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
479+
|>>>>> begin match xxxxxxx with
480+
| A -> xxxxxxxxxxxxxxxxxxxxxxx
481+
| B -> aaaaaaaaaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaaaaaa
482+
end
483+
484+
485+
let _ =
486+
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
487+
|>>>>> begin
488+
xxxxxxxxxxxxxxxxxxxxxxx ;
489+
aaaaaaaaaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaaaaaa
490+
end

0 commit comments

Comments
 (0)