Contact: Lukas Linsbauer
A Language Server provides programming language specific information to clients (e.g., an IDE or other development tools).
A Language Server and a client communicate via the Language Server Protocol (LSP).
The advantage is that language support does not need to be implemented for every IDE separately (e.g., a C++ plugin for Eclipse, a C++ plugin for IntelliJ, ...).
Instead, a Language Server for a certain language is implemented once and can be used by any IDE that supports the LSP.
It is also possible to use multiple Language Servers at a time in an IDE.
A development tool that supports the LSP is Visual Studio Code.
The goal of this project is to implement a Language Server not for a specific programming language, but for traceability information of a variable system.
Traceability in a variable system is the knowledge of where a feature is implemented in the source code and, vice versa, what feature(s) a line of source code implements.
Consequently, a Trace is a mapping between one or more features and one or more lines of source code.
The Traceability Language Server shall provide traceability information to any IDE that supports the LSP.
Finally, the Traceability Language Server shall be demonstrated via Visual Studio Code in combination with an already existing Java Language Server on a small Java example.