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

Idempotency problem when a comment appears in a function application #3128

Open
1 of 4 tasks
joprice opened this issue Oct 8, 2024 · 1 comment
Open
1 of 4 tasks

Comments

@joprice
Copy link
Contributor

joprice commented Oct 8, 2024

Issue created from fantomas-online

Formatted code

x
    (
    // abc
    // abc
    fun x -> x)

Reformatted code

x
    (
    // abc
    // abc
    // abc
    // abc
    fun x -> x)

Problem description

Fantomas was not able to produce the same code after reformatting the result.

This occurs when there is a comment in a function applicatin before an anonymous function's fun keyword. The text of the comment is doubled on each format.

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.

@nojaf
Copy link
Contributor

nojaf commented Oct 8, 2024

Hi there,

Thank you for reporting this issue! It appears that the trivia for ExprLambdaNode is being printed twice (see online tool).

Off the top of my head, I would guess this occurs in CodePrinter.fs, where genNode may be called for the same node twice, possibly due to the lambda being a child of ExprAppWithLambdaNode.

Would you be interested in submitting a PR for this?

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

No branches or pull requests

2 participants