Skip to content
This repository was archived by the owner on Sep 30, 2024. It is now read-only.

codeintel: faster symbol search via LSIF #27173

Closed
5 tasks
chrismwendt opened this issue Nov 6, 2021 · 5 comments
Closed
5 tasks

codeintel: faster symbol search via LSIF #27173

chrismwendt opened this issue Nov 6, 2021 · 5 comments
Assignees
Labels
team/graph Graph Team (previously Code Intel/Language Tools/Language Platform)

Comments

@chrismwendt
Copy link
Contributor

chrismwendt commented Nov 6, 2021

The biggest complaint related to symbols today is that the search-based hover popover is slow to appear on big repos. This is slow because we have to re-process each commit separately, and big repos tend to have high commit volume, which means caching is not very effective.

Let's autoindex document symbols using existing LSIF indexers or a new lsif-tree-sitter so that we get symbols data pushed through diffs for recent commits (what most people a viewing).

Tasks:

  • Add documentSymbolResult to lsif-* (example implementation Spike adding deprecations to document symbols lsif-go#141)
  • Write a new lsif-tree-sitter (or lsif-ctags) which emits only symbols
  • Autoindex all repos that don't have symbol data with lsif-tree-sitter
  • Add a new GraphQL endpoint under lsif for symbols
  • Prefer symbol search via LSIF if available rather than ctags+SQLite

Tangentially related RFC Improving symbols search

@chrismwendt chrismwendt added the team/graph Graph Team (previously Code Intel/Language Tools/Language Platform) label Nov 6, 2021
@chrismwendt chrismwendt self-assigned this Nov 6, 2021
@github-actions
Copy link
Contributor

github-actions bot commented Nov 6, 2021

Heads up @macraig - the "team/code-intelligence" label was applied to this issue.

@chrismwendt chrismwendt changed the title codeintel: faster symbols search via LSIF codeintel: faster symbol search via LSIF Nov 6, 2021
@scalabilitysolved
Copy link
Contributor

Prefer symbol search via LSIF if available rather than ctags+SQLite

Don't we also store symbols produced from ctags in Zoekt in some cases @chrismwendt ?

@chrismwendt
Copy link
Contributor Author

Prefer symbol search via LSIF if available rather than ctags+SQLite

Don't we also store symbols produced from ctags in Zoekt in some cases @chrismwendt ?

Only the default branch and possibly a few others if configured have symbols stored in Zoekt. The main use case to cover here is when viewing PRs, and you can't configure those branch names in Zoekt ahead of time because you don't know what they will be.

@chrismwendt
Copy link
Contributor Author

I'm focusing attention on a quicker/easier solution first: https://github.com/sourcegraph/sourcegraph/issues/27611

@varungandhi-src
Copy link
Contributor

Closing as duplicate in favor of https://github.com/sourcegraph/sourcegraph/issues/58727

@varungandhi-src varungandhi-src closed this as not planned Won't fix, can't repro, duplicate, stale Feb 20, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
team/graph Graph Team (previously Code Intel/Language Tools/Language Platform)
Projects
None yet
Development

No branches or pull requests

3 participants