A Thrift language server.
Find a file
2025-11-21 23:55:36 +08:00
editors/code upgrade to 0.1.7 2025-11-21 23:55:36 +08:00
lib add ext support 2025-11-21 23:50:43 +08:00
src enhance completion feature 2025-04-13 15:00:34 +08:00
.gitignore support semantic tokens for functions 2025-04-08 23:32:45 +08:00
Cargo.lock upgrade to 0.1.7 2025-11-21 23:55:36 +08:00
Cargo.toml upgrade to 0.1.7 2025-11-21 23:55:36 +08:00
LICENSE add README 2025-04-12 23:02:36 +08:00
README.md implement completion feature 2025-04-13 01:13:54 +08:00

thrift-ls

A Thrift language server.

This project contains two programs:

  • Rust binary: A language server for Thrift.
  • VS Code extension: A VS Code extension for Thrift. This extension uses the WASM output of the Rust library.

Features

  • semantic syntax highlighting.
  • go to definition.
  • diagnostics.
  • completion.

How to Build

Prerequisites

  • Cargo installed (see here).
  • Node.js installed (optional, for building the VS Code extension).

Build with Cargo

  1. Clone and Build
    git clone https://github.com/ocfbnj/thrift-ls.git
    cd thrift-ls
    cargo build --release
    
    Now you can find the binary in ./target/release/thrift-ls.

Build VS Code Extension

  1. Install wasm-pack and wasm-bindgen-cli

    cargo install wasm-pack wasm-bindgen-cli
    
  2. Install vsce

    npm install -g @vscode/vsce
    
  3. Build the VS Code extension

    cd editors/code
    npm install
    npm run compile
    vsce package
    

    Now you can find the VS Code extension in ./thrift-ls-x.x.x.vsix.