Am 11.02.22 um 09:15 schrieb Kunal Mehta:
Seems like what you're asking for is <https://docs.gitlab.com/ee/user/project/code_intelligence.html>, right?

AFAICT that functionality is available in self-hosted GitLab, it just requires someone writing a LSIF implementation for PHP, as it's not already listed on <https://lsif.dev/#implementations-server>.

Oh nice! I did a few minutes of digging on LSIF and sourcegraph, and it does sound quite good! Sourcegraph provides a search backend backend, navigation frontend, integration API and plugins for GitLab as well as Phabricato and even browser extensions. We could integrate it with codesearch as well, via its API. And LSIF is an open format for representing the kind if info we need.

Peter, what do you think of targeting LSIF instead of MongoDB?

I mean, just as an experiment. We still need to look closely whether LSIF really covers our needs. https://code.visualstudio.com/blogs/2019/02/19/lsif says that: Same as LSP, LSIF doesn't contain any program symbol information nor does the LSIF define any symbol semantics (for example, what makes the definition of a symbol or whether a method overrides another method). The LSIF therefore doesn't define a symbol database, which is consistent with the LSP approach.

That's actually quite a bummer. The most critical kind of search after "where is this called" is "what overrides this method"... Do I understand correctly that LSIF doesn't doe that?

PS: Sourcegraph's licensing model is a bit confusing though, seems like it's Apache for the core, and "open but not free" for some extra bits.
-- 
Daniel Kinzler
Principal Software Engineer, Core Platform
Wikimedia Foundation