fantomas 8.0.0-alpha-021

This is a prerelease version of fantomas.
There is a newer 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.4 0 9/23/2026
8.0.3 0 9/23/2026
8.0.2 226 9/22/2026
8.0.1 894 9/21/2026
8.0.0 13,078 9/15/2026
8.0.0-beta-003 951 9/12/2026
8.0.0-beta-002 304 9/8/2026
8.0.0-beta-001 788 9/1/2026
8.0.0-alpha-026 336 8/29/2026
8.0.0-alpha-025 222 8/28/2026
8.0.0-alpha-024 121 8/28/2026
8.0.0-alpha-023 125 8/28/2026
8.0.0-alpha-022 344 8/27/2026
8.0.0-alpha-021 110 8/27/2026
8.0.0-alpha-020 125 8/27/2026
8.0.0-alpha-019 455 8/26/2026
8.0.0-alpha-018 115 8/26/2026
8.0.0-alpha-017 3,042 8/25/2026
8.0.0-alpha-016 486 8/25/2026
8.0.0-alpha-015 256 8/24/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)