Fantomas.Extras 4.0.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.

There is a newer version of this package available.
See the version list below for details.
Install-Package Fantomas.Extras -Version 4.0.0
dotnet add package Fantomas.Extras --version 4.0.0
<PackageReference Include="Fantomas.Extras" Version="4.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Fantomas.Extras --version 4.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Fantomas.Extras, 4.0.0"
For F# scripts that support #r syntax, copy this into the source code to reference the package.

Release Notes

Add initial support of String Interpolation. [#998](
Extract FakeHelpers and EditorConfig to Fantomas.Extras project [#986](
Update FCS to 37. [#996](
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 Comments in match statements are sometimes deleted. [#1010](
Fix Comments on members with get/set are deleted. [#1009](
Fix Hexadecimal numbers in enums are output as decimal numbers. [#1006](
Fix List indentation issue. [#999](
Fix Hexadecimal numbers in match arms are output as decimal numbers. [#995](
Fix Removes the first comment above the member of the list. [#990](
Fix Brackets increased every time Fantomas is run. [#989](
Fix Bug: Hash directive in computation expression. [#977](
Fix Bug with hash directives inside a match statement. [#976](
Fix Bug with defines in record member assignment. [#968](
Fix Backquotes are stripped down from ``checked``. [#937](
Fix Fantomas wraps extra set of parenthesis around parenthesis. [#921](
Fix Remove indent setting from CLI tool. [#888](
Fix Fantomas generating invalid F# when trying to format a list created with yields. [#882](
Fix Invalid unit test ``method call on multiple lines``. [#862](
Fix Invalid unit test ``should break on . operator and keep indentation``. [#860](
Fix Multi-line arguments to chained method calls produce invalid code. [#702](
Fix Line comment displaced from commented #-directive. [#638](
Fix #if'd argument types are lost. [#633](
Fix #if'd attributes moved to wrong column. [#631](
Fix Assembly attributes create over-long lines. [#629](
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](

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
4.5.0-alpha-001 56 2/26/2021
4.4.0 94 2/25/2021
4.4.0-beta-008 69 2/19/2021
4.4.0-beta-007 56 2/12/2021
4.4.0-beta-006 37 2/12/2021
4.4.0-beta-005 26 2/9/2021
4.4.0-beta-004 47 2/5/2021
4.4.0-beta-003 480 1/30/2021
4.4.0-beta-002 40 1/23/2021
4.4.0-beta-001 453 1/22/2021
4.4.0-alpha-008 261 1/15/2021
4.4.0-alpha-007 289 12/26/2020
4.4.0-alpha-006 138 12/25/2020
4.4.0-alpha-005 192 12/23/2020
4.4.0-alpha-004 257 12/22/2020
4.4.0-alpha-003 210 12/18/2020
4.4.0-alpha-002 169 12/17/2020
4.4.0-alpha-001 79 12/17/2020
4.3.0 1,209 12/17/2020
4.3.0-beta-002 167 12/11/2020
4.3.0-beta-001 101 12/7/2020
4.3.0-alpha-007 123 11/21/2020
4.3.0-alpha-006 103 11/20/2020
4.3.0-alpha-005 82 11/16/2020
4.3.0-alpha-004 577 11/12/2020
4.3.0-alpha-003 82 11/10/2020
4.3.0-alpha-002 113 10/26/2020
4.3.0-alpha-001 141 10/23/2020
4.2.0 2,286 9/25/2020
4.2.0-alpha-004 284 9/23/2020
4.2.0-alpha-003 106 9/21/2020
4.2.0-alpha-002 153 9/19/2020
4.2.0-alpha-001 129 9/18/2020
4.1.1 275 9/17/2020
4.1.0 550 9/10/2020
4.1.0-beta-004 271 9/5/2020
4.1.0-beta-003 169 9/4/2020
4.1.0-beta-002 548 9/4/2020
4.1.0-beta-001 138 9/3/2020
4.1.0-alpha-001 130 9/1/2020
4.0.0 741 8/27/2020
4.0.0-beta-003 164 8/21/2020
4.0.0-beta-002 234 8/7/2020
Show less