LukeLang runtime already provides protocol servers:
luke LSP(hover, symbols, references, rename, formatting, semantic tokens, completion)luke DAP(debug adapter over gdb backend)
Official VS Code extension
Path: tools/vscode/lukelang/
Capabilities:
.lukelanguage registration + syntax highlighting- snippets + keyword/type completion
- LSP client auto-starts
vm/build/luke LSP(orlukelang.lukePath) - DAP debug launches
vm/build/luke DAPwith launch configs
Settings:
lukelang.lukePath— override binary pathlukelang.enableLsp— toggle LSPlukelang.enableDebug— toggle debug adapter
Package .vsix
From repo root:
bash scripts/vscode_extension_package.sh
Output: tools/vscode/lukelang/dist/*.vsix
Install locally in VS Code: Extensions → … → Install from VSIX…
Publish to Marketplace
Prerequisites:
- Create publisher at https://marketplace.visualstudio.com/manage (e.g.
lukelang) - Create a PAT with Marketplace → Manage scope
- Add repo secret
VSCE_PAT(or export locally)
Then:
export VSCE_PAT=your_token_herebash scripts/vscode_extension_publish.sh
Or trigger GitHub Action: Publish VS Code Extension (workflow_dispatch).
Official icon: icons/lukelang128x128.png (bundled in .vsix).
Dev loop
cd tools/vscode/lukelangnpm install
Open that folder in VS Code and press F5 (Extension Development Host).
Repo root also includes sample debug configs in .vscode/launch.json.
Protocol smoke tests
cd vm && makebash scripts/lsp_providers.shbash scripts/dap_handshake.shbash scripts/vscode_extension_package.sh