ludic/tools/editors/vscode/package.json
Orkuncakilkaya 985f9ad8f2 Baseline: Ludic compiler + toolchain, Phase 1 syntax fixes complete
Self-hosted compiler (selfhost/*.ludic), runtime, examples, editor tooling,
and docs. Phase 1 of the syntax-redesign cohesion pass has landed:
edge-system fix, signature-query, when-alias, and the documentation truth-pass.
Suite green (14/14), C-free bootstrap fixpoint holds.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-27 15:15:35 +03:00

158 lines
4.2 KiB
JSON

{
"name": "ludic",
"displayName": "Ludic",
"description": "Ludic language support: syntax highlighting, formatting, and the ludic-lsp language server. Also highlights ```ludic fences in Markdown.",
"version": "1.0.0",
"publisher": "ludic",
"license": "MIT",
"engines": {
"vscode": "^1.75.0"
},
"categories": [
"Programming Languages",
"Formatters",
"Linters"
],
"keywords": [
"ludic",
"ecs",
"gamedev"
],
"main": "./src/extension.js",
"activationEvents": [
"onLanguage:ludic",
"onLanguage:markdown",
"workspaceContains:**/*.ludic"
],
"contributes": {
"languages": [
{
"id": "ludic",
"aliases": [
"Ludic",
"ludic"
],
"extensions": [
".ludic"
],
"configuration": "./language-configuration.json",
"icon": {
"light": "./icons/ludic.svg",
"dark": "./icons/ludic.svg"
}
}
],
"grammars": [
{
"language": "ludic",
"scopeName": "source.ludic",
"path": "./syntaxes/ludic.tmLanguage.json"
},
{
"scopeName": "markdown.ludic.codeblock",
"path": "./syntaxes/ludic.markdown-injection.json",
"injectTo": [
"text.html.markdown"
],
"embeddedLanguages": {
"meta.embedded.block.ludic": "ludic"
}
}
],
"semanticTokenScopes": [
{
"language": "ludic",
"scopes": {
"struct": [
"entity.name.type.component.ludic"
],
"class": [
"entity.name.type.archetype.ludic"
],
"namespace": [
"entity.name.type.scene.ludic"
],
"function.defaultLibrary": [
"support.function.builtin.ludic"
],
"enumMember.readonly.defaultLibrary": [
"constant.language.phase.ludic"
],
"decorator": [
"entity.name.function.decorator.ludic"
]
}
}
],
"configuration": {
"title": "Ludic",
"properties": {
"ludic.server.path": {
"type": "string",
"default": "",
"markdownDescription": "Path to the `ludic-lsp` binary. Empty means: look in `build/ludic-lsp` under each workspace folder, then on `PATH`."
},
"ludic.server.enabled": {
"type": "boolean",
"default": true,
"description": "Run the Ludic language server. Turn this off to keep only the static syntax highlighting."
},
"ludic.compilerPath": {
"type": "string",
"default": "",
"markdownDescription": "Path to `ludicc`. The server shells out to it for authoritative diagnostics on save. Empty means `build/ludicc` under the workspace."
},
"ludic.compilerDiagnostics": {
"type": "boolean",
"default": true,
"description": "Report errors from the Ludic compiler on save, in addition to the server's own structural checks."
},
"ludic.indentSize": {
"type": "number",
"default": 2,
"description": "Spaces per indent level used by the formatter when the editor does not say otherwise."
},
"ludic.trace.server": {
"type": "string",
"enum": [
"off",
"messages",
"verbose"
],
"default": "off",
"description": "Log the traffic between VS Code and the Ludic language server."
}
}
},
"commands": [
{
"command": "ludic.restartServer",
"title": "Ludic: Restart Language Server"
},
{
"command": "ludic.showOutput",
"title": "Ludic: Show Language Server Log"
}
],
"configurationDefaults": {
"[ludic]": {
"editor.insertSpaces": true,
"editor.tabSize": 2,
"editor.semanticHighlighting.enabled": true
}
},
"snippets": [
{
"language": "ludic",
"path": "./snippets/ludic.json"
}
]
},
"dependencies": {
"vscode-languageclient": "^9.0.1"
},
"repository": {
"type": "git",
"url": "https://example.invalid/ludic"
}
}