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

Long parameter attribute gives weird line break before type annotation #3073

Open
4 tasks
cmeeren opened this issue Apr 5, 2024 · 0 comments
Open
4 tasks

Comments

@cmeeren
Copy link
Contributor

cmeeren commented Apr 5, 2024

Issue created from fantomas-online

Code and expected output

type Query() =

    member _.SearchOrders
        (
            [<GraphQLType(typeof<ListType<NonNullType<InputObjectType<SearchOrdersSortItem>>>>)>]
            sort: SearchOrdersSortItem list option
        ) =
        ()

Result

type Query() =

    member _.SearchOrders
        ([<GraphQLType(typeof<ListType<NonNullType<InputObjectType<SearchOrdersSortItem>>>>)>] sort:
            SearchOrdersSortItem list option)
        =
        ()

Problem description

When a parameter has a long attribute (several shorter attributes would presumably also give the same effect), the line is broken before the type annotation.

While this particular case is not covered explicitly by the F# code formatting guidelines, the guidelines specify attributes on a separate line in all other (non-parameter) cases, so I believe it would be most consistent to place the attribute on a separate line also in the case of very long attributes.

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

Default Fantomas configuration

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