Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Initial settings for strousrup bracket style #2161

Merged
merged 33 commits into from
Mar 18, 2022

Conversation

josh-degraw
Copy link
Contributor

@josh-degraw josh-degraw commented Mar 18, 2022

Related to #1408
Included features:

  • Computation expressions
  • Array/List in SynBinding value/function
  • Exclude update records.
  • Synbinding function with return type
  • LetOrUseBang with Expression
  • YieldOrReturn with Expression
  • YieldOrReturnBang with Expression
  • SynExprAndBang with Expression
  • LongIdentSetExpression with Expression
  • DotIndexedSet with Expression
  • Set with Expression
  • DotSet with Expression
  • Lambda with Expression
  • SynMatchClause with Expression
  • SynTypeDefnSimpleRepr
  • SynTypeDefnSigRepr.Simple

nojaf and others added 30 commits March 6, 2022 14:36
Take anonymous records in SynBinding into account.
@josh-degraw josh-degraw changed the title Initial settings for ragnarok feature Initial settings for strousrup bracket style Mar 18, 2022
Copy link
Contributor

@nojaf nojaf left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you Josh!

It is a small step for Fantomas, but a giant leap for the F# community

@nojaf nojaf merged commit 703104a into fsprojects:get-back Mar 18, 2022
@josh-degraw josh-degraw deleted the ragnarok branch March 18, 2022 16:51
@nojaf
Copy link
Contributor

nojaf commented Mar 19, 2022

I published the first version of this as 5.0.0-alpha-001.
Add

[*.fs]
fsharp_multiline_block_brackets_on_same_column=true
fsharp_ragnarok=true

to your .editorconfig to enable the setting. Careful, for this first version you do need to set both settings to true.

nojaf added a commit that referenced this pull request Mar 25, 2022
* Bare minimal changes for one test case.

* Initial draft of ragnarok feature.

* Add more syntax node where the case occurs.

* Maybe multiline strings?

* Highlight additional cases in SynBinding.

* Add new setting for ragnarok mode.
Take anonymous records in SynBinding into account.

* Separate test case into multiple files. Implement SynBindingFunction and Expressions.

* Add support for computation expressions.

* Add support for Array/List in SynBinding value/function.

* Exclude update records.

* Synbinding function with return type.

* Add additional tests for type members.

* Add LetOrUseBang with Expression.

* Add YieldOrReturn with Expression.

* Add YieldOrReturnBang with Expression.

* Add SynExprAndBang with Expression.

* Format test files.

* Add tests suffix

* Add LongIdentSetExpression with Expression.

* Add DotIndexedSet with Expression.

* Add Set with Expression.

* Add DotSet with Expression.

* Add Lambda with Expression.

* Add SynMatchClause with Expression.

* Add SynTypeDefnSimpleRepr.Record NOTE: TESTS FAIL

* Add SynTypeDefnSigRepr.Simple

* Use correct helper function for Set and DotSet.

* Work around edge case where match clause body needs to be further indented.

* Add named arguments in application and new expressions.

* Fix leftover issue

* Add TODO comment

* Fix failing test

* Format files

Co-authored-by: nojaf <florian.verdonck@outlook.com>
nojaf added a commit that referenced this pull request Mar 30, 2022
* Bare minimal changes for one test case.

* Initial draft of ragnarok feature.

* Add more syntax node where the case occurs.

* Maybe multiline strings?

* Highlight additional cases in SynBinding.

* Add new setting for ragnarok mode.
Take anonymous records in SynBinding into account.

* Separate test case into multiple files. Implement SynBindingFunction and Expressions.

* Add support for computation expressions.

* Add support for Array/List in SynBinding value/function.

* Exclude update records.

* Synbinding function with return type.

* Add additional tests for type members.

* Add LetOrUseBang with Expression.

* Add YieldOrReturn with Expression.

* Add YieldOrReturnBang with Expression.

* Add SynExprAndBang with Expression.

* Format test files.

* Add tests suffix

* Add LongIdentSetExpression with Expression.

* Add DotIndexedSet with Expression.

* Add Set with Expression.

* Add DotSet with Expression.

* Add Lambda with Expression.

* Add SynMatchClause with Expression.

* Add SynTypeDefnSimpleRepr.Record NOTE: TESTS FAIL

* Add SynTypeDefnSigRepr.Simple

* Use correct helper function for Set and DotSet.

* Work around edge case where match clause body needs to be further indented.

