A thin LSP client that spawns `testium lsp` and forwards messages to
VSCode. All language intelligence lives in the testium repo, so this
extension only needs republishing for editor-side UX changes.
- package.json: declares the .tum language, registers the LSP client,
exposes testium.serverPath and testium.trace.server settings.
- src/extension.ts: vscode-languageclient setup over stdio, surfaces a
user-visible error if `testium lsp` can't start.
- syntaxes/tum.tmLanguage.json: TextMate grammar embedding source.yaml
plus tum-specific tokens for $(name), <| python |>, {% jinja %},
{{ jinja }}.
- language-configuration.json: comment char, bracket pairs, auto-close
for $(/), <|/|>, {%/%}, {{/}}.
- README.md: install (incl. testium[lsp] extra), settings, packaging
via vsce, publish to both VS Marketplace and Open VSX (the latter
is what VSCodium / Cursor / Gitpod use — same .vsix artifact).
Works identically on VSCode and VSCodium — no Microsoft-proprietary
API surface used.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
39 lines
857 B
JSON
39 lines
857 B
JSON
{
|
|
"comments": {
|
|
"lineComment": "#"
|
|
},
|
|
"brackets": [
|
|
["{", "}"],
|
|
["[", "]"],
|
|
["(", ")"]
|
|
],
|
|
"autoClosingPairs": [
|
|
{ "open": "{", "close": "}" },
|
|
{ "open": "[", "close": "]" },
|
|
{ "open": "(", "close": ")" },
|
|
{ "open": "\"", "close": "\"", "notIn": ["string"] },
|
|
{ "open": "'", "close": "'", "notIn": ["string"] },
|
|
{ "open": "$(", "close": ")" },
|
|
{ "open": "<|", "close": "|>" },
|
|
{ "open": "{%", "close": "%}" },
|
|
{ "open": "{{", "close": "}}" }
|
|
],
|
|
"surroundingPairs": [
|
|
["{", "}"],
|
|
["[", "]"],
|
|
["(", ")"],
|
|
["\"", "\""],
|
|
["'", "'"]
|
|
],
|
|
"indentationRules": {
|
|
"increaseIndentPattern": "^.*:\\s*$",
|
|
"decreaseIndentPattern": "^\\s+[}\\]].*$"
|
|
},
|
|
"onEnterRules": [
|
|
{
|
|
"beforeText": "^\\s*-\\s+[^:]*:\\s*$",
|
|
"action": { "indent": "indent" }
|
|
}
|
|
]
|
|
}
|