-
-
Notifications
You must be signed in to change notification settings - Fork 194
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
Embedded fcs #2218
Merged
Merged
Embedded fcs #2218
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
… deemed necessary.
Very impressive work. Definitely lgtm 🚀 |
nojaf
added a commit
that referenced
this pull request
May 6, 2022
* 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>
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
* 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>
Merged
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
A first attempt to address #2217.
There are a lot of changes and this has been building up for some months now.