fantomas-tool
4.4.0
This library aims at formatting F# source files based on a given configuration.
Fantomas will ensure correct indentation and consistent spacing between elements in the source files.
Some common use cases include
(1) Reformatting a code base to conform a universal page width
(2) Converting legacy code from verbose syntax to light syntax
(3) Formatting auto-generated F# signatures.
See the version list below for details.
dotnet tool install --global fantomas-tool --version 4.4.0
dotnet new tool-manifest # if you are setting up this repo dotnet tool install --local fantomas-tool --version 4.4.0
#tool dotnet:?package=fantomas-tool&version=4.4.0
Release Notes
Revisit SynExpr.IfThenElse. [#1258](https://github.com/fsprojects/fantomas/issues/1258)
Target netcoreapp3.1 for fantomas-tool.
Stricter trivia selection. [#1304](https://github.com/fsprojects/fantomas/pull/1304)
Fix Idempotency problem when function argument's type annotation requires brackets. [#1470](https://github.com/fsprojects/fantomas/issues/1470)
Fix Inconsistency about when fantomas decides to split `()` (unit) to the next line. [#1469](https://github.com/fsprojects/fantomas/issues/1469)
Fix Unexpected newline between hash directives. [#1464](https://github.com/fsprojects/fantomas/issues/1464)
Fix Oscillating newlines in custom computation expression. [#1463](https://github.com/fsprojects/fantomas/issues/1463)
Fix Violation of "avoid name-sensitive alignments" clause. [#1422](https://github.com/fsprojects/fantomas/issues/1422)
Fix Incorrectly combines tokens when formatting. [#1407](https://github.com/fsprojects/fantomas/issues/1407)
Fix string interpolation with multi-line string causes literal part to change. [#1451](https://github.com/fsprojects/fantomas/issues/1451)
Fix `when` clause in try-with block gets split and causes compiler warnings about indentation. [#1406](https://github.com/fsprojects/fantomas/issues/1406)
Fix Long line breaks match. [#1403](https://github.com/fsprojects/fantomas/issues/1403)
Fix Long line causes offside error. [#1402](https://github.com/fsprojects/fantomas/issues/1402)
Fix Nested matches format into something invalid. [#1400](https://github.com/fsprojects/fantomas/issues/1400)
Fix Shortening big `if` clause still creates compiler warnings. [#1390](https://github.com/fsprojects/fantomas/issues/1390)
Fix “FS0058: Possible incorrect indentation” on function composition after running Fantomas. [#1341](https://github.com/fsprojects/fantomas/issues/1341)
Fix Typed App followed by chained lambda should not add space. [#1448](https://github.com/fsprojects/fantomas/issues/1448)
Fix TypedApp should not have a space when chained. [#1447](https://github.com/fsprojects/fantomas/issues/1447)
Fix Unexpected newline after short match expression. [#1445](https://github.com/fsprojects/fantomas/issues/1445)
Fix Space after chain lambda function is not allowed. [#1440](https://github.com/fsprojects/fantomas/issues/1440)
Fix Formatting error with MultilineBlockBracketsOnSameColumn. [#1396](https://github.com/fsprojects/fantomas/issues/1396)
Fix fsharp_space_before_uppercase_invocation=true breaks method calls. [#1437](https://github.com/fsprojects/fantomas/issues/1437)
Fix Crash regression on 4.4.0-beta-003. [#1438](https://github.com/fsprojects/fantomas/issues/1438)
Fix MultiLineLambdaClosingNewline concats lambda arguments. [#1427](https://github.com/fsprojects/fantomas/issues/1427)
Fix `member val` causes invalid code to be generated. [#1426](https://github.com/fsprojects/fantomas/issues/1426)
Fix Surround return type annotations with white space [F# style guide]. [#1420](https://github.com/fsprojects/fantomas/issues/1420)
Fix Lists concatene onto one line invalidly. [#1405](https://github.com/fsprojects/fantomas/issues/1405)
Fix Accessibility modifier on record causes unindentation of following type. [#1404](https://github.com/fsprojects/fantomas/issues/1404)
Fix Invalid addition of a space after constructor invocation. [#1401](https://github.com/fsprojects/fantomas/issues/1401)
Fix "Inline" is incorrectly stripped out in FSI file. [#1399](https://github.com/fsprojects/fantomas/issues/1399)
Fix Multiple type checks in a `try/with` get collapsed. [#1395](https://github.com/fsprojects/fantomas/issues/1395)
Fix Short line length and member constraint leads to invalid code. [#1394](https://github.com/fsprojects/fantomas/issues/1394)
Fix Object expression newline gets added/removed. [#1388](https://github.com/fsprojects/fantomas/issues/1388)
Fix Arrays of constructors with lots of arguments gets dedented too much. [#1382](https://github.com/fsprojects/fantomas/issues/1382)
Fix Format in pre-commit hook. [#1207](https://github.com/fsprojects/fantomas/issues/1207)
Fix Shortening an 'if' condition causes compilation warnings about indentation. [#1374](https://github.com/fsprojects/fantomas/issues/1374)
Fix Some escapes are unexpectedly modified in character literal patterns. [#1372](https://github.com/fsprojects/fantomas/issues/1372)
Fix Fantomas formats with an error for very long DU case match. [#1364](https://github.com/fsprojects/fantomas/issues/1364)
Fix Fantomas errors out on `new Foo ""`. [#1363](https://github.com/fsprojects/fantomas/issues/1363)
Fix Aesthetics of long members in a type declaration. [#1362](https://github.com/fsprojects/fantomas/issues/1362)
Fix Comment on first constructor argument gets removed. [#1350](https://github.com/fsprojects/fantomas/issues/1350)
Fix “FS0058: Possible incorrect indentation” around if/then/else after running Fantomas. [#1349](https://github.com/fsprojects/fantomas/issues/1349)
Fix Failing to format file should return an exit code different than 0. [#1340](https://github.com/fsprojects/fantomas/issues/1340)
Fix Shorter MaxLineLength with long variable name yields invalid F# code according to fantomas. [#1241](https://github.com/fsprojects/fantomas/issues/1241)
Fix MultilineBlockBracketsOnSameColumn should be honored inside match block. [#1238](https://github.com/fsprojects/fantomas/issues/1238)
Fix Update constructor formatting to match MS Style guide. [#1359](https://github.com/fsprojects/fantomas/issues/1359)
Fix Violation of name-sensitive alignments. [#1358](https://github.com/fsprojects/fantomas/issues/1358)
Fix Pattern matching breaks code when expression is long and somewhat complex. [#1352](https://github.com/fsprojects/fantomas/issues/1352)
Fix Inserts extra newline everytime formatter runs. [#1346](https://github.com/fsprojects/fantomas/issues/1346)
Fix Functions looses space before parameter if func is defined inside method. [#1345](https://github.com/fsprojects/fantomas/issues/1345)
Fix Required backslash removed in string interpolation. [#1344](https://github.com/fsprojects/fantomas/issues/1344)
Fix Swallows comment before #nowarn directive. [#1220](https://github.com/fsprojects/fantomas/issues/1220)
Fix Swallows comment inside `with` block (of a try-with). [#1219](https://github.com/fsprojects/fantomas/issues/1219)
Fix Program.fs inside full path can lead to invalid AST. [#1337](https://github.com/fsprojects/fantomas/issues/1337)
Fix Formatting of long parameter lists. [#657](https://github.com/fsprojects/fantomas/issues/657)
Fix DotGet inside If expression not correct on second format. [#1329](https://github.com/fsprojects/fantomas/issues/1329)
Fix Pipe is indented too far. [#1327](https://github.com/fsprojects/fantomas/issues/1327)
Fix IfThenElse piped leads to invalid code. [#1324](https://github.com/fsprojects/fantomas/issues/1324)
Fix Multiline when condition in pattern match needs to be further indented. [#1320](https://github.com/fsprojects/fantomas/issues/1320)
Fix Add comma in front of expression in tuple with if/then/else. [#1319](https://github.com/fsprojects/fantomas/issues/1319)
Fix New line before for loop not preserved. [#1317](https://github.com/fsprojects/fantomas/issues/1317)
Fix Newline before set expression is lost. [#1314](https://github.com/fsprojects/fantomas/issues/1314)
Fix Newline after let bang is missing. [#1313](https://github.com/fsprojects/fantomas/issues/1313)
Fix Revisit place parameters on a new line for long definitions. [#1307](https://github.com/fsprojects/fantomas/issues/1307)
Fix static member should only have a single indent. [#1300](https://github.com/fsprojects/fantomas/issues/1300)
Fix Elmish-like syntax using yields with interspersed let statements breaks the code. [#1191](https://github.com/fsprojects/fantomas/issues/1191)
Fix The 'member' keyword gets deleted in 'abstract member' declarations. [#1106](https://github.com/fsprojects/fantomas/issues/1106)
Fix Don't indent too far. [#659](https://github.com/fsprojects/fantomas/issues/659)
Fix static member should only have a single indent. [#1300](https://github.com/fsprojects/fantomas/issues/1300)
Fix Named string argument to type provider requires a space prior to '@' which Fantomas removes. [#1209](https://github.com/fsprojects/fantomas/issues/1209)
Fix Don't indent too far. [#659](https://github.com/fsprojects/fantomas/issues/659)
Fix spaces removed from string. [#1290](https://github.com/fsprojects/fantomas/issues/1290)
Dependencies
This package has no dependencies.
Version History
Version | Downloads | Last updated |
---|---|---|
4.5.0-alpha-009 | 31 | 4/11/2021 |
4.5.0-alpha-008 | 180 | 4/8/2021 |
4.5.0-alpha-007 | 52 | 4/8/2021 |
4.5.0-alpha-006 | 40 | 4/5/2021 |
4.5.0-alpha-005 | 484 | 4/3/2021 |
4.5.0-alpha-004 | 60 | 4/2/2021 |
4.5.0-alpha-003 | 373 | 3/28/2021 |
4.5.0-alpha-002 | 215 | 3/22/2021 |
4.5.0-alpha-001 | 1,469 | 2/26/2021 |
4.4.0 | 1,915 | 2/25/2021 |
4.4.0-beta-008 | 325 | 2/19/2021 |
4.4.0-beta-007 | 60 | 2/12/2021 |
4.4.0-beta-006 | 312 | 2/12/2021 |
4.4.0-beta-005 | 79 | 2/9/2021 |
4.4.0-beta-004 | 271 | 2/5/2021 |
4.4.0-beta-003 | 269 | 1/30/2021 |
4.4.0-beta-002 | 131 | 1/23/2021 |
4.4.0-beta-001 | 66 | 1/22/2021 |
4.4.0-alpha-008 | 119 | 1/15/2021 |
4.4.0-alpha-007 | 1,635 | 12/26/2020 |
4.4.0-alpha-006 | 140 | 12/25/2020 |
4.4.0-alpha-005 | 130 | 12/23/2020 |
4.4.0-alpha-004 | 102 | 12/22/2020 |
4.4.0-alpha-003 | 140 | 12/18/2020 |
4.4.0-alpha-002 | 115 | 12/17/2020 |
4.4.0-alpha-001 | 123 | 12/17/2020 |
4.3.0 | 2,100 | 12/17/2020 |
4.3.0-beta-002 | 165 | 12/11/2020 |
4.3.0-beta-001 | 123 | 12/7/2020 |
4.3.0-alpha-007 | 154 | 11/21/2020 |
4.3.0-alpha-006 | 170 | 11/20/2020 |
4.3.0-alpha-005 | 127 | 11/16/2020 |
4.3.0-alpha-004 | 125 | 11/12/2020 |
4.3.0-alpha-003 | 116 | 11/10/2020 |
4.3.0-alpha-002 | 154 | 10/26/2020 |
4.3.0-alpha-001 | 941 | 10/23/2020 |
4.2.0 | 2,276 | 9/25/2020 |
4.2.0-alpha-004 | 257 | 9/23/2020 |
4.2.0-alpha-003 | 154 | 9/21/2020 |
4.2.0-alpha-002 | 195 | 9/19/2020 |
4.2.0-alpha-001 | 172 | 9/18/2020 |
4.1.1 | 1,339 | 9/17/2020 |
4.1.0 | 396 | 9/10/2020 |
4.1.0-beta-004 | 229 | 9/5/2020 |
4.1.0-beta-003 | 214 | 9/4/2020 |
4.1.0-beta-002 | 179 | 9/4/2020 |
4.1.0-beta-001 | 177 | 9/3/2020 |
4.1.0-alpha-001 | 173 | 9/1/2020 |
4.0.0 | 1,884 | 8/27/2020 |
4.0.0-beta-003 | 156 | 8/21/2020 |
4.0.0-beta-002 | 746 | 8/7/2020 |
4.0.0-beta-001 | 454 | 7/20/2020 |
4.0.0-alpha-014 | 237 | 7/14/2020 |
4.0.0-alpha-013 | 174 | 7/11/2020 |
4.0.0-alpha-012 | 485 | 7/6/2020 |
4.0.0-alpha-011 | 158 | 6/25/2020 |
4.0.0-alpha-010 | 161 | 6/18/2020 |
4.0.0-alpha-009 | 161 | 6/12/2020 |
4.0.0-alpha-008 | 182 | 6/2/2020 |
4.0.0-alpha-007 | 153 | 6/1/2020 |
4.0.0-alpha-006 | 222 | 5/23/2020 |
4.0.0-alpha-005 | 377 | 5/16/2020 |
4.0.0-alpha-004 | 688 | 5/4/2020 |
4.0.0-alpha-003 | 224 | 5/3/2020 |
4.0.0-alpha-002 | 166 | 4/26/2020 |
4.0.0-alpha-001 | 159 | 4/20/2020 |
3.3.0 | 4,536 | 2/28/2020 |
3.3.0-beta-002 | 770 | 2/21/2020 |
3.3.0-beta-001 | 271 | 2/18/2020 |
3.2.0 | 1,100 | 2/3/2020 |
3.2.0-beta-002 | 450 | 1/7/2020 |
3.2.0-beta-001 | 231 | 12/26/2019 |
3.1.0 | 7,958 | 11/27/2019 |
3.0.0 | 593 | 10/11/2019 |
3.0.0-beta-006 | 208 | 10/2/2019 |
3.0.0-beta-005 | 196 | 9/27/2019 |
3.0.0-beta-004 | 194 | 9/18/2019 |
3.0.0-beta-003 | 216 | 9/13/2019 |
3.0.0-beta-002 | 549 | 7/20/2019 |
3.0.0-beta-001 | 263 | 7/12/2019 |
2.9.2 | 5,545 | 2/2/2019 |
2.9.1 | 921 | 11/20/2018 |
2.9.0 | 556 | 10/17/2018 |
2.8.1 | 503 | 9/12/2018 |
2.8.0 | 539 | 7/7/2018 |