-
Notifications
You must be signed in to change notification settings - Fork 154
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
Update to 7.0.4xx FCS versions #1151
Conversation
Co-authored-by: Maxime Mangel <maxime.shadaen@protonmail.com>
- Update to latest FCS beta package
* Having the latest fsc, we can make use of the now public Range property of PreXmlDoc to save resources * format
dbdb1a0
to
cb7a303
Compare
enableBackgroundItemKeyStoreAndSemanticClassification = true, | ||
keepAllBackgroundSymbolUses = true | ||
enablePartialTypeChecking = not hasAnalyzers, | ||
parallelReferenceResolution = true, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We're enabling this in Ionide via a config flag using an envvar. Could pass this along instead https://github.com/ionide/ionide-vscode-fsharp/blob/main/src/Core/LanguageService.fs#L714
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I guess tangentially, how much of this stuff should we expose via config?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We can progressively add it where there's no clear answer so that users can unblock themselves/try things out. I'll add it here for example. Something like enablePartialTypeChecking
though has rules that we can infer/follow - e.g. any analyzers auto-disable the feature.
This'll probably be red for a few mroe days until I finish cherry-picking fixes from |
my general plan for the failing tests is:
|
Ok, I think this should be just about ready to go now. Before this merges we'll need to make a new ProjInfo, and hopefully unblock the upper version bound on that project - I'd rather not merge + release this until we're off of the prerelease of ProjInfo. |
Green! I'll work on projinfo and try to get a new stable with fixed version ranges out. |
Thanks Chet! |
Paket Lock Diff ReportThis report was generated via Paket Lock Diff Additions - (0)Removals - (0)Version Upgrades - (14)
Version Downgrades - (0)@baronfel any concerns with those majors updating for net6.0 deploys? |
Kinda cute that FCS is considered a patch 😸 |
Re: 7.0 floats we don't really have an option here - FCS itself requires them. I did check them and the libraries themselves despite having 7.0 version numbers target the net6.0 TFM (and our test are passing when forcing net6.0) so I'm not incredibly worried. |
New ProjInfo packages are pushed, waiting for indexing on NuGet.org, then I'll update here and we'll see if tests are still green. |
Ok, all green! Time to merge this buckaroo! |
WHAT
🤖 Generated by Copilot at dbdb1a0
This pull request updates the FsAutoComplete project to use the latest version of the FSharp.Compiler.Service dependency and makes some improvements to the F# checker, lexer, and code generation features. It modifies several files in the
src/FsAutoComplete.Core
folder to handle the new syntax and type information, performance parameters, and language version support.🤖 Generated by Copilot at dbdb1a0
✨⚡🔧
WHY
Release day! kermitflail.gif
HOW
🤖 Generated by Copilot at dbdb1a0
tokenizeLine
function to use active patterns to extract the define and langversion arguments from the args array. The langversion argument was also passed to the FSharpSourceTokenizer constructor to support different F# language versions. These changes are intended to make the code more readable and flexible. (link)InlayHints.fs
,UnionPatternMatchCaseGenerator.fs
, andUntypedAstUtils.fs
. This parameter was added in the FSharp.Compiler.Service 43.7.400 version and is needed to correctly handle the tuple type information. (link, link, link)walkSimplePats
function inUntypedAstUtils.fs
, as they are no longer used in the FSharp.Compiler.Service 43.7.400 version. The SynSimplePats.SimplePats cases were also updated to include the range of the simple pattern list parameter. These changes are intended to simplify the code and align with the latest F# compiler service API. (link, link)