strings: the Sourcegraph blog

A collection of characters, stories, and other elements

Code intelligence on

Michael Fromberger on

At Sourcegraph we are working toward a long term goal of making code intelligence results both fast and precise. Today, Sourcegraph provides basic code intelligence for many languages using our search engine. It's fast, requires zero configuration, and covers many use cases, but the results are not guaranteed to be completely accurate. To get more precise answers we also use language-specific indexers to generate data in Language Server Index Format (LSIF), for important navigation queries like Go-to-Definition and Find References. Indexers already exist for several languages, including C++, Go, TypeScript, and Dart, and more are in-progress (visit for a list of indexers).

For historical reasons, we also run separate language servers for Go and TypeScript code. As part of our indexing work, we've changed the default settings on to use only LSIF or basic code intelligence for those languages. Repositories that don't contain Go or TypeScript are completely unaffected by this. For repositories that do contain Go or TypeScript code, it's easy to set up indexing. If you're interested, check out our LSIF Quick Start guide, and the README files for the Go indexer and the TypeScript indexer.

We don't expect this change to have a big impact on your use of Sourcegraph. If for some reason you do run into problems, however, please file an issue to let us know! We would like to understand and help you fix or work around any issues you may encounter.