* Add named arguments in application and new expressions.

* Fix leftover issue

* Add TODO comment

* Fix failing test

* Format files

Co-authored-by: nojaf <florian.verdonck@outlook.com>
nojaf added a commit that referenced this pull request Apr 4, 2022
* Bare minimal changes for one test case.

* Initial draft of ragnarok feature.

* Add more syntax node where the case occurs.

* Maybe multiline strings?

* Highlight additional cases in SynBinding.

* Add new setting for ragnarok mode.
Take anonymous records in SynBinding into account.

* Separate test case into multiple files. Implement SynBindingFunction and Expressions.

* Add support for computation expressions.

* Add support for Array/List in SynBinding value/function.

* Exclude update records.

* Synbinding function with return type.

* Add additional tests for type members.

* Add LetOrUseBang with Expression.

* Add YieldOrReturn with Expression.

* Add YieldOrReturnBang with Expression.

* Add SynExprAndBang with Expression.

* Format test files.

* Add tests suffix

* Add LongIdentSetExpression with Expression.

* Add DotIndexedSet with Expression.

* Add Set with Expression.

* Add DotSet with Expression.

* Add Lambda with Expression.

* Add SynMatchClause with Expression.

* Add SynTypeDefnSimpleRepr.Record NOTE: TESTS FAIL

* Add SynTypeDefnSigRepr.Simple

* Use correct helper function for Set and DotSet.

* Work around edge case where match clause body needs to be further indented.

* Add named arguments in application and new expressions.

* Fix leftover issue

* Add TODO comment

* Fix failing test

* Format files

