-
Notifications
You must be signed in to change notification settings - Fork 13
Fall back to fuzzy because LSIF data might be sparse #179
Conversation
|
I have a few thoughts here:
|
|
I agree that we should hold off on merging until we have an implementation for RFC 89 ready as well. At least to minimize the time in which results get worse before they get better.
No, we know what package and version it's defined in. We aren't able to correlate that with a repository known by Sourcegraph. |
|
@chrismwendt Is it correct to say this PR would undoubtedly improve the user experience for the majority of repos/dirs using LSIF due to the possible (likely?) case of not all symbols/definitions being included? @efritz While there is additional work to be done for sure but if this will give us an incremental win for 3.11, then I would question whether we need to wait for RFC 89 before merging. |
Which is the same as what the TypeScript language server knows. It then looks at the If you wanna see how exactly it works I actually gave a talk on it this year: https://about.sourcegraph.com/blog/advanced-typescript-tooling-talk-fosdem-2019 |
|
@ryan-blunden imo the frustration this can cause weighs higher than the incremental improvement |
|
@ryan-blunden had swayed me with an in-person chat that this is an incremental net-win for for the product and the indication of fuzzy vs precise intel can happen on its own schedule. The main takeway is that very few users will know about LSIF at this point, and even fewer would have enabled it for a small fraction of their repositories. Adding UI elements (outside of experimental and outside of admins-only) may cause users to question the precision of LSIF/LSP results until we get the UI correct. We want to iterate this on a different schedule to get it correct while still incrementally improving code intel results. The results returned by this PR will be strictly better than sparse LSIF alone and strictly better than basic code intel alone. In the former, we will show complete results while ordering the more precise ones on top for references, and for definitions and hovers we will get some result when we would otherwise get none. In the latter, we will show more precise results first. My 2¢ is to |
|
Product's assessment is that falling back is worth doing now. Fallback to language servers in extensions that support them is planned to be implemented in the corresponding repositories after merging this PR. Embedding cross-repository links directly into LSIF dumps would require an order of magnitude more effort than the appetite for this problem affords. |
Implements RFC 49 REVIEW: Fallback when LSIF data doesn't exist
Prior to this change, if there was no LSIF results for a code intel request, no code intel would be presented to the user.
After this change:
Related: RFC 89 WIP: Precise Code Intel Confidence outlines a plan to make the source of code intel data more transparent to the user so they understand why they're seeing fuzzy/precise results.