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:
Orkun ÇAKILKAYA 2026-08-27 15:15:35 +03:00
commit 985f9ad8f2
418 changed files with 39065 additions and 0 deletions

View file

@ -0,0 +1,54 @@
# Ludic for VS Code
Syntax highlighting, formatting, and full language-server support for **Ludic**,
the AI-first, ECS-native game language. See `LANGUAGE.md` in the Ludic repository
for the language reference.
## What you get
| | Source |
|---|---|
| Syntax highlighting | TextMate grammar, works with no build |
| Semantic highlighting | `ludic-lsp` — real name resolution, so a component reads differently from a local |
| Diagnostics | structural errors as you type; `ludicc`'s own errors on save |
| Completion | context-aware: fields after `.`, components inside `query [...]`, phases after `phase`, widgets inside `ui` |
| Hover | signatures and docs for builtins, intrinsics, and everything you declared |
| Go to definition / references / rename | across every file in the compilation unit, following `import` |
| Formatting | format-on-save, comment-preserving |
| Outline, folding, inlay hints, signature help | |
| ` ```ludic ` fences in Markdown | highlighted, checked, and formatted |
## Setup
Build the toolchain once, from the repository root:
```bash
./tools/build-tools.sh
```
That produces `build/ludic-lsp` and `build/ludic-fmt`, which the extension finds
on its own. If you keep them elsewhere, set `ludic.server.path`.
Format on save:
```json
"[ludic]": { "editor.formatOnSave": true }
```
## Settings
- `ludic.server.path` — where `ludic-lsp` lives. Empty = search `build/`, then `PATH`.
- `ludic.server.enabled` — turn the server off and keep only static highlighting.
- `ludic.compilerPath` — where `ludicc` lives, for on-save diagnostics.
- `ludic.compilerDiagnostics` — whether to run the compiler at all.
- `ludic.indentSize` — spaces per level for the formatter.
- `ludic.trace.server` — log LSP traffic (`Ludic: Show Language Server Log`).
## Installing without publishing
```bash
cd tools/editors/vscode
npm install
npx @vscode/vsce package
code --install-extension ludic-1.0.0.vsix
```