-
Notifications
You must be signed in to change notification settings - Fork 30.9k
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
Allow extensions to fully control workspace symbol search (matching and highlights) #98125
Comments
I think this will be hard to get right because in your example there is I think the ideal solution is to let extensions not only return the matching symbols but also do the matching and return positions to highlight. We probably reached the end of what our generic solution can do. |
@bpasero Thanks! A couple of other options too:
|
Adding some more info about this, I've detailed our use case for Metals (the Scala language server) here (before realizing it was a duplicate issue) #133313 |
Looking forward to updating milestones, after all, this affects the developer experience. |
For qualified workspace-symbols queries like
llvm::Str
, our language server returns results like{containerName: "llvm", name: "StringRef"}
.VSCode attempts to fuzzy-match the query (
llvm::Str
) against the name only (StringRef
). Because this always fails, it doesn't display any results.In #23509 it's suggested this is something extensions should deal with, but it's not clear what extensions can do. The
provideWorkspaceSymbols
extension point must return SymbolInformation which are then filtered byname
. Adding the qualifier toname
means it is displayed twice - once inname
and once incontainerName
.The text was updated successfully, but these errors were encountered: