fantomas 8.0.0-beta-002
See the version list below for details.
dotnet tool install --global fantomas --version 8.0.0-beta-002
dotnet new tool-manifest
dotnet tool install --local fantomas --version 8.0.0-beta-002
#tool dotnet:?package=fantomas&version=8.0.0-beta-002&prerelease
nuke :add-package fantomas --version 8.0.0-beta-002
Fantomas

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 | Versions 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. |
This package has no dependencies.
| Version | Downloads | Last Updated |
|---|---|---|
| 8.0.0 | 5,555 | 9/15/2026 |
| 8.0.0-beta-003 | 638 | 9/12/2026 |
| 8.0.0-beta-002 | 291 | 9/8/2026 |
| 8.0.0-beta-001 | 785 | 9/1/2026 |
| 8.0.0-alpha-026 | 309 | 8/29/2026 |
| 8.0.0-alpha-025 | 218 | 8/28/2026 |
| 8.0.0-alpha-024 | 118 | 8/28/2026 |
| 8.0.0-alpha-023 | 122 | 8/28/2026 |
| 8.0.0-alpha-022 | 339 | 8/27/2026 |
| 8.0.0-alpha-021 | 108 | 8/27/2026 |
| 8.0.0-alpha-020 | 122 | 8/27/2026 |
| 8.0.0-alpha-019 | 450 | 8/26/2026 |
| 8.0.0-alpha-018 | 113 | 8/26/2026 |
| 8.0.0-alpha-017 | 1,723 | 8/25/2026 |
| 8.0.0-alpha-016 | 483 | 8/25/2026 |
| 8.0.0-alpha-015 | 252 | 8/24/2026 |
| 8.0.0-alpha-014 | 168 | 8/20/2026 |
| 8.0.0-alpha-013 | 141 | 8/19/2026 |
| 8.0.0-alpha-012 | 10,290 | 4/16/2026 |
| 7.0.6 | 21,548 | 8/19/2026 |
### Fixed
- Unexpected symbol '<' in expression - Fantomas 8 regression. When the left-hand side of `=`, `>`, `<`, `%` or `%%` spans several lines, the operator takes a line of its own one level in, as `8.0.0-beta-001` introduced. That level was measured from the enclosing indent rather than from the column the left-hand side starts at. The two are the same at the start of a binding, and differ after something like `&& (`, where the operator then landed on the column of the left-hand side and was offside: the parser read `<` as the start of a type application and rejected the output. The layout now asks where its fresh line would land and adds whole indent levels until that clears the left-hand side, the way a chain's dots have cleared its head since `8.0.0-alpha-024`, so the operator and the right-hand side sit one level to the right of it and every column stays a multiple of the indent size. That shared step is `indentPast` in `Context.fs`, the helper [#3446](https://github.com/fsprojects/fantomas/issues/3446) asked for once a second caller turned up. [#3463](https://github.com/fsprojects/fantomas/issues/3463)