fantomas 8.0.0-alpha-021

This is a prerelease version of fantomas.
There is a newer prerelease version of this package available.
See the version list below for details.
dotnet tool install --global fantomas --version 8.0.0-alpha-021
                    
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
                    
if you are setting up this repo
dotnet tool install --local fantomas --version 8.0.0-alpha-021
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=fantomas&version=8.0.0-alpha-021&prerelease
                    
nuke :add-package fantomas --version 8.0.0-alpha-021
                    

Fantomas

Fantomas logo

GitHub Workflow Status (event) Discord Nuget (with prereleases) llms.txt llms-full.txt

An opinionated F# source code formatter.

dotnet tool install fantomas

Documentation is available at https://fsprojects.github.io/fantomas/docs/index.html

If you point a coding agent at Fantomas, give it llms.txt for an index of the documentation, or llms-full.txt for all of it in one file.

Contributing Guidelines

See the Contribution Guidelines and our contributors documentation

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last Updated
8.0.0-alpha-026 0 8/29/2026
8.0.0-alpha-025 63 8/28/2026
8.0.0-alpha-024 37 8/28/2026
8.0.0-alpha-023 48 8/28/2026
8.0.0-alpha-022 271 8/27/2026
8.0.0-alpha-021 37 8/27/2026
8.0.0-alpha-020 53 8/27/2026
8.0.0-alpha-019 377 8/26/2026
8.0.0-alpha-018 40 8/26/2026
8.0.0-alpha-017 276 8/25/2026
8.0.0-alpha-016 440 8/25/2026
8.0.0-alpha-015 220 8/24/2026
8.0.0-alpha-014 125 8/20/2026
8.0.0-alpha-013 114 8/19/2026
8.0.0-alpha-012 7,120 4/16/2026
8.0.0-alpha-011 175 4/15/2026
8.0.0-alpha-010 171 4/15/2026
8.0.0-alpha-009 337 4/3/2026
8.0.0-alpha-008 178 3/25/2026
7.0.6 4,538 8/19/2026
Loading failed

### Fixed

- A call in the middle of a chain keeps its parenthesis against the member name when its lambda argument no longer fits, and breaks behind it instead. Up to now the whole argument moved down a line, `(` and all, which is what the last call of a chain does, but for an earlier one it changes what the code means: `a.Foo (x).Bar()` passes `(x).Bar()` to `Foo` rather than calling `Bar` on the result. With a call behind it the compiler rejected the result with "This argument expression needs parentheses"; with a plain member behind it, such as `.Value`, nothing warned at all and the member quietly became part of the argument. Hanging the parameters under `(fun` would keep the parenthesis in place too, and the F# style guide rules that out, because the column they hang from is the length of the member name. The closing `)` answers to `fsharp_multi_line_lambda_closing_newline` as it did before, and the last call of a chain is untouched, since nothing follows it to be swallowed. [#3432](https://github.com/fsprojects/fantomas/issues/3432)