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>
This commit is contained in:
commit
985f9ad8f2
418 changed files with 39065 additions and 0 deletions
158
tools/editors/vscode/package.json
Normal file
158
tools/editors/vscode/package.json
Normal file
|
|
@ -0,0 +1,158 @@
|
|||
{
|
||||
"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"
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue