Autocompletion, hover documentation, and diagnostics for iii engine functions and triggers.
The source directory and release tag namespace are lsp-vscode; the Marketplace/OpenVSX package name remains iii-lsp for continuity.
- TypeScript / TSX
- Python
- Rust
-
lsp binary - The extension downloads and installs the pinned
lsp/v0.1.3binary on first activation.The binary is stored under VS Code's extension global storage directory and the absolute path is saved to
iii-lsp.serverPathin global settings.To use a custom binary instead, set
iii-lsp.serverPathto an existing executable path before activation. -
iii engine running locally (default:
ws://127.0.0.1:49134)
After the extension is installed, open a supported TypeScript, TSX, Python, or Rust file to activate it. On first activation, the extension downloads the matching lsp/v0.1.3 binary, verifies its SHA-256 checksum, installs it under extension global storage, and saves the installed path to iii-lsp.serverPath.
If automatic install fails, the extension warns and falls back to the configured iii-lsp.serverPath or lsp on PATH, with iii-lsp as a legacy PATH fallback.
-
Install dependencies:
cd lsp-vscode npm install -
Open VS Code and install the extension locally:
- Open the Command Palette (
Cmd+Shift+P) - Run Extensions: Install from Location...
- Select the
lsp-vscodedirectory
- Open the Command Palette (
-
Package the extension:
cd lsp-vscode npm install npx @vscode/vsce package -
Install the
.vsixfile:code --install-extension iii-lsp-*.vsix
Build a local VSIX and install it in Cursor:
cd lsp-vscode
make build
cursor --install-extension iii-lsp.vsix --forceOpen a supported file to activate the extension:
cursor ../lsp/src/main.rsAfter activation, iii-lsp.serverPath should point to the downloaded binary in Cursor settings. To install the same VSIX in VS Code instead, replace cursor with code.
| Setting | Default | Description |
|---|---|---|
iii-lsp.serverPath |
"" (auto-filled after first activation) |
Path to the installed or custom lsp binary |
iii-lsp.engineUrl |
ws://127.0.0.1:49134 |
WebSocket URL of the iii engine |
Configure via Settings > search "iii LSP", or in settings.json:
{
"iii-lsp.serverPath": "/path/to/lsp",
"iii-lsp.engineUrl": "ws://127.0.0.1:49134"
}- Completions - Function IDs, trigger types, payload properties, trigger config properties, and known values (stream names, topics, API paths)
- Hover - Function documentation with request/response JSON schemas
- Diagnostics - Validates function IDs, required payload fields, trigger types, config properties, cron expressions, and HTTP methods
