elvish/vscode/syntaxes/elvish-in-markdown.tmLanguage.json
Qi Xiao c115a5d47a vscode: Expand where Elvish code can get highlighted.
- Highlight Elvish code blocks in Markdown.

- Highlight Elvish transcripts, either in .ttyshot files or in Markdown code
  blocks.

- Remove the syntaxes directory in repo root now that the syntaxes live inside
  vscode/syntaxes.

- Bump VS Code extension version to 0.1.2.
2022-08-10 22:39:54 +01:00

74 lines
1.7 KiB
JSON

{
"$schema": "https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json",
"scopeName": "source.elvish.in.markdown",
"injectionSelector": "L:text.html.markdown",
"patterns": [
{
"name": "markup.fenced_code.block.markdown",
"begin": "(^|\\G)(\\s*)(\\`{3,}|~{3,})\\s*(?i:(elvish)((\\s+|:|,|\\{|\\?)[^`~]*)?$)",
"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.elvish",
"patterns": [
{
"include": "source.elvish"
}
]
}
]
},
{
"name": "markup.fenced_code.block.markdown",
"begin": "(^|\\G)(\\s*)(\\`{3,}|~{3,})\\s*(?i:(elvish-transcript)((\\s+|:|,|\\{|\\?)[^`~]*)?$)",
"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.elvish-transcript",
"patterns": [
{
"include": "source.elvish-transcript"
}
]
}
]
}
]
}