fantomas 8.0.0-alpha-020

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-020
                    
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-020
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=fantomas&version=8.0.0-alpha-020&prerelease
                    
nuke :add-package fantomas --version 8.0.0-alpha-020
                    

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-beta-001 0 9/1/2026
8.0.0-alpha-026 126 8/29/2026
8.0.0-alpha-025 143 8/28/2026
8.0.0-alpha-024 61 8/28/2026
8.0.0-alpha-023 71 8/28/2026
8.0.0-alpha-022 293 8/27/2026
8.0.0-alpha-021 56 8/27/2026
8.0.0-alpha-020 73 8/27/2026
8.0.0-alpha-019 400 8/26/2026
8.0.0-alpha-018 59 8/26/2026
8.0.0-alpha-017 311 8/25/2026
8.0.0-alpha-016 451 8/25/2026
8.0.0-alpha-015 226 8/24/2026
8.0.0-alpha-014 132 8/20/2026
8.0.0-alpha-013 115 8/19/2026
8.0.0-alpha-012 7,814 4/16/2026
8.0.0-alpha-011 178 4/15/2026
8.0.0-alpha-010 172 4/15/2026
8.0.0-alpha-009 341 4/3/2026
7.0.6 7,243 8/19/2026
Loading failed

### Fixed

- A list or an array on the right of `=`, `>`, `<`, `%` or `%%` is indented from the binding again, so `let a = b = [ ... ]` breaks to `b = [` with its items one level in and the `]` back at the column of `b`. Since `8.0.0-alpha-003` both the items and the closing bracket sat a further level to the right. The right-hand side of these operators is indented so that a comment between the operator and that side lands below the operator, which is what [#2944](https://github.com/fsprojects/fantomas/issues/2944) asked for, and so that the lines under a chain or an application are not read as a continuation of the left-hand side. A list or an array needs neither: its bracket says where the right-hand side begins and indents its items from the left-hand side by itself, so indenting it again pushed the items and the closing bracket a level too far. This concerns `aligned`, which is the default, and `stroustrup`. `cramped` lines the items up under the opening bracket, so the indent never reached them and nothing changes there. Right-hand sides that open a bracket in some other way, such as `seq { }`, `<@ @>`, `begin ... end` and `new T(...)`, still carry the extra level; where a no-break operator should put what follows it is a wider question than this fix. [#3428](https://github.com/fsprojects/fantomas/issues/3428)