Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Weird break after Some instead of binary operator #3110

Open
4 tasks
cmeeren opened this issue Aug 27, 2024 · 0 comments
Open
4 tasks

Weird break after Some instead of binary operator #3110

cmeeren opened this issue Aug 27, 2024 · 0 comments

Comments

@cmeeren
Copy link
Contributor

cmeeren commented Aug 27, 2024

Issue created from fantomas-online

Code

let foo = xs |> List.filter (fun x -> x.FooBar = Some y)

Result

let foo =
    xs
    |> List.filter
        (fun x ->
            x.FooBar = Some
                y)

Problem description

Breaking at Some instead of = seems to be breaking at an incorrect semantic level.

Compare with the result if replacing = with <>, which makes more sense:

let foo =
    xs
    |> List.filter
        (fun x ->
            x.FooBar
            <> Some y)

Note that the example uses an artificially low max line length to reproduce with simple code. In real code, I have a max length of 120 and (in this case) some long names in nested modules/functions/expressions.

Extra information

  • The formatted result breaks my code.
  • The formatted result gives compiler warnings.
  • I or my company would be willing to help fix this.
  • I would like a release if this problem is solved.

Options

Fantomas main branch at 1/1/1990

    { config with
                MaxLineLength = 25 }

Did you know that you can ignore files when formatting by using a .fantomasignore file?
PS: It's unlikely that someone else will solve your specific issue, as it's something that you have a personal stake in.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant