- Items.Item <index> <- value gives wrong code. #2498
- Incorrect Stroustrup indentation with let binding for anonymous record with expression. #2508
- Equality comparison with a record with a with expression results in broken code. #2507
- Stroustrup record type definition with access modifiers and members lead to invalid F# code #2511
- Open statement after module should get a newline before it. #2502
- Record definition with accessibility modifier error using stroustrup style. #2481
- Comments between tuple type are lost. #2149
- Stack overflow on macOS with a big source-file. #2485
- --check should fail if the number of newlines is different. #2461
- Comment after closing brace of computation expression is lost. #2466
- Match statements should not be split into separate lines between parentheses. #2044
- List of functions misaligned and breaks (Elmish). #2158
- Idempotency problem when Elmish Html. #2195
- Splitting list results in code that doesn't compile. #2201
- Idempotency problem when using a list with interpolated strings. #2242
- Idempotency problem when using set and spread syntax. #2392
- Formatting (*) returns ( * ). #2452
- Comment after last case of function with operator is removed. #2454
- Trailing whitespace in block comments should be preserved. #2450
abstract
with docstring and comment gets split up. #2433- Invalid removal of space in operator which starts with
*
. #2434 - Incorrect concatenation of lines with functions. #2435
- Wrong comma placement results in "Possible incorrect indentation". #2159
- Indentation warning for update record in infix operation. #2355
- Use of A | B as c fails to format correctly. #2289
- Update FCS to 'Include star in topTupleType rule', commit f8b56cb6db3c90348810263fd7a5d37dc5719e92
- Update FCS to 'SynType with single slash and type', commit e1f735546a907b0a511b818f10829b1d75139021
- Fantomas moves comma and breaks code. #2381
- Idempotency problem for unit of measure. 2264
- Indent interface member after anonymous record as generic type. #2396
- Unexpected concatenation of docstring lines after private modifier on DU. #2401
- Star in tuple return type lost. #2403
- Shebang directives get removed from scripts #2367
- Show a better error message when the folder does not exist. #2341
- Update FCS to 'Use SynLongIdent in SynOpenDeclTarget.ModuleOrNamespace', commit c18989124a92cc26a736d89137254f1ca84d4880
- global keyword is escaped with single-backticks when used as part of a namespace/module open. #2274
- global namespace should not be escaped. #2366
- Trivia between xml doc and type not restored. #2143
- Idempotency problem when using object expression and having a space between get / set lines. #2372
- FSharp.Core version conflict between Fantomas.Core and Fantomas.FCS. #2374
- Content of #if block removed - Breaking Code on reformat. #801
- Using a compiler directive copies the previous(?) line in fsi files. #1186
- Multiline if expression with multiline infix operations. #1775
- Restore the CodeFormatter.MakeRange public API. #2306
- Update FCS to 'Add arrow to SynType.Fun trivia.', commit 5a5a5f6cd07aa4a8326baa07d4f7af1305ced6f4
- Update FCS to 'Fix setter first', commit 267d0a57f217df756d9ac33c6aa4ffbfe3b53097
- Update style of long if/match expressions (See fslang-design#646). #2334
--force
will now write a file even when the result is invalid. #2346
- Add setting
fsharp_max_if_then_short_width
. #2299
- KeepIndentInBranch not respected inside a let and match. 1825
--stdin
,--stdout
and--fsi
flags. #2346
- Restore the FormatSelection public API. #2237
- Refactor list of TriviaNodeAssigner to tree structure. #2271
- Explicit interface with SpaceBeforeClassConstructor. #2226
- Spaces around binary operators in units of measure. #2207
- Trivia not restored after long identifier in SynField. #2290
- Content after hash directive is lost. #2293
- Idempotency problem with computation expression with generic parameter. #2285
- Superfluous space between negate and RationalConst. #2265
- Idempotency problem with ParsedHashDirective in signature file. #2258
- Keyword 'override' gets changed to 'member'. #2221
- Formatting of multi-constrained SRTP functions needs improvement. #2230
- Try/With with a single clause. #1881
- Long type argument with constraints is not respecting max_line_length. #2266
- Long function argument with constraints is not respecting max_line_length. #2267
- Remove Fantomas.Extras. #2269
- Update FCS to 'Add SynExpr.Dynamic to SyntaxTree.', commit b822e2793bd6387c40cfd5b25d604e002a253257
- Restore the validation API. #2236
- Renamed
fsharp_experimental_stroupstrup_style
tofsharp_experimental_stroustrup_style
. #2257
- Format function application that end with a list in the Stroustrup bracket style. #2244
- Option to reduce multiple blank lines from source code. #2198
- Remove Elmish settings:
fsharp_max_elmish_width
,fsharp_single_argument_web_mode
&fsharp_disable_elmish_syntax
. #2180 - Remove
fsharp_semicolon_at_end_of_line
. #2247 - Remove
fsharp_keep_if_then_in_same_line
. #2248 - Remove
fsharp_indent_on_try_with
. #2249
- Update FCS to 'More cleanup', commit e063dd2a7005faf953619ab4f232d1e3606c7ed2
- Rename
fsharp_ragnarok
tofsharp_experimental_stroupstrup_style
andfsharp_keep_indent_in_branch
tofsharp_experimental_keep_indent_in_branch
. #2251 - Consider wider default format for record declarations if any XML doc comments are present on fields. #1879
- A space was added before paren lambda argument. #2041
- Linq method call breaks because of space before paren lambda was added. #2231
- Fantomas v4.6.4 and onwards removes backticks. #2164
- include is reserved keyword. #2167
- base keyword given backticks when overriding with argument. #2212
- Fantomas removes backticks around constraint. #2116
- Keep backticks in identifiers. #2034
- Parens stripped from custom definitions of op_Range and op_RangeStep operators. #1842
- XML docs for commented code automatically removed. #2186
- FCS: Expose FSharpParserDiagnostic from parseFile. #2233
- Don't add space between type of array and square brackets. #2192
- Adjusted formatting of quotation expressions to latest F# style guide. #661
- Use F# compiler from the source files. #2217
- Rename Fantomas to Fantomas.Core and fantomas-tool to fantomas. #2174
- Update logo. #2229
- Idempotency problem with multiline quotation expressions. #2203
- Target net6.0 for fantomas-tool.
- Initial settings for strousrup bracket style. #2161
- Add
fable_modules
to the directories which are always excluded. Fable 3.4
- Let binding after match lambda is moved outside of nested module. #2214
- Breaks float range with step-size when trailing 0 is omitted. #2171
- Fantomas inserts a space between array variable and indexer. #2106
- Multiline parentheses objectExpression in indexer expression. #2176
- Blank line over SynEnumCase is restored incorrectly. #2155
- XML Doc comments on DU cases seem to get shuffled. #2188
- Comment after bar is lost in single case DU. #2182
- Piped lambda with if-then-else can break code. #2196
- SRTP or condition disappear when non-generic type is used. #2168
- Multiline AbstractSlot without constraints introduces newline #2175
- Only load the .fantomasignore file once, except for the daemon. #2097
- DotGet in quotation should be further indented. #2154
- Reformatting multiple array index operators (v6 style) adds spaces that are invalid #2151
- Option parameter name is lost in tuple. #2144
- Trivia between XmlDoc and member is not printed. #2147
- Emit correct keyword for properties with both getter and setter specified #2129
- Duplicate ///-comments when immediately preceded by a //-comment. #2152
- Reordering comments on modules. #2141
- Comment after equals is remove in anonymous record. #1921
- Comment after equals in record type is lost. #2001
- Comment after match keyword is lost. #1851
- Preserve in keyword on next line. #1182
- Remove Ionide.KeepAChangelog.Tasks and Dotnet.ReproducibleBuilds as NuGet dependencies. #2131
- Comment lost between attribute and member. #2130
- Always add a space for multiple curried args invocation. #2087
- Update FCS to 41.0.3. #2122
- Print XML Document comments from AST. #1878
- Fixed typo in Formatting-Elmish-code.md #2120
- Use KeepAChangelog instead of
RELEASE_NOTES.md
. #2095
- Error formatting defines #if (!DEBUG) ... #endif (no #else). #2098
- Single block comment in namespace is disappearing. #1951
- Unexpected newline added before let bang. #1932
- Creating anonymous record based on a function call with a list arg fails. #1749
- Access modifier is lost in extern declaration. #1213
- Unexpected indentation in if-else when using keep_if_then_in_same_line=true. #1160
- Add additional information about the style guide in CONTRIBUTING.md. #2078
- Fix FSharp compiler docs link for SynExpr. #2082
- Fix FSharp compiler docs link for SynExpr.DotGet expression. #2084
- Pre push hook to ensure code is formatted on upload. #2085
- Explain what's needed to close issues, that aren't reproducible anymore. #2092
- type declaration loses 'when' qualifier. #2075
- Comments in anonymous record values are deleted. #2067
- Comment after [] is lost, more common in records. #2043
- Named argument should have a space. #1877
- Spaces are lost in multi range expression. #2071
- Comment in method chain gets deleted. #2062
- Idempotency and correctness problem when using multiple if statements as list comprehension. #2055
- Comment inside LongIdentWithDots not preserved. #2027
- Consecutive #load statements are merged into one line if namespace is declared below. #2014
- Line of code including a backward composition operator causes error. #1998
- Type parameter comment lost in formatting. #2052
- Unicode string containing "\000" is replaced by null character when being formatted. #2050
- Idempotency problem when comment after opening bracket in Elmish expression without children. #2037
- Default settings in .editorconfig files. #2030
- "cannot determine if synExpr Paren" when Lambda after If expression. #2015
- Comment removed in do binding. #1875
- Comment after arrow is missing in SynExpr.Lambda. #1870
- else if turned into elif when KeepIndentInBranch = true. #1818
- Comment after closing brace in nested record is lost with default settings. #1172
- Inconsistent spacing of multiline object expressions in lists with default settings. #1170
- type definition in signature file wrapped with hash directives. #1115
- Strict mode strips literal strings. #560
- Unify Fantomas versions across editors. #1844
- Update formatting types in signatures (See fslang-design). #1994
- Read editorconfig settings before overwriting settings with request configuration. #2006
- Expose configuration documentation in Fantomas.Daemon #1956
- Update FCS to 41.0.1 #1949
- Wider default fsharp_max_value_binding_width. #1947
- Update FCS to 41.0.0-preview.21472.3 #1927
- Update record should indent from the curly brace instead of the identifier. #1876
- Update style of lambda argument. #1871
- Update to FCS 40.0.1-preview.21352.5
- Editor.config: insert_final_newline. #2002
- Comment lost between attribute and nested module #2016
- Incorrect new array indexing formatting. #1985
- Idempotency problem when exception definition used in signature file. #1974
- Create parsingOption via CodeFormatterImpl helper. #1946
- Explicit call of active pattern fails. #1937
- Idempotency problem when destructing a record inside a lambda argument. #1922
- Exception with boolean constant in #if. #2013
- Strings containing spaces at end of line change meaning. #1941
- Explicit class/end/with loses members. #1940
- Idempotency problem when static member with get. #1913
- KeepIndentInBranch not being respected. #2003
- Fantomas writes even when not necessary. #1984
- Operator application to some literals doesn't preserve spacing. #1979
- Fantomas is unable to format valid F# (.net 6.0) program. #1969
- Attributes on static members of recursive types formats incorrectly. #1962
- val mutable in signature loses 'mutable'. #1954
- Literals in signatures lose values. #1953
- Attribute on member of mutually dependent types fails to validate. #1918
- Wrong code is generated for member attribute in recursive type. #1898
- Attribute on type function incorrectly placed for 'and' types. #1874
- Formatting power operator in code quotation pattern match fails. #1945
- Offside code created when base constructor wraps across lines. #1942
- Extra space in val and member bindings in signature files. #1934
- Provide more information when string merge failed. #1904
- Comment gets duplicated. #1912
- Vanity alignment used when splitting line in match block. #1901
- Unexpected loss of newline in closing bracket. #1835
- Relative patterns in .fantomasignore don't match any files. #1713
- Documentation contains reference to infix multiline formatter even though it's removed. #1884
- Newline was introduced in Sequential with LetBang. #1882
- Vanity alignment used when calling base constructor. #1442
- indented #if directive inside another non-indented #if directive drops significant whitespace. #1866
- Dropped comment with function with type parameter. #1861
- Comment dropped in a multi-option match. #1855
- StackoverflowException when formatted long triple-quoted strings. #1837
- Comment removed in match. #1677
- StackOverflow exceptions when collecting ColMultilineItem list. #1839
- Overly indented members on a record type with accessibility modifier. #1824
- MultiLineLambdaClosingNewline not respected with function keyword. #1823
- Comment is lost at the end of a match. #1822
- Honor .fantomasignore file when processing a folder. #1834
- Always place bar in front of discriminated union. #1750
- Support multiple files/dirs as command-line arguments. #1696
- Disable empty line between mutually recursive type. #1658
- BlankLinesAroundNestedMultilineExpressions. #1587
- Collect empty define block as single trivia. #1528
- Refactor ASTTransformer. #1497
- replace genTypeByLookup with Trivia. #594
- Space between identifier and then is lost. #1816
- KeepIndentInBranch causing offside error in if condition. #1812
- Indentation warnings for multiline match expression. #1774
- Extra indentation on match-case block. #1234
- Fantomas introduces meaningless match block. #1806
- Lazy causes indentation to produce invalid F#. #1805
- Nested Fluent API produces wrong code: misses indentation. #1804
- Tuple should be consider short branch in KeepIndentInBranch setting. #1800
- Fantomas adds "of" to a union case when it is seemingly too long. #1796
- Function application in if expression should remain on single line. #1795
- Conditional code is not printed. #1794
- Records in list in a pattern match always have a semicolon. #1793
- parenthesis expression in then should further indent inner expression. #1777
- Wild cards in lambda. #1789
- Soundness regression in 4.5.0-beta-001. Nested lambdas are stripped. #1782
- KeepIndentInBranch not respected when returning short function application. #1779
- Hash directive not printed above recursive binding. #1776
- Fantomas adds space before colon when SpaceBeforeColon is false. #1773
- Long return expression not formatted multiline. #1771
- Add support for LibraryOnlyStaticOptimization. #1769
- fsharp_keep_indent_in_branch not respected for multiline infix expression. #1768
- Inline lambda in argument list causes problems for argument chopping and lambda alignment. #1028
- Difference in behavior between signature and implementation files for single case DU. #973
- Concatenation of multi-line """ strings mis-indented. #639
- Comment after arrow lost with KeepIndentInBranch. #1759
- Multiline if/then/else in infix expression. #1757
- Newline and comment trivia are mixed up. #1468
- Inline lambda in argument list causes problems for argument chopping and lambda alignment. #1028
- Difference in behavior between signature and implementation files for single case DU. #973
- Concatenation of multi-line """ strings mis-indented. #639
- Trivia before SynPat.Paren. #1753
- Idempotency problem when trailing comment is present. #1538
- Offside error after formatting with MultiLineLambdaClosingNewline. #1741
- Pipe character missing in single-case try/with. #1571
- Multiline if condition in KeepIndentInBranch leads to warnings. #1729
- KeepIndentInBranch not respected for values. #1728
- KeepIndentInBranch not respected. #1717
- Bad interaction between KeepIndentInBranch and MultiLambdaClosingNewLine. #1715
- KeepIndentInBranch not being respected. #1714
- Breaking method chain in the middle of an if statement causes offside error. #1712
- Offside error when a comment appears before a match statement in pipeline. #1711
- Line comment after short pattern match clause causes additional parenthesis. #1721
- Appending two lists with @ fails. #1719
- Leading block comment makes type multiline. #1718
- List concat chain using operators fails to format. #1188
- Unexpected newline after inner let binding. #1709
- Currying a pair gets spread over multiple lines. #1700
- Additional parentheses are introduced when match is piped. #1698
- \t in string replaced by ASCII 9. #1695
- Idempotency problem with nested else if. #1648
- Idempotency problem with ifdef in a function. #1646
- string interpolation part crossing max line length introduces new line and lots of whitespace. #1511
- Splitting generic type parameters over multiple lines sometimes puts the break in an invalid place. #1687
- Idempotency problem related to comments in with. #1686
- Upcast requires a line break but is not given one. #1685
- Idempotency problem when trying to format a type with method chaining in it. #1681
- Line comments after null value used as argument in function call are removed. #1676
- Idempotency problem when trying to format a type with method chaining in it. #1681
- Comment after constant got moved to the next line. #1671
- Idempotency problem when ending with a comment. #1649
- end_of_line not respecting when file has ifdef. #1673
- Attributes in a recursive type get misplaced. #1668
- alternative_long_member_definitions docs. #1666
- Stack overflow on macOS for long pipelines. #1453
- Comment inside empty Elmish children is lost. #1179
- Long .Setup line in Moq code results in broken indentation. #1662
- Don't introduce parenthesis around SynPat.IsInst. #1660
- Offside error splitting long line. #1651
- Offside errors after formatting. #1650
- Idempotency problem with with block. #1647
- Formatting code makes Interpolated verbatim strings to non-verbatim strings, which breaks the code. #1645
- Comment stripped in a record with semi-colons. #1643
- Another shape which isn't respecting KeepIndentInBranch. #1638
- Incorrect code when function type parameter would break over line. #1637
- Multiline type parameter arguments inside indentation. #1611
- Fantomas add extra parenthesis in desugared lambda. #1631
- Mutually recursive functions break with function invocation above definition. #1628
- Removal of bar in one-case DU. #1563
- Multiline type signature is not unindent. #1624
- Failure to unindent with KeepIndentInBranch. #1621
- Some of newlines in string interpolation is deleted. #1613
- Idempotency problem when piping just before the keyword in. #1610
- Idempotency problem with lazy. #1609
- Idempotency issue with let … in. #1608
- Idempotency problem when splitting && over multiple lines. #1607
- Idempotency problem when splitting if-clause over multiple lines. #1606
- Idempotency problem with recursive types in FSI. #1605
- Idempotency problem with comments at the end of code. #1604
- Block comment in Elmish expression removed. #1601
- System.Exception: was not expecting token DOLLAR. #1598
- Define before opening bracket. #1597
- Swap internal and inline in signature file. #1590
- member laced with conditional. #1589
- if expression is not indented. #1588
- Fantomas throws an exception with custom operator (>??). #1533
- Unexpected identifier in lambda expression when using pre processor directives. #1484
- FormatException: Unexpected symbol '|' for DU case under pre-processor directive. #1483
- End-of-line comments lost when formatting multiline type function signature. #1287
- Comments are sometimes removed unexpectedly during formatting. #1276
- max_line_length not respected in mutliline infix expression in if. #1584
- Const() stripped from string literals break. #1574
- Conversion of & to byref is invalid in extern function declaration. #1567
- Quote character in a comment results in removing code inside preprocessor directive. #1504
- Documentation comment for primary class constructor is removed. #1286
- A comment before an anonymous function gets swallowed up. #1190
- KeepIndentInBranch not being respected?. #1569
- Split of very long function call in if body. #1564
- fsi extension loses docstring in mutually recursive type. #1562
- .fsi extension: attribute followed by docstring loses the docstring. #1561
- .fsi extension causes first DU case's docstring to be lost. #1560
- KeepIfThenInSameLine breaks function indentation. #1559
- All SynExpr should start on next line and indent. #1556
- Missing indentation when using pattern matching via anonymous functions in a pipeline. #614
- Required type arguments are removed with DotGet lambda. #1550
- Fantomas removes the format string from string interpolation. #1549
- Missing in keyword. #1548
- Pattern inside when clause. #1545
- Hash defines in let binding. #1543
- Comments are stripped at the end of a vertical list. #1541
- Idempotency problem when match is follow by pipe. #1532
- Idempotency problem when exceptions in signature file. #1531
- Exception - detect of multiple defines when define surrounds a DU member. #1503
- DotGet infix expression. #1529
- SynPat.Or should have the same indent. #1522
- DotGet with parenthesis. #1521
- Trivia regressions around SynConst. #1518
- Long signatures have additonal newline inserted and don't respect the indent from the config. #1515
- Bad formatting when using elmish style + empty arrays. #1510
- \xHH escapes in string literal are expanded. #1508
- Indentation of pattern match clause. #1501
- Class parameters expands unit for long lines. #1494
- Comments inside Elmish gets repeated. #1347
- Extra space throws exception. #1476
- comment deleted on reformat. #1343
- Revisit SynExpr.IfThenElse. #1258
- Target netcoreapp3.1 for fantomas-tool.
- Stricter trivia selection. #1304
- Idempotency problem when function argument's type annotation requires brackets. #1470
- Inconsistency about when fantomas decides to split
()
(unit) to the next line. #1469 - Unexpected newline between hash directives. #1464
- Oscillating newlines in custom computation expression. #1463
- Violation of "avoid name-sensitive alignments" clause. #1422
- Incorrectly combines tokens when formatting. #1407
- string interpolation with multi-line string causes literal part to change. #1451
when
clause in try-with block gets split and causes compiler warnings about indentation. #1406- Long line breaks match. #1403
- Long line causes offside error. #1402
- Nested matches format into something invalid. #1400
- Shortening big
if
clause still creates compiler warnings. #1390 - “FS0058: Possible incorrect indentation” on function composition after running Fantomas. #1341
- Typed App followed by chained lambda should not add space. #1448
- TypedApp should not have a space when chained. #1447
- Unexpected newline after short match expression. #1445
- Space after chain lambda function is not allowed. #1440
- Formatting error with MultilineBlockBracketsOnSameColumn. #1396
- fsharp_space_before_uppercase_invocation=true breaks method calls. #1437
- Crash regression on 4.4.0-beta-003. #1438
- MultiLineLambdaClosingNewline concats lambda arguments. #1427
member val
causes invalid code to be generated. #1426- Surround return type annotations with white space [F# style guide]. #1420
- Lists concatene onto one line invalidly. #1405
- Accessibility modifier on record causes unindentation of following type. #1404
- Invalid addition of a space after constructor invocation. #1401
- "Inline" is incorrectly stripped out in FSI file. #1399
- Multiple type checks in a
try/with
get collapsed. #1395 - Short line length and member constraint leads to invalid code. #1394
- Object expression newline gets added/removed. #1388
- Arrays of constructors with lots of arguments gets dedented too much. #1382
- Format in pre-commit hook. #1207
- Shortening an 'if' condition causes compilation warnings about indentation. #1374
- Some escapes are unexpectedly modified in character literal patterns. #1372
- Fantomas formats with an error for very long DU case match. #1364
- Fantomas errors out on
new Foo ""
. #1363 - Aesthetics of long members in a type declaration. #1362
- Comment on first constructor argument gets removed. #1350
- “FS0058: Possible incorrect indentation” around if/then/else after running Fantomas. #1349
- Failing to format file should return an exit code different than 0. #1340
- Shorter MaxLineLength with long variable name yields invalid F# code according to fantomas. #1241
- MultilineBlockBracketsOnSameColumn should be honored inside match block. #1238
- Update constructor formatting to match MS Style guide. #1359
- Violation of name-sensitive alignments. #1358
- Pattern matching breaks code when expression is long and somewhat complex. #1352
- Inserts extra newline everytime formatter runs. #1346
- Functions looses space before parameter if func is defined inside method. #1345
- Required backslash removed in string interpolation. #1344
- Swallows comment before #nowarn directive. #1220
- Swallows comment inside
with
block (of a try-with). #1219 - Program.fs inside full path can lead to invalid AST. #1337
- Formatting of long parameter lists. #657
- DotGet inside If expression not correct on second format. #1329
- Pipe is indented too far. #1327
- IfThenElse piped leads to invalid code. #1324
- Multiline when condition in pattern match needs to be further indented. #1320
- Add comma in front of expression in tuple with if/then/else. #1319
- New line before for loop not preserved. #1317
- Newline before set expression is lost. #1314
- Newline after let bang is missing. #1313
- Revisit place parameters on a new line for long definitions. #1307
- static member should only have a single indent. #1300
- Elmish-like syntax using yields with interspersed let statements breaks the code. #1191
- The 'member' keyword gets deleted in 'abstract member' declarations. #1106
- Don't indent too far. #659
- static member should only have a single indent. #1300
- Named string argument to type provider requires a space prior to '@', which Fantomas removes. #1209
- Don't indent too far. #659
- spaces removed from string. #1290
- Support user-provided end-of-line characters. #1231
- Add option to make expressions multiline based on number of subexpressions rather than character length. #1143
- Update to FCS 38. #1240
- Comment after let binding breaks downstream output. #1284
- Comments are removed before and after empty array literals. #1281
- Use a safe filename when formatting from CodeFormatter. #1279
- Incorrect movement of a comma. #966
- Bracket indentation is incorrect. #1271
- tuple with match formats to invalid code. #1269
- Incorrect movement of a comma. #966
- Not adding a space even when all SpaceBefore* settings are enabled. #964
- Multiline if condition can have incorrect indentation error. #1267
- multiline do bang gives a warning. #1265
- regressions. #1264
- multiline yield bang in list should be further indented. #1254
- Or pipe in destructured record should not be splitted. #1252
- Swap order of private and inline. #1250
- Comment is lost in enum. #1247
- Nested if/else/then in short mode. #1243
- Something doesn't add up in fix for 303. #1093
- Fantomas format is "unstable/oscillates" after upcast operator: adds/removes empty line. #1227
- Misplaces
=
in function signature so it's invalid F# code. #1218 - Additional newline is added between if/elif and for loop. #1211
- Let binding in hash directive disappears. #1205
- Downcast operator doesn't get a new line. #1203
- Implicit unit else results in extra lines with each reformat. #1187
- Incorrect formatting of function parameter application with lambdas. #1201
- Lambda functions in fluent API calls should indent further. #970
- Hard to read code when using Thoth.Json. #685
- --check should ignore the line endings. #1196
- Format entire return type on the line. #1181
- Only add one
in
keyword in LetOrUse. #1176 - Multiline SynPat.Record in pattern match is formatted as a mixture of single/multiline styles. #1173
- Inconsistent indentation of multiline records with internal keyword when fsharp_multiline_block_brackets_on_same_column is on/off. #1171
- Lambda argument splits in awkward way. #1164
- Multiline expression should be on next line. #1158
- Missing in keyword makes code invalid. #1114
- Invalid code after format. #1032
- Space before ^ SRTP type is removed in function call. #984
- Shouldn't remove space after colon. #908
- Crash when formatting with config file. #824
- Formatting typeof generic static constraint fails to compile. #803
- Indenting of record definition when internal. #658
- MaxDotGetExpressionWidth. #501
- No newline between module and first declaration. #1139
- additional new lines added after each call to format. #1137
- Generics error when breaking line. #1134
- Comments on DUs parameterized by functions are dropped. #1128
- Preserve underscore in number. #1120
- Ignore files by
.fantomasignore
file. #420 - Limit trivia by AST MainNode name. #992
- Lead by example. #666
- Verify all unit test whether the formatted code is valid. #842
- Comments get dropped from the end of multi-line records. #1124
- Functions in nested modules which follow a type consisting of only one member of a DU are un-nested from that module. #1123
- After discriminated union in module wrongly indented. #1122
- Extra whitespace with a type which has an attribute. #1116
- Adds newline between comments and (all but the first) attribute. #1108
- Extra whitespace lines added in fsi files at the end of a nested module declaration. #1105
- Extra new line is added before attributes. #1097
- Comments after closing brace are lost. #1096
- Comment after Or operator lost. #1095
- Trivia before bar is being repeated. #1083
- Comment after arrow is being duplicated. #1082
- Allow line break after return to avoid excessive indenting/aligning. #1062
- Name of static members are removed/empty. #1059
- When using parenthesis in type definition, it will sometimes keep adding additional () for each time fantomas i run. #1057
- Multiline string in use expression. #1055
- Issue #246 has returned in v4.0.0. #1051
- Indentation after multiple hash directives is off. #1026
- if/then/else indented too far. #1054
- Single AST node should contain trivia. #1031
- Formatter adds extra newlines between type and any subsequent val in .fsi files. #1029
- Comments in if/then/else statements are sometimes deleted. #1019
- Moves type name around when writing constrained type defintions. #1018
- Line break before bracket on long method call followed by member access causes semantic change. #994
- Long union case should be split over multiple lines. #972
- FSI formatting does the wrong thing with comments on single-case DU. #965
- Invalid unit test
should break lines on multiline if conditions
. #863 - Abstract member declarations don't follow page width. #435
- 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
- SingleArgumentWebMode. #927
- AlignFunctionSignatureToIndentation. #946
- AlternativeLongMemberDefinitions. #913
- MultilineBlockBracketsOnSameColumn. #453
- NewlineBetweenTypeDefinitionAndMembers. #752
- KeepIfThenInSameLine. #825
- Comments in match statements are sometimes deleted. #1010
- Comments on members with get/set are deleted. #1009
- Hexadecimal numbers in enums are output as decimal numbers. #1006
- List indentation issue. #999
- Hexadecimal numbers in match arms are output as decimal numbers. #995
- Removes the first comment above the member of the list. #990
- Brackets increased every time Fantomas is run. #989
- Bug: Hash directive in computation expression. #977
- Bug with hash directives inside a match statement. #976
- Bug with defines in record member assignment. #968
- Backquotes are stripped down from
checked
. #937 - Fantomas wraps extra set of parenthesis around parenthesis. #921
- Remove indent setting from CLI tool. #888
- Fantomas generating invalid F# when trying to format a list created with yields. #882
- Invalid unit test
method call on multiple lines
. #862 - Invalid unit test
should break on . operator and keep indentation
. #860 - Multi-line arguments to chained method calls produce invalid code. #702
- Line comment displaced from commented #-directive. #638
- #if'd argument types are lost. #633
- #if'd attributes moved to wrong column. #631
- Assembly attributes create over-long lines. #629
- List expression can get combined to a single line with different semantics. #931
- Additional new line inserted around attributes. #949
with get
removal in FSI invalid. #945- FSI file has "abstract" stripped. #944
- Insertion of space before function application can break dot-chaining. #943
- Concatenation of lines can break operator precedence. #942
- Extra spaces inserted in record definition. #941
- Comments at the end of async blocks are deleted automatically. #936
- Newline between comments should lead to individual comments. #920
- VS Code | Extra white space added to record definition. #910
- When cutting off function invocations, should place each param in its own line (or align them to the 1st param). #907
- Try online link points to old location. #890
- Leading
|
in single-case union type with access modifier. #889 - Type constraint on a type definition causes a loss of the type definition. #887
- Fantomas removes the 'and' if there are multiple member constraints on a function declaration. #886
- Comments inside a type definition can cause issues. #885
- Long function signature should align with equal sign. #883
- Newline not preserved between let and let bang. #879
- Stackoverflow problem with let bang in match. #876
- Incorrect formatting for chained class members using Websharper. #871
- Pipe before and inside lambda leads to wrong indent of following lambda. #870
- Formatting Program.fs with
--check
fails. #869 - Possible wrong indentation for functions with parameters over multiple lines. #868
- Invalid unit test
different attributes according to defines
. #864 - Invalid unit test
record instance with inherit keyword
. #861 - Invalid unit test
should add space before type provider params
. #859 - Incorrect end of line added after "(" which makes the code not to compile. #856
- Incorrect end of line added after "(". #855
- SpaceBeforeUppercaseInvocation applied in the middle of a invocation chain. #853
- MultilineBlockBracketsOnSameColumn not working properly when calling base constructors. #852
- PageWidth not respected for member with one long parameter. #850
- Wrong indentation in member definition. #844
- Class type with long variable names results in invalid formatted F# code. #841
- Multiline let bang should have newline before. #838
- complex computation expression identifier looks off. #835
- keyword before type declaration leads to invalid F# code. #830
- Inconsistent if-then-else cut. #825
- MultilineBlockBracketsOnSameColumn=true not working on records with short names. #823
- --config fantomas-config.json gives error. #821
- multiline let bang should have a newline. #819
- Updated value not indented correctly. #817
- Comment removed in multi-case pattern matching. #813
- Wrong handling multi lines comment at the end of file after function application. #810
- Opening brace for test missing. #806
- Return attribute deleted on reformatting. #800
- Fantomas crash with evaluation of array member. #798
- Type restrictions in FSI files. #797
- AssemblyInfo.fs attributes get squashed together. #796
- Byte-order mark is stripped. #795
- Fantomas replaces "abstract" in fsi, leading to compile errors. #794
- Broken links in Readme.md. #791
- Multiline first member should not introduce initial newline. #789
- Newline added before let binding with attribute in class. #786
- Some floating-point numbers are changed. #785
- Adding newline before first comment in module. #784
- Parameter after multiline string parameter. #783
- Modulo operator misplaced. #780
- double-backtick identifier is formatted wrong when starts with non-alphanum character. #776
- Line comment after record not printed. #774
- Additional blank lines inserted after formatting. #772
- Error while formatting Fantomas unit test with compiler define. #761
- AbstractSlot with line comment is consider multi line. #757
- Missing space after multiline string. #754
- Cannot determine upper or lowercase. #753
- Feature: Add blank line between type definition and members. #752
- Default member implementation changed to member during formatting. #742
- Long function definition should put equals and body on a newline. #740
- Add extra space between prefix operator and string. #736
- MaxIfThenElseShortWidth is not respected. #734
- Shouldn't remove getters. #733
- Comment after
then
keyword gets removed. #730 - Determine if DotGet expression is upper- or lowercase. #729
- Check for Trivia content before the equals sign in let bindings. #728
- When advising user to file a bug, should mention the file it was trying to format. #726
- space removed from parameters passed to inherited class. #720
- Place parameters on a new line for very long member definitions. #719
- Exception: Unexpected scenario when formatting else if / elif. #713
- Fantomas keeps adding newlines every time you format. #709
- Duplicate spaces and lost of linecomment. #687
- Formatting of array literals of BigInteger. #682
- Hash directive not between namespace and module. #681
- Comment above static member is wrongly placed. #680
- Do not remove property setters. #664
- StringConstant printed twice. #646
- Newline after "bang" keywords in computation expressions. #615
- Incorrect indentation when folding a record update expression. #536
- Preserve comments after record. #516
- Long function signature broken into two lines. #492
- "Better" support for nesting complex expressions in async { } blocks. #386
- Support for
and!
. #690 - Support for new slice syntax. #691
- Support for check style flag #642
- Update FCS to 34.1 #699
- Allow to configure spaces before and after semicolon. #653
- Update README with link to YouTube videos series. #672
- Problem with --config and directory names containing ".". #694
- Space is removed after Foo.Create. #676
- Error in formatting nested else if construction. #675
- Unbalanced and misplaced #if directives after formatting. #635
- Stack overflow when using fantomas 3.2.0-beta-002. #630
- --help and --version return exit code 1. #612
- Line comment disappears after format. #598
- Stack overflow for global tool on OSX. #591
- Page width is not respected when formatting a function signature. #495
- Unicode null escapes are still unescaped. #632
- Back ticks are removed from enum. #626
- Pipe is removed when DU type name matches record type name. #641
- fantomas --version should return version. #625
- Extra newline between attribute and function. #611
- Invalid code produced when formatting type alias for struct tuple. #605
- Extra newlines repeatedly being added inside an object expression. #601
- Empty line added on each format. #597
- Error when formatting DU with single choice and attribute. #596
- Unwanted new line after elif expression. #588
- Unwanted new line added. #586
- Empty lines in multi-line string get moved. #577
- Error when combining #if directive with async block and let. #576
- DllImport not detected when using additional attribute. #574
- Comment in async block gets moved. #573
- Enum comments removed. #572
- Fantomas keeps adding new lines between two interface member implementations. #569
- Unindented DU case causes compile error. #567
- Erroneous whitespace in chained accessors. #566
- Comments inside type signatures break formatting. #565
- Hash symbol in signatures requires parens to remain. #564
- Stack overflow in Strict mode. #562
- Accessibility modifiers in DUs. #561
- Line comment place after lambda instead of infix function. #559
- Sequence expression inside computation expression outputs uncompilable code. #553
- Comment after [ is not preserved. #551
- Record update indentation incorrect around comments. #537
- Formatting document continuously adds new lines each time it's called. #535
- Comments like
(fun arg -> // comment
are lost. #534 - KeepNewlineAfter not respected in let binding. #524
- Improve formatting of lambda between parenthesis. #523
- Crash when using --keepNewlineAfter. #513
- Over-aggresive folding breaks nested lambda expressions. #486
- Add FormatASTRangeAsync to API. #454
- Intrinsic type extension member signatures are erased. #413
- Inconsistencies in if formatting. #135
- invalid code generated after multiline string when other expressions exist on same line. #545
- Trivia before elif generates invalid code due to missing indentation. #527
- Don't add additional newline between two and blocks. #520
- Print line comment after
{
#517 - Formatting document removes '#if DEBUG' and '#endif'. #512
- Some unicode control characters are incorrectly formatted. #506
- New empty line inserted preceding module attribute. #505
- Weird indentation/breaks with lambda in pipeline. #503
- Sufficiently indent match case bodies for other indentation lengths than 4. #502
--noSpaceBeforeColon
doesn't work. #499- Invalid code produced when wrapping method call to new line. #498
- Indexer usage fails to parse. #497
- Use FCS 33.0.0. pull/568
- Use dotnet tools pull/558
- Add
--maxIfThenElseShortWidth
option, see documentation
- Use FCS 32.0.0. 490b121af427ec4f6eba94f6d6d08cf3f91e04c8
- Deprecate PreserveEndOfLine feature. #390
- Upgrade to .NET Core 3.0 and deprecate dotnet-fantomas. b13aa00a57541be5f6182dc65ee27dc81174ab15
- F# 4.7 support. 9ab8f007446d2e8311a204a9c8a73d758a189939
- KeepNewlineAfter setting. #449
- Refactored API #454
- Adding parentheses around expressions can lead to incorrect indentation. #385
- Indentation removed when combining comments and compiler directives. #382
- Fantomas removes module and namespace if it is only 1 word (without dots). #380
- Indentation incorrect for code with chained fluent interface method calls. #379
- Incorrect indentation when space around delimiter is false. #362
- Meaningful spaces can be collapsed in record-with expressions. #353
- CLI arguments not accepted. #334
- Calls to constructor from inherited class leads to wrong indentation (breaks build). #326
- Indent level context lost in record initialization -- causes compilation failure. #313
- Semi-colons may or may not be insterted in list literals. #312
- Handling of blank lines is idiosyncratic. #311
- Over-length line not folded (inside #if block). #309
- With --preserverEOL, multi-line lambdas are not correctly formatted. #307
- Reformatting #if blocks controlling attributes changes the meaning of the code. #304
- Some spacing is still lost in and around #if blocks. #303
- Weird formattiing behavior. #287
- #if blocks result in code being moved around incorrectly. #282
- Inline replacement. #278
- No new line after long name when copying record with "with". #155
- Formatting of multi-line list literals. #133
- Problems with very long lines and/or files. #119
- Adjust default configuration to be more F# idiomatic. #61
- Excessive line breaking. #43
- [Trivia] Line comment after
then
breaks code. #451 - Bug report from fantomas-ui. #450
- Publish 3.0.0 to NuGet.org with a preview flag. #448
- Include directive with
__SOURCE_DIRECTORY__
is removed and replace. #447 - Formatting if expressions not according to style-guide. #446
- PreserveEndOfLine+SpaceAroundDelimiter add an unnecessary space before closing brace. #443
- Record option with attribute gets an additional space with PreserveEndOfLine. #442
- Quotation escapes removed - Bug report from fantomas-ui. #440
- Fantomas fails in Fake script. #439
- Configuration options for "Fabulous compatibility"?. #437
- Using fantomas with dotnet-format. #430
- Change space before colon default to false. #429
- global.json specifies outdated dotnet sdk. #426
- Errors after formatting secondary constructors. #423
- Wrong attribute and xml doc placement on reformat with PreserveEOL. #422
- When running the tool for a fairly large script file (1000 lines) nothing happens. #416
- Is Fantomas still supported for VS? Couldn't find it?. #415
- the required library libhostfxr.so could not be found. #412
- Latest FCS breaks fantomas. #410
- Compiled operators names are replaced with source names. #409
- Wrong anon module formatting when filename starts with a digit. #408
- Raw method names with
/
are formatted improperly. #406 - Attributes followed by unit literals aren't formatted properly. #405
- Wrongly removed "with" for member on record, PreserveEndOfLine=true. #388
- IndentSpaceNum is ignored if PreserveEndOfLine is enable. #387
- An option to preserve empty lines between logical blocks. #496
- Bug report from fantomas-ui. #491
finally
is duplicated, moved. #487- Multiple #if cases causes failure (3.0.0 beta3 and beta4). #484
- Significant spaces lost (v3.0.0-beta4). #483
- #if/#endif lost with v3.0.0-beta-004. #482
- Exception when code for no defines is empty. #480
- Stackoverflow exception in AstTransformer. #479
- [Trivia] Significant spacing added after let binding in function. #478
- Incorrect replacement of
override
withmember
. #477 - [Trivia] Fantomas removes the parentheses around Fable's string field access syntax. #476
- [Trivia] Additional line added after very specific case. #475
- Multiple extension members cause additional lines to be printed. #473
- Long text lines cause out of range exception in 3.0.0-beta. #472
- Class member attributes cause additional lines. #471
- 'with' incorrectly removed. #469
- Online UI tool doesn't understand F# 4.6's {| |}. #467
- Exception handling 'with' clause using drop-through is malformed. #465
- Unicode null escapes are unescaped (v3.0.0. beta1, beta2). #464
- Multiline record not on new line after DU constructor. #462
- Feature request: Prefix generic type parameters. #460
- Fantomas hangs indefinitely when run. #459
- record mutation: first field after
with
should be placed in a new line. #457 - for i in 1..-1..0 do: should add space before
-
. #456 - Incorrect handling of attributes in static method. #452
- FCS 32
- Partial F# 4.7 support
- Move to .NETCore 3 global tool, deprecated net461
- Deprecated dotnet-fantomas tool
- Bug fixes
- Restructured library API
- Improved performance
- More trivia fixes
- FCS 31
- More fixes with hash directives
- Use FCS 28.0.0 and net461. #436
- Deprecated
PreserveEndOfLine
setting in favor of Trivia. #434 - Added support for formatting multiple code path in defines.
- PreserveEndOfLine introduces additional newlines. #360
- Extra newline is introduced when file ends with multiline comment. #363
- Fantomas shouldn't remove parens when using the dynamic operator (?). #369
- Extra semicolons in list with PreserveEndOfLine. #371
- Multiple attributes indented wrongly with PreserveEndOfLine. #370
- pattern matched unions are formatted badly. #283
- wrong indentation when accessing member of constructed record. #383
- latest fantomas breaks Falanx indentation. #384
- Recurse option with globally installed dotnet-tool traverses 'obj' directories. #341
- creates invalid F# for string handling operations. #365
- Use qualified name for inputPath and outputPath. #376
- Added Nightly nuget feed. #375
- Moved solution file to root folder. #377
- Add support for SynExpr.Set(,,_). #368
- Use FAKE 5. #261
- Added FAKE 5 sample. #402
- Added instructions for vscode and online website. #333
- Removed trailing spaces for each line, after formatting. #328
- Allow easy build/format/build cycle of external projects. #337
- Update to .NET Core 2.1 #350
- Removed unused open statements. #352
- Added regression test for Implicit module is added to resulting code. #355
in
is removed from binding when PreserveEndOfLine is true. #340- unnecessary conversion from 'YieldOrReturn' to 'YieldOrReturnFrom', by update of FCS. #339
- Lazy<'T> is incorrectly rewritten. #335
- Fluent API with comments breaks code. #331
- wrong comment placement. #289
- Improved README. #243
- Bad split of chained method call expression. #246
- rec modifier removed for namespaces and modules. #292
- Over-enthusiastic removal of parentheses #249
- Broken reformat of "if" inside call (fantomas-tool 2.8.0) #288
- Support struct tuple. #224
- Support match! #262
- Upgrade to .NET 4.5.2 #325
- for AST formatting regression. #321
- Force parameter is true by default. #267
- Formatting compiler directives with inactive code is incorrect. #270
- rec keyword is removed from recursive modules #274
- Access modifiers in method signatures in signature files are not formatted correctly. #284
#if FOO || BAR => #if FOO
#280override
becomesmember
in interface implementations. #263- Operator >>.~ incorrectly formatted. #291
- Bad choice of line break location in boolean equality expression. #248
- Pipe operator inside quotation expression leads to wrong indentation. #256
- broken indent by pipe formatting. #269
- Wrong indentation of
else
after comment #241 - Change Content to None #238
- Formatting of code with a pipe and a lambda expression #211
- Added support for a global dotnet cli tool #252
- Added option to preserve blank lines #143
- for chopped of members #239
- Hotfix for runtime problem when using dotnet cli tool
- Upgrade to .NET Core 2.0
- Published as
clitool
- Upgrade to FCS 22.0.3
- Single case DUs on same line #234
- Removed whitespaces around type provider arguments #235
- Upgrade to FCS 11.0.4
- Upgrade to FCS 10.0.0
- Upgrade to FCS 8.0.0
- Upgrade to FCS 5.0.0
- Handle record types with private fields #197
- Create a separate CLI NuGet package #196
- Do not print out module names if not necessary #196
- Upgrade to FCS 2.0.0.8
- Add a new public API using static members. Deprecate old functions.
- fsprojects-archive/zzarchive-VisualFSharpPowerTools#1151
- fsprojects-archive/zzarchive-VisualFSharpPowerTools#1143
- Migrate to FCS 1.4.0.5
Improve formatting of bind operator #175
- Migrate to F# 4.0 (#170)
- Print attributes on member arguments (#168)
- Do not misrecognize "then" blocks in explicit constructors (#168)
- Suppress whitespaces inside dot access (#168)
- Insert brackets around tuples in type test patterns (#168)
- desugar patterns' bug exposed by FsCheck (#167)
- Add FAKE task helper
- Bugfix release
- Bugfix release
- Bugfix release
- Bugfix release
- Bugfix release
- Fully support F# 3.1
- Compatible with F# on Mono
- Handle external functions
- Improve support of multiline strings
- Implement various bug fixes
- Implement various bug fixes
- Implement various bug fixes
- Synchronize version numbers with NuGet packages
- Support Visual Studio 2013 (not support F# 3.1 constructs yet)
- Implement formatting cursor positions
- Implement reordering of open statements
- Enhance indentation of anonymous functions
- Add line breaks for nested let bindings
- Implement various bug fixes
- Improve formatting of signatures
- Improve UI interaction
- Enhance spacing of function applications and arguments
- Implement various bug fixes
- Initial release