Skip to content

EmNudge/wat-lsp

Repository files navigation

WAT LSP Server

CI

A Language Server for WebAssembly Text Format (.wat files) written in Rust.

Try it in your browser →

Features

Hover, completions, signature help, go to definition, find references, and rename.

Supports WasmGC, Relaxed SIMD, Exception Handling, and Reference Types.

Install

VS Code: Install from the Marketplace or Open VSX.

Other editors: Configure to launch wat-lsp-rust for .wat files.

Packages

Package Description
packages/wat-lsp WASM build of the LSP for browser and Node.js (@emnudge/wat-lsp)
packages/vscode-extension VS Code extension
packages/playground Browser-based playground
packages/docs Documentation site

Building

Requires tree-sitter-cli (npm install -g tree-sitter-cli).

# Generate parser (required first)
cd grammars/tree-sitter-wat && tree-sitter generate && cd ../..

# Build native LSP server
cargo build --release  # outputs to target/release/wat-lsp-rust

# Build WASM module (for browser)
cd grammars/tree-sitter-wat && tree-sitter build --wasm && cd ../..
wasm-pack build --target web --features wasm --no-default-features

License

MIT