Commit 94566e5
Fix stabby lambdas dropping semicolons in multi-statement bodies (#872)
* Fix stabby lambdas dropping semicolons in multi-statement bodies
Stabby lambdas (`->`) with multiple statements separated by semicolons
were formatted inline with soft newlines, causing the semicolons to be
silently dropped and producing invalid Ruby. Now uses the same
multi-statement expansion logic as regular brace blocks: hard newlines
force multi-statement bodies to expand to multiple lines.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* Extract format_brace_block_body helper to deduplicate block formatting
Replaces duplicated multi-statement body logic in format_block_node and
format_lambda_node with a shared helper. Also eliminates unsafe
.unwrap() calls by using if-let pattern matching instead of
is_some_and + unwrap.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>1 parent c031d6b commit 94566e5
3 files changed
Lines changed: 85 additions & 63 deletions
File tree
- fixtures/small
- librubyfmt/src
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2703 | 2703 | | |
2704 | 2704 | | |
2705 | 2705 | | |
| 2706 | + | |
| 2707 | + | |
| 2708 | + | |
| 2709 | + | |
| 2710 | + | |
| 2711 | + | |
| 2712 | + | |
| 2713 | + | |
| 2714 | + | |
| 2715 | + | |
| 2716 | + | |
| 2717 | + | |
| 2718 | + | |
| 2719 | + | |
| 2720 | + | |
| 2721 | + | |
| 2722 | + | |
| 2723 | + | |
| 2724 | + | |
| 2725 | + | |
| 2726 | + | |
| 2727 | + | |
| 2728 | + | |
| 2729 | + | |
| 2730 | + | |
| 2731 | + | |
| 2732 | + | |
| 2733 | + | |
| 2734 | + | |
| 2735 | + | |
| 2736 | + | |
| 2737 | + | |
| 2738 | + | |
| 2739 | + | |
| 2740 | + | |
| 2741 | + | |
| 2742 | + | |
| 2743 | + | |
| 2744 | + | |
| 2745 | + | |
| 2746 | + | |
| 2747 | + | |
| 2748 | + | |
| 2749 | + | |
2706 | 2750 | | |
2707 | 2751 | | |
2708 | 2752 | | |
| |||
2746 | 2790 | | |
2747 | 2791 | | |
2748 | 2792 | | |
2749 | | - | |
2750 | | - | |
2751 | | - | |
2752 | | - | |
2753 | | - | |
2754 | | - | |
2755 | | - | |
2756 | | - | |
2757 | | - | |
2758 | | - | |
2759 | | - | |
2760 | | - | |
2761 | | - | |
2762 | | - | |
2763 | | - | |
2764 | | - | |
2765 | | - | |
2766 | | - | |
2767 | | - | |
2768 | | - | |
2769 | | - | |
2770 | | - | |
2771 | | - | |
2772 | | - | |
2773 | | - | |
2774 | | - | |
2775 | | - | |
2776 | | - | |
2777 | | - | |
2778 | | - | |
| 2793 | + | |
| 2794 | + | |
| 2795 | + | |
2779 | 2796 | | |
2780 | 2797 | | |
2781 | | - | |
2782 | | - | |
2783 | | - | |
2784 | | - | |
2785 | | - | |
2786 | | - | |
2787 | | - | |
2788 | | - | |
2789 | | - | |
2790 | | - | |
2791 | | - | |
2792 | | - | |
| 2798 | + | |
| 2799 | + | |
2793 | 2800 | | |
2794 | 2801 | | |
2795 | 2802 | | |
| |||
4318 | 4325 | | |
4319 | 4326 | | |
4320 | 4327 | | |
4321 | | - | |
4322 | | - | |
4323 | | - | |
4324 | | - | |
4325 | | - | |
4326 | | - | |
4327 | | - | |
4328 | | - | |
4329 | | - | |
4330 | | - | |
4331 | | - | |
4332 | | - | |
4333 | | - | |
4334 | | - | |
| 4328 | + | |
| 4329 | + | |
| 4330 | + | |
4335 | 4331 | | |
4336 | 4332 | | |
4337 | | - | |
4338 | | - | |
4339 | | - | |
4340 | | - | |
4341 | | - | |
4342 | | - | |
4343 | | - | |
| 4333 | + | |
| 4334 | + | |
4344 | 4335 | | |
4345 | 4336 | | |
4346 | 4337 | | |
| |||
0 commit comments