ionide / FsAutoComplete

F# language server using Language Server Protocol
Other
391 stars 151 forks source link

Update FSharp.Analyzers.SDK to 0.13.0 #1163

Closed nojaf closed 5 months ago

nojaf commented 10 months ago

WHAT

šŸ¤– Generated by Copilot at 9bd005f

Improved the loading and handling of analyzers in the F# LSP servers. Refactored the analyzerHandler function to use a more suitable type.

šŸ¤– Generated by Copilot at 9bd005f

To load analyzers with more grace We pass a logging function in place It reports any errors That might cause us terrors When we use the SDK.Client interface

šŸ“šŸ› ļøšŸšØ

WHY

HOW

šŸ¤– Generated by Copilot at 9bd005f

There is no way the analyzers loaded with the current FSharp.Analyzers.SDK could ever work at runtime. The mismatch in FCS version will most likely blow up for everyone. I'm trying to address this in this PR.

There is one catch though: We currently don't have the full project-type check information. This perhaps is a bit of a too-strict requirement to load analyzers. It makes sense from the CLI point of view but maybe not for the editor. Let me know what makes the most sense and we can act accordingly.

TheAngryByrd commented 10 months ago

There is one catch though: We currently don't have the full project-type check information. This perhaps is a bit of a too-strict requirement to load analyzers. It makes sense from the CLI point of view but maybe not for the editor. Let me know what makes the most sense and we can act accordingly.

Yeah I started this discussion over here: https://github.com/ionide/FSharp.Analyzers.SDK/pull/73#issuecomment-1709333610

I'm probably not gonna accept any updates to the analyzer SDK while we're still making a lot of breaking changes over there.

nojaf commented 5 months ago

Closing in favour of https://github.com/fsharp/FsAutoComplete/pull/1217