fantomas
fantomas copied to clipboard
Trivia around paren lambda not restore
Issue created from fantomas-online
Code
Program.statefulWithCmdMsg
|> (fun program ->
{ program with
CanReuseView = ViewHelper.canReuseView
SyncAction =
(fun fn ->
program.SyncAction
(
#if IOS
// iOS animates by default layout changes, we don't want that
fun () -> UIKit.UIView.PerformWithoutAnimation(fn)
#else
fn
#endif
)) })
Error
System.FormatException: Fantomas is trying to format the input multiple times due to the detection of multiple defines.
There is a problem with merging all the code back together.
[] has 7 fragments
[IOS] has 9 fragments
Please raise an issue at https://fsprojects.github.io/fantomas-tools/#/fantomas/preview.
at Fantomas.Core.MultipleDefineCombinations.mergeMultipleFormatResults(FormatConfig config, FSharpList`1 results) in /_//src/Fantomas.Core/MultipleDefineCombinations.fs:line 209
at [email protected](FSharpList`1 results) in /_//src/Fantomas.Core/CodeFormatterImpl.fs:line 99
at Microsoft.FSharp.Control.AsyncPrimitives.CallThenInvokeNoHijackCheck[a,b](AsyncActivation`1 ctxt, b result1, FSharpFunc`2 userCode) in D:\a\_work\1\s\src\FSharp.Core\async.fs:line 525
at Microsoft.FSharp.Control.Trampoline.Execute(FSharpFunc`2 firstAction) in D:\a\_work\1\s\src\FSharp.Core\async.fs:line 112
Problem description
Please describe here the Fantomas problem you encountered. Check out our Contribution Guidelines.
Extra information
- [ ] The formatted result breaks my code.
- [ ] The formatted result gives compiler warnings.
- [x] I or my company would be willing to help fix this.
Options
Fantomas main branch at 2023-04-14T07:44:28Z - dfc29ff1c5f8d70b8fd580651a79d5de32febab8
Default Fantomas configuration
Did you know that you can ignore files when formatting from fantomas-tool or the FAKE targets by using a .fantomasignore file?
Hi Edgar,
Thank you for reporting this issue. I'm going to write some documentation on how you can solve this problem. There is a way to pinpoint where the problem exactly lies.
Also, please try and make your sample as small as possible.
You will probably need to remove |> genNode lambdaNode
in
https://github.com/fsprojects/fantomas/blob/7575a6ce06e44e18867fd6e2ef66bd6b9433a904/src/Fantomas.Core/CodePrinter.fs#L2371
But this will make more sense once the docs are there.
See https://fsprojects.github.io/fantomas/docs/contributors/Multiple%20Times.html