tinymist/editors/vscode/syntaxes/typst-markdown-injection.json

81 lines
No EOL
2.6 KiB
JSON

{
"fileTypes": [],
"injectionSelector": "L:text.html.markdown",
"patterns": [
{
"include": "#fenced-block-typst"
},
{
"include": "#fenced-block-typst-code"
}
],
"repository": {
"fenced-block-typst": {
"begin": "(^|\\G)(\\s*)(\\`{3,}|~{3,})\\s*(?i:(typ|typst)(\\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.typst",
"patterns": [
{
"include": "source.typst"
}
]
}
]
},
"fenced-block-typst-code": {
"begin": "(^|\\G)(\\s*)(\\`{3,}|~{3,})\\s*(?i:(typc)(\\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.typst-code",
"patterns": [
{
"include": "source.typst-code"
}
]
}
]
}
},
"scopeName": "markdown.typst.codeblock"
}