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>
27 lines
1.3 KiB
JSON
27 lines
1.3 KiB
JSON
{
|
|
"scopeName": "markdown.ludic.codeblock",
|
|
"comment": "Injects Ludic highlighting into ```ludic fences in Markdown. Any TextMate-based editor (VS Code, Sublime, JetBrains' TextMate bundles, Zed) picks this up; JetBrains' native Markdown support gets the same thing for free from the registered `Ludic` language ID, and ludic-lsp will also serve semantic tokens and diagnostics for the fence bodies in a .md file.",
|
|
"injectionSelector": "L:text.html.markdown",
|
|
"patterns": [{ "include": "#ludic-code-block" }],
|
|
"repository": {
|
|
"ludic-code-block": {
|
|
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(ludic)((\\s+|:|,|\\{|\\?)[^`~]*)?)$",
|
|
"name": "markup.fenced_code.block.markdown",
|
|
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
|
|
"beginCaptures": {
|
|
"3": { "name": "punctuation.definition.markdown" },
|
|
"4": { "name": "fenced_code.block.language.markdown" },
|
|
"5": { "name": "fenced_code.block.language.attributes.markdown" }
|
|
},
|
|
"endCaptures": { "3": { "name": "punctuation.definition.markdown" } },
|
|
"patterns": [
|
|
{
|
|
"begin": "(^|\\G)(\\s*)(.*)",
|
|
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)",
|
|
"contentName": "meta.embedded.block.ludic",
|
|
"patterns": [{ "include": "source.ludic" }]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|