-
Notifications
You must be signed in to change notification settings - Fork 4.1k
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
[LSP] Enable support for F# semantic classifications #64168
Comments
We shoudl be able to find a way to retrieve those classification types with MEF (though, importantly, in a way that doesn't actually instantiate instances of F# types, causing those dlls to load). MEF def supports this. @dibarbet thinks it may already be possible to see what type-definitions F# is already exporting and examine thsoe. If that works, great! If not, we should be able to define a new attribute/interface for this and query it for just thsi purpose. |
Hey folks, we already do some classification internally, how we would expose that so Roslyn can utilize that? |
Don't you already support this through: https://github.com/dotnet/roslyn/blob/main/src/Tools/ExternalAccess/FSharp/Classification/IFSharpClassificationService.cs ? |
We do our own semantic classification, but apparently, it does not play well with LSP semantic tokens? |
I thnk the issue is that we don't know the F# classification type names so that we can include them in our legend - https://sourceroslyn.io/#Microsoft.CodeAnalysis.EditorFeatures/LanguageServer/AlwaysActivateInProcLanguageClient.cs,101 |
Hi @dibarbet - we're getting back on this topic in the light of the increasing LSP presence in VS. Can you share any update on that, or maybe you would like some extra info from the F# side? |
F# semantic tokens will currently not work with the LSP semantic tokens feature flag enabled. The primary hurdle is designing a way to retrieve F# classification types and include them in the Roslyn LSP semantic tokens legend.
The text was updated successfully, but these errors were encountered: