/llls

LLVM language server

Primary LanguageC++Apache License 2.0Apache-2.0

LLVM Language Server (WIP)

A language server conformant to the Language Server Protocol, providing language features like go to definition, find all references, hover information, etc., for LLVM assembly language.

Design

LSP Server

The main server receiving and sending JSON messages over JSONTransport.

Supported LSP messages:

LSP Transport

Mostly stolen from clangd design: Entry point and JSON-RPC.

  • JSONTransport speaks JSON-RPC protocol over stdin/stdout

Build

mkdir build
cd build
cmake -G Ninja -DLLVM_DIR=$LLVM_BUILD_DIR/lib/cmake/llvm ..
ninja