fantomas 8.0.4

There is a newer version of this package available.
See the version list below for details.
dotnet tool install --global fantomas --version 8.0.4
                    
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.4
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=fantomas&version=8.0.4
                    
nuke :add-package fantomas --version 8.0.4
                    

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.

Reporting a bug

Report bugs through the online tool, which opens an issue with everything needed to reproduce it.

With a coding agent, the fantomas-report skill shrinks the file Fantomas failed on to a minimal sample and opens the same issue form for you to review:

npx skills add fsprojects/fantomas --skill fantomas-report -g

See Reporting a bug for more.

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.8 1,111 10/9/2026
8.0.7 4,016 10/5/2026
8.0.6 3,302 10/1/2026
8.0.5 12,795 9/25/2026
8.0.4 2,101 9/23/2026
8.0.3 616 9/23/2026
8.0.2 4,120 9/22/2026
8.0.1 1,857 9/21/2026
8.0.0 32,848 9/15/2026
8.0.0-beta-003 1,021 9/12/2026
8.0.0-beta-002 341 9/8/2026
8.0.0-beta-001 1,068 9/1/2026
8.0.0-alpha-026 477 8/29/2026
8.0.0-alpha-025 238 8/28/2026
8.0.0-alpha-024 137 8/28/2026
8.0.0-alpha-023 143 8/28/2026
8.0.0-alpha-022 367 8/27/2026
8.0.0-alpha-021 124 8/27/2026
8.0.0-alpha-020 140 8/27/2026
8.0.0-alpha-019 476 8/26/2026
Loading failed

### Fixed

- Infix operator with a computation expression on the right-hand side produces invalid code. `x := { ... }` was read as a computation expression named `(:=) x` and printed as `:= x { ... }`, which does not compile. It is now an infix application and printed as written. [#3494](https://github.com/fsprojects/fantomas/pull/3494)
- Comment after a parameter of an extern binding with attributes is lost. The range of such a binding stopped at its name, so a comment after one of its parameters was not attached to anything. The binding now spans up to its closing parenthesis. [#3494](https://github.com/fsprojects/fantomas/pull/3494)
- Comment after a parameter of a multiline extern binding gets two spaces in front of it. The comma at the end of the line kept its trailing space, and the comment added its own. [#3494](https://github.com/fsprojects/fantomas/pull/3494)
- `in` keyword of `let!` moves to the last `and!` binding. The parser keeps one `in` for a `let!` and its `and!` bindings, and it always went to the last one. It now stays after the binding it followed. [#3494](https://github.com/fsprojects/fantomas/pull/3494)