Co-authored-by: nojaf <florian.verdonck@outlook.com>
nojaf added a commit that referenced this pull request Apr 4, 2022
* Initial settings for strousrup bracket style (#2161)

* Bare minimal changes for one test case.

* Initial draft of ragnarok feature.

* Add more syntax node where the case occurs.

* Maybe multiline strings?

* Highlight additional cases in SynBinding.

* Add new setting for ragnarok mode.
Take anonymous records in SynBinding into account.

* Separate test case into multiple files. Implement SynBindingFunction and Expressions.

* Add support for computation expressions.

* Add support for Array/List in SynBinding value/function.

* Exclude update records.

* Synbinding function with return type.

* Add additional tests for type members.

* Add LetOrUseBang with Expression.

* Add YieldOrReturn with Expression.

* Add YieldOrReturnBang with Expression.

* Add SynExprAndBang with Expression.

* Format test files.

* Add tests suffix

* Add LongIdentSetExpression with Expression.

* Add DotIndexedSet with Expression.

* Add Set with Expression.

* Add DotSet with Expression.

* Add Lambda with Expression.

* Add SynMatchClause with Expression.

* Add SynTypeDefnSimpleRepr.Record NOTE: TESTS FAIL

* Add SynTypeDefnSigRepr.Simple

* Use correct helper function for Set and DotSet.

* Work around edge case where match clause body needs to be further indented.

* Add named arguments in application and new expressions.

* Fix leftover issue

* Add TODO comment

* Fix failing test

* Format files

Co-authored-by: nojaf <florian.verdonck@outlook.com>

* Add changelog entry for first alpha of v5 (#2162)

* - Update TargetFramework of .NET tool to net6.0
- Adjust path in TestHelpers.fs

* Add CHANGELOG.md entry

* move changelog entry to Unreleased section

* Fix CHANGELOG.md

Co-authored-by: Josh DeGraw <18509575+josh-degraw@users.noreply.github.com>
Co-authored-by: nojaf <florian.verdonck@outlook.com>
nojaf added a commit that referenced this pull request Apr 4, 2022
* Bare minimal changes for one test case.

* Initial draft of ragnarok feature.

* Add more syntax node where the case occurs.

* Maybe multiline strings?

* Highlight additional cases in SynBinding.

* Add new setting for ragnarok mode.
Take anonymous records in SynBinding into account.

* Separate test case into multiple files. Implement SynBindingFunction and Expressions.

* Add support for computation expressions.

* Add support for Array/List in SynBinding value/function.

* Exclude update records.

* Synbinding function with return type.

* Add additional tests for type members.

* Add LetOrUseBang with Expression.

* Add YieldOrReturn with Expression.

* Add YieldOrReturnBang with Expression.

* Add SynExprAndBang with Expression.

* Format test files.

* Add tests suffix

* Add LongIdentSetExpression with Expression.

* Add DotIndexedSet with Expression.

* Add Set with Expression.

* Add DotSet with Expression.

* Add Lambda with Expression.

* Add SynMatchClause with Expression.

* Add SynTypeDefnSimpleRepr.Record NOTE: TESTS FAIL

* Add SynTypeDefnSigRepr.Simple

* Use correct helper function for Set and DotSet.

* Work around edge case where match clause body needs to be further indented.

* Add named arguments in application and new expressions.

* Fix leftover issue

* Add TODO comment

* Fix failing test

* Format files

Co-authored-by: nojaf <florian.verdonck@outlook.com>
nojaf added a commit that referenced this pull request Apr 4, 2022
* Initial settings for strousrup bracket style (#2161)

* Bare minimal changes for one test case.

* Initial draft of ragnarok feature.

* Add more syntax node where the case occurs.

* Maybe multiline strings?

* Highlight additional cases in SynBinding.

* Add new setting for ragnarok mode.
Take anonymous records in SynBinding into account.

* Separate test case into multiple files. Implement SynBindingFunction and Expressions.

* Add support for computation expressions.

* Add support for Array/List in SynBinding value/function.

* Exclude update records.

* Synbinding function with return type.

* Add additional tests for type members.

* Add LetOrUseBang with Expression.

* Add YieldOrReturn with Expression.

* Add YieldOrReturnBang with Expression.

* Add SynExprAndBang with Expression.

* Format test files.

* Add tests suffix

* Add LongIdentSetExpression with Expression.

* Add DotIndexedSet with Expression.

* Add Set with Expression.

* Add DotSet with Expression.

* Add Lambda with Expression.

* Add SynMatchClause with Expression.

* Add SynTypeDefnSimpleRepr.Record NOTE: TESTS FAIL

* Add SynTypeDefnSigRepr.Simple

* Use correct helper function for Set and DotSet.

* Work around edge case where match clause body needs to be further indented.

* Add named arguments in application and new expressions.

* Fix leftover issue

* Add TODO comment

* Fix failing test

* Format files

Co-authored-by: nojaf <florian.verdonck@outlook.com>

* Add changelog entry for first alpha of v5 (#2162)

* - Update TargetFramework of .NET tool to net6.0
- Adjust path in TestHelpers.fs

* Add CHANGELOG.md entry

* move changelog entry to Unreleased section

* Fix CHANGELOG.md

Co-authored-by: Josh DeGraw <18509575+josh-degraw@users.noreply.github.com>
Co-authored-by: nojaf <florian.verdonck@outlook.com>
nojaf added a commit that referenced this pull request Apr 11, 2022
* Bare minimal changes for one test case.

* Initial draft of ragnarok feature.

* Add more syntax node where the case occurs.

* Maybe multiline strings?

* Highlight additional cases in SynBinding.

* Add new setting for ragnarok mode.
Take anonymous records in SynBinding into account.

* Separate test case into multiple files. Implement SynBindingFunction and Expressions.

* Add support for computation expressions.

* Add support for Array/List in SynBinding value/function.

* Exclude update records.

* Synbinding function with return type.

* Add additional tests for type members.

* Add LetOrUseBang with Expression.

* Add YieldOrReturn with Expression.

* Add YieldOrReturnBang with Expression.

* Add SynExprAndBang with Expression.

* Format test files.

* Add tests suffix

* Add LongIdentSetExpression with Expression.

* Add DotIndexedSet with Expression.

* Add Set with Expression.

* Add DotSet with Expression.

* Add Lambda with Expression.

* Add SynMatchClause with Expression.

* Add SynTypeDefnSimpleRepr.Record NOTE: TESTS FAIL

* Add SynTypeDefnSigRepr.Simple

* Use correct helper function for Set and DotSet.

* Work around edge case where match clause body needs to be further indented.

* Add named arguments in application and new expressions.

* Fix leftover issue

* Add TODO comment

* Fix failing test

* Format files

Co-authored-by: nojaf <florian.verdonck@outlook.com>
nojaf added a commit that referenced this pull request Apr 11, 2022
* Initial settings for strousrup bracket style (#2161)

* Bare minimal changes for one test case.

* Initial draft of ragnarok feature.

* Add more syntax node where the case occurs.

* Maybe multiline strings?

* Highlight additional cases in SynBinding.

* Add new setting for ragnarok mode.
Take anonymous records in SynBinding into account.

* Separate test case into multiple files. Implement SynBindingFunction and Expressions.

* Add support for computation expressions.

* Add support for Array/List in SynBinding value/function.

* Exclude update records.

* Synbinding function with return type.

* Add additional tests for type members.

* Add LetOrUseBang with Expression.

* Add YieldOrReturn with Expression.

* Add YieldOrReturnBang with Expression.

* Add SynExprAndBang with Expression.

* Format test files.

* Add tests suffix

* Add LongIdentSetExpression with Expression.

* Add DotIndexedSet with Expression.

* Add Set with Expression.

* Add DotSet with Expression.

* Add Lambda with Expression.

* Add SynMatchClause with Expression.

* Add SynTypeDefnSimpleRepr.Record NOTE: TESTS FAIL

* Add SynTypeDefnSigRepr.Simple

* Use correct helper function for Set and DotSet.

* Work around edge case where match clause body needs to be further indented.

* Add named arguments in application and new expressions.

* Fix leftover issue

* Add TODO comment

* Fix failing test

* Format files

Co-authored-by: nojaf <florian.verdonck@outlook.com>

* Add changelog entry for first alpha of v5 (#2162)

* - Update TargetFramework of .NET tool to net6.0
- Adjust path in TestHelpers.fs

* Add CHANGELOG.md entry

* move changelog entry to Unreleased section

* Fix CHANGELOG.md

Co-authored-by: Josh DeGraw <18509575+josh-degraw@users.noreply.github.com>
Co-authored-by: nojaf <florian.verdonck@outlook.com>
nojaf added a commit that referenced this pull request Apr 29, 2022
* Bare minimal changes for one test case.

* Initial draft of ragnarok feature.

* Add more syntax node where the case occurs.

* Maybe multiline strings?

* Highlight additional cases in SynBinding.

* Add new setting for ragnarok mode.
Take anonymous records in SynBinding into account.

* Separate test case into multiple files. Implement SynBindingFunction and Expressions.

* Add support for computation expressions.

* Add support for Array/List in SynBinding value/function.

* Exclude update records.

* Synbinding function with return type.

* Add additional tests for type members.

* Add LetOrUseBang with Expression.

* Add YieldOrReturn with Expression.

* Add YieldOrReturnBang with Expression.

* Add SynExprAndBang with Expression.

* Format test files.

* Add tests suffix

* Add LongIdentSetExpression with Expression.

* Add DotIndexedSet with Expression.

* Add Set with Expression.

* Add DotSet with Expression.

* Add Lambda with Expression.

* Add SynMatchClause with Expression.

* Add SynTypeDefnSimpleRepr.Record NOTE: TESTS FAIL

* Add SynTypeDefnSigRepr.Simple

* Use correct helper function for Set and DotSet.

* Work around edge case where match clause body needs to be further indented.

* Add named arguments in application and new expressions.

* Fix leftover issue

* Add TODO comment

* Fix failing test

* Format files

Co-authored-by: nojaf <florian.verdonck@outlook.com>
nojaf added a commit that referenced this pull request Apr 29, 2022
* Initial settings for strousrup bracket style (#2161)

* Bare minimal changes for one test case.

* Initial draft of ragnarok feature.

* Add more syntax node where the case occurs.

* Maybe multiline strings?

* Highlight additional cases in SynBinding.

* Add new setting for ragnarok mode.
Take anonymous records in SynBinding into account.

* Separate test case into multiple files. Implement SynBindingFunction and Expressions.

* Add support for computation expressions.

* Add support for Array/List in SynBinding value/function.

* Exclude update records.

* Synbinding function with return type.

* Add additional tests for type members.

* Add LetOrUseBang with Expression.

* Add YieldOrReturn with Expression.

* Add YieldOrReturnBang with Expression.

* Add SynExprAndBang with Expression.

* Format test files.

* Add tests suffix

* Add LongIdentSetExpression with Expression.

* Add DotIndexedSet with Expression.

* Add Set with Expression.

* Add DotSet with Expression.

* Add Lambda with Expression.

* Add SynMatchClause with Expression.

* Add SynTypeDefnSimpleRepr.Record NOTE: TESTS FAIL

* Add SynTypeDefnSigRepr.Simple

* Use correct helper function for Set and DotSet.

* Work around edge case where match clause body needs to be further indented.

* Add named arguments in application and new expressions.

* Fix leftover issue

* Add TODO comment

* Fix failing test

* Format files

Co-authored-by: nojaf <florian.verdonck@outlook.com>

* Add changelog entry for first alpha of v5 (#2162)

* - Update TargetFramework of .NET tool to net6.0
- Adjust path in TestHelpers.fs

* Add CHANGELOG.md entry

* move changelog entry to Unreleased section

* Fix CHANGELOG.md

Co-authored-by: Josh DeGraw <18509575+josh-degraw@users.noreply.github.com>
Co-authored-by: nojaf <florian.verdonck@outlook.com>
nojaf added a commit that referenced this pull request May 2, 2022
* Bare minimal changes for one test case.

* Initial draft of ragnarok feature.

* Add more syntax node where the case occurs.

* Maybe multiline strings?

* Highlight additional cases in SynBinding.

* Add new setting for ragnarok mode.
Take anonymous records in SynBinding into account.

* Separate test case into multiple files. Implement SynBindingFunction and Expressions.

* Add support for computation expressions.

* Add support for Array/List in SynBinding value/function.

* Exclude update records.

* Synbinding function with return type.

* Add additional tests for type members.

* Add LetOrUseBang with Expression.

* Add YieldOrReturn with Expression.

* Add YieldOrReturnBang with Expression.

* Add SynExprAndBang with Expression.

* Format test files.

* Add tests suffix

* Add LongIdentSetExpression with Expression.

* Add DotIndexedSet with Expression.

* Add Set with Expression.

* Add DotSet with Expression.

* Add Lambda with Expression.

* Add SynMatchClause with Expression.

* Add SynTypeDefnSimpleRepr.Record NOTE: TESTS FAIL

* Add SynTypeDefnSigRepr.Simple

* Use correct helper function for Set and DotSet.

* Work around edge case where match clause body needs to be further indented.

* Add named arguments in application and new expressions.

* Fix leftover issue

* Add TODO comment

* Fix failing test

* Format files

Co-authored-by: nojaf <florian.verdonck@outlook.com>
nojaf added a commit that referenced this pull request May 2, 2022
* Initial settings for strousrup bracket style (#2161)

* Bare minimal changes for one test case.

* Initial draft of ragnarok feature.

* Add more syntax node where the case occurs.

* Maybe multiline strings?

* Highlight additional cases in SynBinding.

* Add new setting for ragnarok mode.
Take anonymous records in SynBinding into account.

* Separate test case into multiple files. Implement SynBindingFunction and Expressions.

* Add support for computation expressions.

* Add support for Array/List in SynBinding value/function.

* Exclude update records.

* Synbinding function with return type.

* Add additional tests for type members.

* Add LetOrUseBang with Expression.

* Add YieldOrReturn with Expression.

* Add YieldOrReturnBang with Expression.

* Add SynExprAndBang with Expression.

* Format test files.

* Add tests suffix

* Add LongIdentSetExpression with Expression.

* Add DotIndexedSet with Expression.

* Add Set with Expression.

* Add DotSet with Expression.

* Add Lambda with Expression.

* Add SynMatchClause with Expression.

* Add SynTypeDefnSimpleRepr.Record NOTE: TESTS FAIL

* Add SynTypeDefnSigRepr.Simple

* Use correct helper function for Set and DotSet.

* Work around edge case where match clause body needs to be further indented.

* Add named arguments in application and new expressions.

* Fix leftover issue

* Add TODO comment

* Fix failing test

* Format files

Co-authored-by: nojaf <florian.verdonck@outlook.com>

* Add changelog entry for first alpha of v5 (#2162)

* - Update TargetFramework of .NET tool to net6.0
- Adjust path in TestHelpers.fs

* Add CHANGELOG.md entry

* move changelog entry to Unreleased section

* Fix CHANGELOG.md

Co-authored-by: Josh DeGraw <18509575+josh-degraw@users.noreply.github.com>
Co-authored-by: nojaf <florian.verdonck@outlook.com>
nojaf added a commit that referenced this pull request May 6, 2022
* Bare minimal changes for one test case.

* Initial draft of ragnarok feature.

* Add more syntax node where the case occurs.

* Maybe multiline strings?

* Highlight additional cases in SynBinding.

* Add new setting for ragnarok mode.
Take anonymous records in SynBinding into account.

* Separate test case into multiple files. Implement SynBindingFunction and Expressions.

* Add support for computation expressions.

* Add support for Array/List in SynBinding value/function.

* Exclude update records.

* Synbinding function with return type.

* Add additional tests for type members.

* Add LetOrUseBang with Expression.

* Add YieldOrReturn with Expression.

* Add YieldOrReturnBang with Expression.

* Add SynExprAndBang with Expression.

* Format test files.

* Add tests suffix

* Add LongIdentSetExpression with Expression.

* Add DotIndexedSet with Expression.

* Add Set with Expression.

* Add DotSet with Expression.

* Add Lambda with Expression.

* Add SynMatchClause with Expression.

* Add SynTypeDefnSimpleRepr.Record NOTE: TESTS FAIL

* Add SynTypeDefnSigRepr.Simple

* Use correct helper function for Set and DotSet.

* Work around edge case where match clause body needs to be further indented.

* Add named arguments in application and new expressions.

* Fix leftover issue

* Add TODO comment

* Fix failing test

* Format files

Co-authored-by: nojaf <florian.verdonck@outlook.com>
nojaf added a commit that referenced this pull request May 6, 2022
* Initial settings for strousrup bracket style (#2161)

* Bare minimal changes for one test case.

* Initial draft of ragnarok feature.

* Add more syntax node where the case occurs.

* Maybe multiline strings?

* Highlight additional cases in SynBinding.

* Add new setting for ragnarok mode.
Take anonymous records in SynBinding into account.

* Separate test case into multiple files. Implement SynBindingFunction and Expressions.

* Add support for computation expressions.

* Add support for Array/List in SynBinding value/function.

* Exclude update records.

* Synbinding function with return type.

* Add additional tests for type members.

* Add LetOrUseBang with Expression.

* Add YieldOrReturn with Expression.

* Add YieldOrReturnBang with Expression.

* Add SynExprAndBang with Expression.

* Format test files.

* Add tests suffix

* Add LongIdentSetExpression with Expression.

* Add DotIndexedSet with Expression.

* Add Set with Expression.

* Add DotSet with Expression.

* Add Lambda with Expression.

* Add SynMatchClause with Expression.

* Add SynTypeDefnSimpleRepr.Record NOTE: TESTS FAIL

* Add SynTypeDefnSigRepr.Simple

* Use correct helper function for Set and DotSet.

* Work around edge case where match clause body needs to be further indented.

* Add named arguments in application and new expressions.

* Fix leftover issue

* Add TODO comment

* Fix failing test

* Format files

Co-authored-by: nojaf <florian.verdonck@outlook.com>

* Add changelog entry for first alpha of v5 (#2162)

* - Update TargetFramework of .NET tool to net6.0
- Adjust path in TestHelpers.fs

* Add CHANGELOG.md entry

* move changelog entry to Unreleased section

* Fix CHANGELOG.md

Co-authored-by: Josh DeGraw <18509575+josh-degraw@users.noreply.github.com>
Co-authored-by: nojaf <florian.verdonck@outlook.com>
nojaf added a commit that referenced this pull request May 6, 2022
* Initial settings for strousrup bracket style (#2161)

* Bare minimal changes for one test case.

* Initial draft of ragnarok feature.

* Add more syntax node where the case occurs.

* Maybe multiline strings?

* Highlight additional cases in SynBinding.

* Add new setting for ragnarok mode.
Take anonymous records in SynBinding into account.

* Separate test case into multiple files. Implement SynBindingFunction and Expressions.

* Add support for computation expressions.

* Add support for Array/List in SynBinding value/function.

* Exclude update records.

* Synbinding function with return type.

* Add additional tests for type members.

* Add LetOrUseBang with Expression.

* Add YieldOrReturn with Expression.

* Add YieldOrReturnBang with Expression.

* Add SynExprAndBang with Expression.

* Format test files.

* Add tests suffix

* Add LongIdentSetExpression with Expression.

* Add DotIndexedSet with Expression.

* Add Set with Expression.

* Add DotSet with Expression.

* Add Lambda with Expression.

* Add SynMatchClause with Expression.

* Add SynTypeDefnSimpleRepr.Record NOTE: TESTS FAIL

* Add SynTypeDefnSigRepr.Simple

* Use correct helper function for Set and DotSet.

* Work around edge case where match clause body needs to be further indented.

* Add named arguments in application and new expressions.

* Fix leftover issue

* Add TODO comment

* Fix failing test

* Format files

Co-authored-by: nojaf <florian.verdonck@outlook.com>

* Add changelog entry for first alpha of v5 (#2162)

* Update TargetFramework of .NET tool to net6.0 (#2184)

* Initial settings for strousrup bracket style (#2161)

* Bare minimal changes for one test case.

* Initial draft of ragnarok feature.

* Add more syntax node where the case occurs.

* Maybe multiline strings?

* Highlight additional cases in SynBinding.

* Add new setting for ragnarok mode.
Take anonymous records in SynBinding into account.

* Separate test case into multiple files. Implement SynBindingFunction and Expressions.

* Add support for computation expressions.

* Add support for Array/List in SynBinding value/function.

* Exclude update records.

* Synbinding function with return type.

* Add additional tests for type members.

* Add LetOrUseBang with Expression.

* Add YieldOrReturn with Expression.

* Add YieldOrReturnBang with Expression.

* Add SynExprAndBang with Expression.

* Format test files.

* Add tests suffix

* Add LongIdentSetExpression with Expression.

* Add DotIndexedSet with Expression.

* Add Set with Expression.

* Add DotSet with Expression.

* Add Lambda with Expression.

* Add SynMatchClause with Expression.

* Add SynTypeDefnSimpleRepr.Record NOTE: TESTS FAIL

* Add SynTypeDefnSigRepr.Simple

* Use correct helper function for Set and DotSet.

* Work around edge case where match clause body needs to be further indented.

* Add named arguments in application and new expressions.

* Fix leftover issue

* Add TODO comment

* Fix failing test

* Format files

Co-authored-by: nojaf <florian.verdonck@outlook.com>

* Add changelog entry for first alpha of v5 (#2162)

* - Update TargetFramework of .NET tool to net6.0
- Adjust path in TestHelpers.fs

* Add CHANGELOG.md entry

* move changelog entry to Unreleased section

* Fix CHANGELOG.md

Co-authored-by: Josh DeGraw <18509575+josh-degraw@users.noreply.github.com>
Co-authored-by: nojaf <florian.verdonck@outlook.com>

* Add release notes for 5.0.0-alpha-002

* Don't add space between type of array and square brackets (#2192) (#2193)

* Add framework restriction for group tool. (#2194)

* Embedded fcs (#2218)

* Add release notes for 5.0.0-alpha-002

* Don't add space between type of array and square brackets (#2192) (#2193)

* Initial version of Fantomas FCS.

* WIP custom token lexer analysis.

* Capture each string variant differently in TriviaBuilderState.

* Convert non trivia byte string from AST.

* Detect verbatim string from AST in TStaticConstant.

* Grab string content from sourceText.

* Initial define processing.

* Determine when the tokens are dead code.

* Update getDefines in TokenParserTests.fs

* Don't preserve blank lines in dead code. Fix remaining unit tests.

* Restored relevant token parser tests.

* Reactivate TriviaTests.

* Construct token list once.

* Make local build work again.

* Add Fantomas 5 changes outline.

* Remove old commented code from TokenParser.fs.

* Reference F# compiler via Paket.

* Ignore format selection test.

* Add Fantomas.FCS library to Fantomas nuget package.

* Remove PrivateAssets for Fantomas.FCS

* Add Tailcalls true to Fantomas.FCS

* Add Tailcalls true to Fantomas.FCS

* Always restore certain nodes from sourceText.

* Process conditional hash directives using ConditionalDirectiveTrivia from AST.

* No tokens, no cry

* Update dotnet/fsharp to 08992b326c5332396b0e7cec0896c8fdbbdc1e17

* Refactor renaming of SynModuleDecl.DoExpr to SynModuleDecl.Expr.

* Restore triple slash comment at invalid location

* Update to LongIdentWithTrivia PR.

* Update trailing dot workaround.

* Process initial changes of LongIdentWithTrivia.

* Update FCS to a62af8f874b1fc289cf0a85998b55f598f85de9e to deal with active patterns without parameters.

* Process changes of SynPat.Named with SynIdent.

* Add backticks to ident if they were originally there.

* Update FCS to corrected SynLongIdent trivia.

* Make dot insertion a bit more flexible.

* Update to fix of prefix operator notation.

* Verify IsPrefixOperator based on decompiled notation.

* Correct SynPat.Record field names.

* Correct SynMeasure expr.

* Correct SynExpr.DotSet.

* Preserve backticks if they were there but don't bother adding them if deemed necessary.

* Deal with space before star operator in specific places.

* Modify existing bad part of unit test.

* Update remaining tests.

* Rename TriviaMainNodes to TriviaNodes.

* Un ignore passing tests.

* Update FCS to dotnet/fsharp with SynLongIdent.

* Update FAKE build.

* Rename TokenParser to Defines.

* Remove TriviaContext.fs

* Remove ident trivia content.

* Remove Lex api.

* Update documentation to latest details.

* Add limitation for trivia between triple slash comment and module.

* Revert documentation subtitle.

* Update FCS to "Add trivia for SynModuleOrNamespace".

* Process changes of SynModuleOrNamespaceTrivia.

* Update to FCS SynValSigTrivia.

* Use val keyword from SynValSigTrivia.

Co-authored-by: reijerh <reijerh@users.noreply.github.com>

* Remove duplicate changelog entries.

Co-authored-by: Josh DeGraw <18509575+josh-degraw@users.noreply.github.com>
Co-authored-by: dawe <dawedawe@posteo.de>
Co-authored-by: reijerh <reijerh@users.noreply.github.com>
nojaf added a commit that referenced this pull request May 6, 2022
* Bare minimal changes for one test case.

* Initial draft of ragnarok feature.

* Add more syntax node where the case occurs.

* Maybe multiline strings?

* Highlight additional cases in SynBinding.

* Add new setting for ragnarok mode.
Take anonymous records in SynBinding into account.

* Separate test case into multiple files. Implement SynBindingFunction and Expressions.

* Add support for computation expressions.

* Add support for Array/List in SynBinding value/function.

* Exclude update records.

* Synbinding function with return type.

* Add additional tests for type members.

* Add LetOrUseBang with Expression.

* Add YieldOrReturn with Expression.

* Add YieldOrReturnBang with Expression.

* Add SynExprAndBang with Expression.

* Format test files.

* Add tests suffix

* Add LongIdentSetExpression with Expression.

* Add DotIndexedSet with Expression.

* Add Set with Expression.

* Add DotSet with Expression.

* Add Lambda with Expression.

* Add SynMatchClause with Expression.

* Add SynTypeDefnSimpleRepr.Record NOTE: TESTS FAIL

* Add SynTypeDefnSigRepr.Simple

* Use correct helper function for Set and DotSet.

* Work around edge case where match clause body needs to be further indented.

* Add named arguments in application and new expressions.

* Fix leftover issue

* Add TODO comment

* Fix failing test

* Format files

Co-authored-by: nojaf <florian.verdonck@outlook.com>
nojaf added a commit that referenced this pull request May 6, 2022
* Initial settings for strousrup bracket style (#2161)

* Bare minimal changes for one test case.

* Initial draft of ragnarok feature.

* Add more syntax node where the case occurs.

* Maybe multiline strings?

* Highlight additional cases in SynBinding.

* Add new setting for ragnarok mode.
Take anonymous records in SynBinding into account.

* Separate test case into multiple files. Implement SynBindingFunction and Expressions.

* Add support for computation expressions.

* Add support for Array/List in SynBinding value/function.

* Exclude update records.

* Synbinding function with return type.

* Add additional tests for type members.

* Add LetOrUseBang with Expression.

* Add YieldOrReturn with Expression.

* Add YieldOrReturnBang with Expression.

* Add SynExprAndBang with Expression.

* Format test files.

* Add tests suffix

* Add LongIdentSetExpression with Expression.

* Add DotIndexedSet with Expression.

* Add Set with Expression.

* Add DotSet with Expression.

* Add Lambda with Expression.

* Add SynMatchClause with Expression.

* Add SynTypeDefnSimpleRepr.Record NOTE: TESTS FAIL

* Add SynTypeDefnSigRepr.Simple

* Use correct helper function for Set and DotSet.

* Work around edge case where match clause body needs to be further indented.

* Add named arguments in application and new expressions.

* Fix leftover issue

* Add TODO comment

* Fix failing test

* Format files

Co-authored-by: nojaf <florian.verdonck@outlook.com>

* Add changelog entry for first alpha of v5 (#2162)

* - Update TargetFramework of .NET tool to net6.0
- Adjust path in TestHelpers.fs

* Add CHANGELOG.md entry

* move changelog entry to Unreleased section

* Fix CHANGELOG.md

Co-authored-by: Josh DeGraw <18509575+josh-degraw@users.noreply.github.com>
Co-authored-by: nojaf <florian.verdonck@outlook.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants