Language Server Index Format

Sigasi internship proposal 2020-2021

  • Skills: Java, Typescript, Language Server Protocol (optional)
  • Target audience: master computer science, master informatics

For many developers, reading and reviewing code both are crucial tasks in their daily work. Before you can start reading and reviewing code, a typical workflow is: check out the project, gather all the dependencies of the project and finally actually build the project. Only then are all requirements met to start reading and reviewing.

Wouldn’t it be super cool if you could have features like hovers, go to definition and find references without even having to check out the code? That is the goal of the Language Server Index Format or LSIF (pronounced “else if”).

“The LSIF 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 specification blog post.

Sigasi already implements the Language Server Protocol for two hardware description languages: VHDL and (System)Verilog. With this as a basis, you will develop LSIF support for the code browsers in order to provide code intelligence (hovers, definitions, references, etc). You will build a tool that creates the LSIF data from an LSP project and if time permits, a code browser that consumes and displays this data.

You will join the core engineering team of Sigasi and participate in the day-to-day development. You’ll join the scrum team, your code will go through the standard review cycle and will eventually have a real impact on our product.

This internship takes place in 2021, at the Sigasi office, close to the city center of Ghent. For more information about this internship proposal, contact careers@sigasi.com.