Adding a language:
Kythe: a language implementation provides some structured graph
SourceGraph: a language implementation is an LSP server
Backend logic: Kythe: has common logic for querying for relationships
SourceGraph: simply proxies LSP requests through to the appropriate language server.
Terminology: Kythe: An indexer is a language implementation
SourceGraph: The index means something completely different, it's what keeps track of git repositories.
SourceGraph Architecture: https://github.com/sourcegraph/sourcegraph/blob/master/docs/...Adding lang server to SourceGraph (probably somewhat stale) https://github.com/sourcegraph/sourcegraph/blob/master/xlang...