fantomas-tool 4.0.0-beta-001

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.

This is a prerelease version of fantomas-tool.
There is a newer prerelease version of this package available.
See the version list below for details.
dotnet tool install --global fantomas-tool --version 4.0.0-beta-001
This package contains a .NET Core Global Tool you can call from the shell/command line.

Release Notes

Update FCS to 36. [#899]( [#961](
Replaced json configuration with .editorconfig. [#650](
Sunset setting ReorderOpenDeclaration. [#645](
Sunset setting KeepNewlineAfter. [#737](
Renamed setting IndentSpaceNum to IndentSize. [#940](
Renamed setting PageWidth to MaxLineLength. [#940](
Removed all style configuration options from CLI tool. [#704](
Added [Benchmarks]( [#867](
Split up setting SpaceBeforeArgument to multiple settings. [#649](
- SpaceBeforeParameter
- SpaceBeforeLowercaseInvocation
- SpaceBeforeUppercaseInvocation
- SpaceBeforeClassConstructor
- SpaceBeforeMember
Increase control over length of certain code constructs. [#697](
- MaxRecordWidth
- MaxArrayOrListWidth
- MaxValueBindingWidth
- MaxFunctionBindingWidth
- MaxElmishWidth
Better support for Elmish inspired code. [#922](
Feature SingleArgumentWebMode. [#927](
Feature AlignFunctionSignatureToIndentation. [#946](
Feature AlternativeLongMemberDefinitions. [#913](
Feature MultilineBlockBracketsOnSameColumn. [#453](
Feature NewlineBetweenTypeDefinitionAndMembers. [#752](
Feature KeepIfThenInSameLine. [#825](
Fix List expression can get combined to a single line with different semantics. [#931](
Fix Additional new line inserted around attributes. [#949](
Fix `with get` removal in FSI invalid. [#945](
Fix FSI file has "abstract" stripped. [#944](
Fix Insertion of space before function application can break dot-chaining. [#943](
Fix Concatenation of lines can break operator precedence. [#942](
Fix Extra spaces inserted in record definition. [#941](
Fix Comments at the end of async blocks are deleted automatically. [#936](
Fix Newline between comments should lead to individual comments. [#920](
Fix VS Code | Extra white space added to record definition. [#910](
Fix When cutting off function invocations should place each param in its own line (or align them to the 1st param). [#907](
Fix Try online link points to old location. [#890](
Fix Leading `|` in single-case union type with access modifier. [#889](
Fix Type constraint on a type definition causes a loss of the type definition. [#887](
Fix Fantomas removes the 'and' if there are multiple member constraints on a function declaration. [#886](
Fix Comments inside a type definition can cause issues. [#885](
Fix Long function signature should align with equal sign. [#883](
Fix Newline not preserved between let and let bang. [#879](
Fix Stackoverflow problem with let bang in match. [#876](
Fix Incorrect formatting for chained class members using Websharper. [#871](
Fix Pipe before and inside lambda leads to wrong indent of following lambda. [#870](
Fix Formatting Program.fs with `--check` fails. [#869](
Fix Possible wrong indentation for functions with parameters over multiple lines. [#868](
Fix Invalid unit test ``different attributes according to defines``. [#864](
Fix Invalid unit test ``record instance with inherit keyword``. [#861](
Fix Invalid unit test ``should add space before type provider params``. [#859](
Fix Incorrect end of line added after "(" which makes the code not to compile. [#856](
Fix Incorrect end of line added after "(". [#855](
Fix SpaceBeforeUppercaseInvocation applied in the middle of a invocation chain. [#853](
Fix MultilineBlockBracketsOnSameColumn not working properly when calling base constructors. [#852](
Fix PageWidth not respected for member with one long parameter. [#850](
Fix Wrong indentation in member definition. [#844](
Fix Class type with long variable names results in invalid formatted F# code. [#841](
Fix Multiline let bang should have newline before. [#838](
Fix complex computation expression identifier looks off. [#835](
Fix keyword before type declaration leads to invalid F# code. [#830](
Fix Inconsistent if-then-else cut. [#825](
Fix MultilineBlockBracketsOnSameColumn=true not working on records with short names. [#823](
Fix --config fantomas-config.json gives error. [#821](
Fix multiline let bang should have a newline. [#819](
Fix Updated value not indented correctly. [#817](
Fix Comment removed in multi-case pattern matching. [#813](
Fix Wrong handling multi lines comment at the end of file after function application. [#810](
Fix Opening brace for test missing. [#806](
Fix Return attribute deleted on reformatting. [#800](
Fix Fantomas crash with evaluation of array member. [#798](
Fix Type restrictions in FSI files. [#797](
Fix AssemblyInfo.fs attributes get squashed together. [#796](
Fix Byte-order mark is stripped. [#795](
Fix Fantomas replaces "abstract" in fsi leading to compile errors. [#794](
Fix Broken links in [#791](
Fix Multiline first member should not introduce initial newline. [#789](
Fix Newline added before let binding with attribute in class. [#786](
Fix Some floating-point numbers are changed. [#785](
Fix Adding newline before first comment in module. [#784](
Fix Parameter after multiline string parameter. [#783](
Fix Modulo operator misplaced. [#780](
Fix double-backtick identifier is formatted wrong when starts with non-alphanum character. [#776](
Fix Line comment after record not printed. [#774](
Fix Additional blank lines inserted after formatting. [#772](
Fix Error while formatting Fantomas unit test with compiler define. [#761](
Fix AbstractSlot with line comment is consider multi line. [#757](
Fix Missing space after multiline string. [#754](
Fix Cannot determine upper or lowercase. [#753](
Fix Feature: Add blank line between type definition and members. [#752](
Fix Default member implementation changed to member during formatting. [#742](
Fix Long function definition should put equals and body on a newline. [#740](
Fix Add extra space between prefix operator and string. [#736](
Fix MaxIfThenElseShortWidth is not respected. [#734](
Fix Shouldn't remove getters. [#733](
Fix Comment after `then` keyword gets removed. [#730](
Fix Determine if DotGet expression is upper- or lowercase. [#729](
Fix Check for Trivia content before the equals sign in let bindings. [#728](
Fix When advising user to file a bug should mention the file it was trying to format. [#726](
Fix space removed from parameters passed to inherited class. [#720](
Fix Place parameters on a new line for very long member definitions. [#719](
Fix Exception: Unexpected scenario when formatting else if / elif. [#713](
Fix Fantomas keeps adding newlines every time you format. [#709](
Fix Duplicate spaces and lost of linecomment. [#687](
Fix Formatting of array literals of BigInteger. [#682](
Fix Hash directive not between namespace and module. [#681](
Fix Comment above static member is wrongly placed. [#680](
Fix Do not remove property setters. [#664](
Fix StringConstant printed twice. [#646](
Fix Newline after "bang" keywords in computation expressions. [#615](
Fix Incorrect indentation when folding a record update expression. [#536](
Fix Preserve comments after record. [#516](
Fix Long function signature broken into two lines. [#492](
Fix "Better" support for nesting complex expressions in async { } blocks. [#386](


This package has no dependencies.

Version History

Version Downloads Last updated
4.0.0-beta-002 44 8/7/2020
4.0.0-beta-001 123 7/20/2020
4.0.0-alpha-014 100 7/14/2020
4.0.0-alpha-013 46 7/11/2020
4.0.0-alpha-012 116 7/6/2020
4.0.0-alpha-011 59 6/25/2020
4.0.0-alpha-010 60 6/18/2020
4.0.0-alpha-009 60 6/12/2020
4.0.0-alpha-008 90 6/2/2020
4.0.0-alpha-007 56 6/1/2020
4.0.0-alpha-006 128 5/23/2020
4.0.0-alpha-005 273 5/16/2020
4.0.0-alpha-004 591 5/4/2020
4.0.0-alpha-003 128 5/3/2020
4.0.0-alpha-002 67 4/26/2020
4.0.0-alpha-001 67 4/20/2020
3.3.0 3,307 2/28/2020
3.3.0-beta-002 672 2/21/2020
3.3.0-beta-001 167 2/18/2020
3.2.0 703 2/3/2020
3.2.0-beta-002 352 1/7/2020
3.2.0-beta-001 140 12/26/2019
3.1.0 6,391 11/27/2019
3.0.0 480 10/11/2019
3.0.0-beta-006 106 10/2/2019
3.0.0-beta-005 103 9/27/2019
3.0.0-beta-004 109 9/18/2019
3.0.0-beta-003 118 9/13/2019
3.0.0-beta-002 445 7/20/2019
3.0.0-beta-001 157 7/12/2019
2.9.2 5,369 2/2/2019
2.9.1 766 11/20/2018
2.9.0 394 10/17/2018
2.8.1 330 9/12/2018
2.8.0 380 7/7/2018