Skip to content

Commit 6325dd7

Browse files
tomjschusterlpil
authored andcommitted
Add highlighting to Markdown fenced code blocks
1 parent b91f79b commit 6325dd7

File tree

2 files changed

+58
-0
lines changed

2 files changed

+58
-0
lines changed

package.json

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,16 @@
4040
"language": "gleam",
4141
"scopeName": "source.gleam",
4242
"path": "./syntaxes/gleam.tmLanguage.json"
43+
},
44+
{
45+
"scopeName": "markdown.gleam.codeblock",
46+
"path": "./syntaxes/gleam.codeblock.json",
47+
"injectTo": [
48+
"text.html.markdown"
49+
],
50+
"embeddedLanguages": {
51+
"meta.embedded.block.gleam": "gleam"
52+
}
4353
}
4454
],
4555
"snippets": [

syntaxes/gleam.codeblock.json

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
{
2+
"fileTypes": [],
3+
"injectionSelector": "L:text.html.markdown",
4+
"patterns": [
5+
{
6+
"include": "#gleam-code-block"
7+
}
8+
],
9+
"repository": {
10+
"gleam-code-block": {
11+
"begin": "(^|\\G)(\\s*)(\\`{3,}|~{3,})\\s*(?i:(gleam)((\\s+|:|,|\\{|\\?)[^`]*)?$)",
12+
"name": "markup.fenced_code.block.markdown",
13+
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
14+
"beginCaptures": {
15+
"3": {
16+
"name": "punctuation.definition.markdown"
17+
},
18+
"4": {
19+
"name": "fenced_code.block.language"
20+
},
21+
"7": {
22+
"name": "punctuation.definition.markdown"
23+
},
24+
"8": {
25+
"name": "fenced_code.block.language.attributes"
26+
}
27+
},
28+
"endCaptures": {
29+
"3": {
30+
"name": "punctuation.definition.markdown"
31+
}
32+
},
33+
"patterns": [
34+
{
35+
"begin": "(^|\\G)(\\s*)(.*)",
36+
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)",
37+
"contentName": "meta.embedded.block.gleam",
38+
"patterns": [
39+
{
40+
"include": "source.gleam"
41+
}
42+
]
43+
}
44+
]
45+
}
46+
},
47+
"scopeName": "markdown.gleam.codeblock"
48+
}

0 commit comments

Comments
 (0)