fantomas icon indicating copy to clipboard operation
fantomas copied to clipboard

Mixed open and module (alias) statements introduce newlines

Open deyanp opened this issue 2 months ago • 1 comments

Issue created from fantomas-online

Code

open System
open System.Threading
module IO = System.IO
open System.Regular
open System.Regular.Text

Result

open System
open System.Threading

module IO = System.IO

open System.Regular
open System.Regular.Text

Problem description

There should be no newline

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 2025-09-08T06:57:30Z - 31029b10ea2f2f0a8aa7a66c35264ede09cfb0b3

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.

deyanp avatar Oct 27 '25 14:10 deyanp

This is only a problem from a certain point of view. What happens here makes sense to me according to Fantomas' internal rules. Open statements are grouped into an open list; module aliases are not part of that grouping. Thus we end up with three Oak nodes, two of which are multiline, which explains the newlines between the module aliases.

nojaf avatar Oct 29 '25 08:10 nojaf