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.8 | 173 | 10/9/2026 |
| 8.0.7 | 2,845 | 10/5/2026 |
| 8.0.6 | 3,079 | 10/1/2026 |
| 8.0.5 | 10,586 | 9/25/2026 |
| 8.0.4 | 1,996 | 9/23/2026 |
| 8.0.3 | 569 | 9/23/2026 |
| 8.0.2 | 4,079 | 9/22/2026 |
| 8.0.1 | 1,805 | 9/21/2026 |
| 8.0.0 | 31,405 | 9/15/2026 |
| 8.0.0-beta-003 | 1,020 | 9/12/2026 |
| 8.0.0-beta-002 | 335 | 9/8/2026 |
| 8.0.0-beta-001 | 886 | 9/1/2026 |
| 8.0.0-alpha-026 | 466 | 8/29/2026 |
| 8.0.0-alpha-025 | 236 | 8/28/2026 |
| 8.0.0-alpha-024 | 136 | 8/28/2026 |
| 8.0.0-alpha-023 | 142 | 8/28/2026 |
| 8.0.0-alpha-022 | 360 | 8/27/2026 |
| 8.0.0-alpha-021 | 123 | 8/27/2026 |
| 8.0.0-alpha-020 | 140 | 8/27/2026 |
| 8.0.0-alpha-019 | 467 | 8/26/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)