What is LSIF?

The Language Server Index Format (LSIF, pronounced “else if”) is a standard format for language servers or other programming tools to emit their knowledge about a code workspace. This persisted information can later be used to answer LSP requests for the same workspace without running a language server.

LSIF is a standard format for persisted code analyzer output. It allows a code viewing client (e.g., an editor or code browser) to provide features like autocomplete, go to definition, find references, and similar, without requiring a language analyzer to perform those computations in real-time. Today, several companies are working to support its growth, including Sourcegraph and GitHub/Microsoft, and the protocol is beginning to be used to power a rapidly growing list of language intelligence tools. See below for details on and links to current indexer implementations.


When is LSIF useful?

For many repositories, the only two build environments that understand the code well enough to provide code intelligence are your editor and CI. Most code browsers don’t have access to either of those environments, so they use heuristics to provide code intelligence.

With LSIF, a build step in CI can dump information about the code to a file which can be transported anywhere. For example, code browsers only need that LSIF dump in order to provide hover tooltips, jump-to-definition, and find-references. This has many benefits:


Current implementations

LSIF is growing - fast. See tables below for the latest on adoption.


Qualifications:

To be included on this list, LSIF indexers must be fully open source.


Key

Implemented
WIP
Not implemented

Status

Unknown Implementation status unknown
Unstable Crashes on known/valid input
Development Not feature complete or unstable
Beta No known bugs, but not widely tested
Ready Feature complete and stable

LSIF Indexers



Contact us

LSIF.dev is maintained by Sourcegraph.

To suggest additions or to update the status of a project, please file issues or submit PRs on this project at github.com/lsif/lsif.github.io.

Join our Discord



Icons from Google Material icons, licensed under Apache License Version 2.0.