Dark editor tile + the orange testium orbital mark + a </> code cue. SVG source kept (excluded from the VSIX), 256x256 PNG referenced via package.json icon. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Testium Assist
Language support for testium .tum
test scripts: syntax highlighting, completion, hover, and (later)
diagnostics.
Works the same on VSCode and VSCodium — the extension uses
only the standard VSCode API and vscode-languageclient, no
Microsoft-proprietary surface.
How it works
The extension is a thin LSP client that spawns the language server
shipped with testium itself (testium lsp). All the language
intelligence (item types, parameter completion, schema awareness)
lives in the testium repo — every new item type or parameter you add
upstream becomes available in the editor on the next testium upgrade,
without re-publishing this extension.
Two static parts live here, because they need to run before the LSP has a chance to start:
- Syntax highlighting — a TextMate grammar under
syntaxes/delegates to the base YAML grammar and adds tokens for testium's$(name),<| python expr |>, and Jinja{% … %}/{{ … }}constructs. - Editor configuration — comment character, bracket pairs,
auto-close pairs for
$( ),<| |>,{% %},{{ }}.
Requirements
- VSCode ≥ 1.80 (or any recent VSCodium build).
- A working
testiuminstallation with thelspextra:Or, when developing testium from source:pip install 'testium[lsp]'pip install -e /path/to/testium/src[lsp]
Settings
| Setting | Default | Description |
|---|---|---|
testium.serverPath |
testium |
Path to the testium executable. Set this to your venv's bin/testium if testium isn't on $PATH. |
testium.trace.server |
off |
LSP trace level surfaced in the Testium LSP output channel. |
Development
npm install
npm run compile # one-shot build
npm run watch # rebuild on save
Press F5 in VSCode to launch a development host with the extension
loaded. Open any .tum file; the Testium LSP output channel shows
the language-server traffic when testium.trace.server is set to
messages or verbose.
Packaging
npx vsce package # produces testium-assist-<v>.vsix
To install locally without publishing:
- Code/Codium UI —
Extensions: Install from VSIX…from the command palette, pick the.vsix. - CLI —
code --install-extension testium-assist-<v>.vsix(orcodium --install-extension …).
Publishing
The extension targets two registries:
- VS Marketplace (used by VSCode) —
npx vsce publish. Requires a Microsoft publisher account. - Open VSX (used by VSCodium, Cursor, Gitpod, Theia, Eclipse Che) —
npx ovsx publish. Free and open.
Both consume the same .vsix artifact. A GitHub Actions workflow that
runs both on tag push is the typical setup.
Status
This is the MVP: completion of test item type names at the start of a new step. Hover, parameter completion, outline and diagnostics will follow as the testium LSP server gains those features — no extension re-publish needed.
License
EUPL-1.2 — same as testium.