-
-
Notifications
You must be signed in to change notification settings - Fork 17
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
Generate types from meta model #49
Generate types from meta model #49
Conversation
74ab60e
to
6df1ab7
Compare
Update GenerateTests to use Fabulous.AST pre7
Requests (will update as I update FSAC):
The anonymous types thing is also painful when constructing large or complex markdown strings - anon records assigned to a local binding will be given a type in your app's namespaces and therefore be incompatible with the anon records defined in this library. |
d978d61
to
744860f
Compare
At this point I'm completely happy with this. @TheAngryByrd has been running FSAC based on https://github.com/ionide/FsAutoComplete/pull/1301/files?diff=split&w=1 (the PR that incorporates this) for a few days now. cc @razzmatazz as someone that I think was using this model - the changes are somewhat impactful, though mostly due to
|
@TheAngryByrd Is this a squash, do you think? 32 commits is quite a few :D |
that is not an issue, we will adapt to these changes |
thanks for confirming @razzmatazz! |
Alright, let's merge this and put out a new version! |
Really nice to see that Fabulous.AST helped here :) |
WHAT
🤖 Generated by Copilot at 198ad18
This pull request improves the F# code formatting and testing of the language server protocol library. It updates the
.editorconfig
file, the test project, and thefantomas
tool.🤖 Generated by Copilot at 198ad18
🔧🆙🧪
WHY
Generates types from the metaModel provided by the LSP spec. Hopefully makes it so we don't have to hand roll as much and can stay up to date easier.
1. Currently their metaModel docs have some stuff but it's not as extensive as use manually copying the docs from the LSP spec page itself.
Maybes:
HOW
🤖 Generated by Copilot at 198ad18
fantomas-tool
tofantomas
indotnet-tools.json
to use latest version of F# formatter (link)TargetFramework
tonet7.0
intests/Ionide.LanguageServerProtocol.Tests.fsproj
to use latest .NET SDK (link)GenerateTests.fs
totests/Ionide.LanguageServerProtocol.Tests.fsproj
to generate test cases for language server protocol messages (link)Fabulous.AST
package totests/Ionide.LanguageServerProtocol.Tests.fsproj
to work with abstract syntax trees in F# (link)fsharp_max_infix_operator_expression
setting from.editorconfig
to avoid formatting issues withfantomas
(link).editorconfig
to control formatting of brackets, blank lines, arrays, lists, and lambdas in F# (link)