fuc-new/doc/node_modules/tm-grammars/grammars/markdown.json
hellcat 6adbc04d4b 1
2025-10-03 17:17:08 +08:00

3264 lines
88 KiB
JSON

{
"displayName": "Markdown",
"name": "markdown",
"patterns": [
{
"include": "#frontMatter"
},
{
"include": "#block"
}
],
"repository": {
"ampersand": {
"match": "&(?!([0-9A-Za-z]+|#[0-9]+|#x\\h+);)",
"name": "meta.other.valid-ampersand.markdown"
},
"block": {
"patterns": [
{
"include": "#separator"
},
{
"include": "#heading"
},
{
"include": "#blockquote"
},
{
"include": "#lists"
},
{
"include": "#fenced_code_block"
},
{
"include": "#raw_block"
},
{
"include": "#link-def"
},
{
"include": "#html"
},
{
"include": "#table"
},
{
"include": "#paragraph"
}
]
},
"blockquote": {
"begin": "(^|\\G) {0,3}(>) ?",
"captures": {
"2": {
"name": "punctuation.definition.quote.begin.markdown"
}
},
"name": "markup.quote.markdown",
"patterns": [
{
"include": "#block"
}
],
"while": "(^|\\G)\\s*(>) ?"
},
"bold": {
"begin": "(?<open>(\\*\\*(?=\\w)|(?<!\\w)\\*\\*|(?<!\\w)\\b__))(?=\\S)(?=(<[^>]*+>|(?<raw>`+)([^`]|(?!(?<!`)\\k<raw>(?!`))`)*+\\k<raw>|\\\\[-\\]!#(-+.>\\[\\\\_`{}]?+|\\[((?<square>[^]\\[\\\\]|\\\\.|\\[\\g<square>*+])*+](( ?\\[[^]]*+])|(\\([\\t ]*+<?(.*?)>?[\\t ]*+((?<title>[\"'])(.*?)\\k<title>)?\\))))|(?!(?<=\\S)\\k<open>).)++(?<=\\S)(?=__\\b|\\*\\*)\\k<open>)",
"captures": {
"1": {
"name": "punctuation.definition.bold.markdown"
}
},
"end": "(?<=\\S)(\\1)",
"name": "markup.bold.markdown",
"patterns": [
{
"applyEndPatternLast": 1,
"begin": "(?=<[^>]*?>)",
"end": "(?<=>)",
"patterns": [
{
"include": "text.html.derivative"
}
]
},
{
"include": "#escape"
},
{
"include": "#ampersand"
},
{
"include": "#bracket"
},
{
"include": "#raw"
},
{
"include": "#bold"
},
{
"include": "#italic"
},
{
"include": "#image-inline"
},
{
"include": "#link-inline"
},
{
"include": "#link-inet"
},
{
"include": "#link-email"
},
{
"include": "#image-ref"
},
{
"include": "#link-ref-literal"
},
{
"include": "#link-ref"
},
{
"include": "#link-ref-shortcut"
},
{
"include": "#strikethrough"
}
]
},
"bracket": {
"match": "<(?![!$/?A-Za-z])",
"name": "meta.other.valid-bracket.markdown"
},
"escape": {
"match": "\\\\[-\\]!#(-+.>\\[\\\\_`{}]",
"name": "constant.character.escape.markdown"
},
"fenced_code_block": {
"patterns": [
{
"include": "#fenced_code_block_css"
},
{
"include": "#fenced_code_block_basic"
},
{
"include": "#fenced_code_block_ini"
},
{
"include": "#fenced_code_block_java"
},
{
"include": "#fenced_code_block_lua"
},
{
"include": "#fenced_code_block_makefile"
},
{
"include": "#fenced_code_block_perl"
},
{
"include": "#fenced_code_block_r"
},
{
"include": "#fenced_code_block_ruby"
},
{
"include": "#fenced_code_block_php"
},
{
"include": "#fenced_code_block_sql"
},
{
"include": "#fenced_code_block_vs_net"
},
{
"include": "#fenced_code_block_xml"
},
{
"include": "#fenced_code_block_xsl"
},
{
"include": "#fenced_code_block_yaml"
},
{
"include": "#fenced_code_block_dosbatch"
},
{
"include": "#fenced_code_block_clojure"
},
{
"include": "#fenced_code_block_coffee"
},
{
"include": "#fenced_code_block_c"
},
{
"include": "#fenced_code_block_cpp"
},
{
"include": "#fenced_code_block_diff"
},
{
"include": "#fenced_code_block_dockerfile"
},
{
"include": "#fenced_code_block_git_commit"
},
{
"include": "#fenced_code_block_git_rebase"
},
{
"include": "#fenced_code_block_go"
},
{
"include": "#fenced_code_block_groovy"
},
{
"include": "#fenced_code_block_pug"
},
{
"include": "#fenced_code_block_ignore"
},
{
"include": "#fenced_code_block_js"
},
{
"include": "#fenced_code_block_js_regexp"
},
{
"include": "#fenced_code_block_json"
},
{
"include": "#fenced_code_block_jsonc"
},
{
"include": "#fenced_code_block_jsonl"
},
{
"include": "#fenced_code_block_less"
},
{
"include": "#fenced_code_block_objc"
},
{
"include": "#fenced_code_block_swift"
},
{
"include": "#fenced_code_block_scss"
},
{
"include": "#fenced_code_block_perl6"
},
{
"include": "#fenced_code_block_powershell"
},
{
"include": "#fenced_code_block_python"
},
{
"include": "#fenced_code_block_julia"
},
{
"include": "#fenced_code_block_regexp_python"
},
{
"include": "#fenced_code_block_rust"
},
{
"include": "#fenced_code_block_scala"
},
{
"include": "#fenced_code_block_shell"
},
{
"include": "#fenced_code_block_ts"
},
{
"include": "#fenced_code_block_tsx"
},
{
"include": "#fenced_code_block_csharp"
},
{
"include": "#fenced_code_block_fsharp"
},
{
"include": "#fenced_code_block_dart"
},
{
"include": "#fenced_code_block_handlebars"
},
{
"include": "#fenced_code_block_markdown"
},
{
"include": "#fenced_code_block_log"
},
{
"include": "#fenced_code_block_erlang"
},
{
"include": "#fenced_code_block_elixir"
},
{
"include": "#fenced_code_block_latex"
},
{
"include": "#fenced_code_block_bibtex"
},
{
"include": "#fenced_code_block_twig"
},
{
"include": "#fenced_code_block_yang"
},
{
"include": "#fenced_code_block_abap"
},
{
"include": "#fenced_code_block_restructuredtext"
},
{
"include": "#fenced_code_block_unknown"
}
]
},
"fenced_code_block_abap": {
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(abap)((\\s+|[,:?{])[^`]*)?$)",
"beginCaptures": {
"3": {
"name": "punctuation.definition.markdown"
},
"4": {
"name": "fenced_code.block.language.markdown"
},
"5": {
"name": "fenced_code.block.language.attributes.markdown"
}
},
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
"endCaptures": {
"3": {
"name": "punctuation.definition.markdown"
}
},
"name": "markup.fenced_code.block.markdown",
"patterns": [
{
"begin": "(^|\\G)(\\s*)(.*)",
"contentName": "meta.embedded.block.abap",
"patterns": [
{
"include": "source.abap"
}
],
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)"
}
]
},
"fenced_code_block_basic": {
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(html?|shtml|xhtml|inc|tmpl|tpl)((\\s+|[,:?{])[^`]*)?$)",
"beginCaptures": {
"3": {
"name": "punctuation.definition.markdown"
},
"4": {
"name": "fenced_code.block.language.markdown"
},
"5": {
"name": "fenced_code.block.language.attributes.markdown"
}
},
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
"endCaptures": {
"3": {
"name": "punctuation.definition.markdown"
}
},
"name": "markup.fenced_code.block.markdown",
"patterns": [
{
"begin": "(^|\\G)(\\s*)(.*)",
"contentName": "meta.embedded.block.html",
"patterns": [
{
"include": "text.html.basic"
}
],
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)"
}
]
},
"fenced_code_block_bibtex": {
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(bibtex)((\\s+|[,:?{])[^`]*)?$)",
"beginCaptures": {
"3": {
"name": "punctuation.definition.markdown"
},
"4": {
"name": "fenced_code.block.language.markdown"
},
"5": {
"name": "fenced_code.block.language.attributes.markdown"
}
},
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
"endCaptures": {
"3": {
"name": "punctuation.definition.markdown"
}
},
"name": "markup.fenced_code.block.markdown",
"patterns": [
{
"begin": "(^|\\G)(\\s*)(.*)",
"contentName": "meta.embedded.block.bibtex",
"patterns": [
{
"include": "text.bibtex"
}
],
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)"
}
]
},
"fenced_code_block_c": {
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:([ch])((\\s+|[,:?{])[^`]*)?$)",
"beginCaptures": {
"3": {
"name": "punctuation.definition.markdown"
},
"4": {
"name": "fenced_code.block.language.markdown"
},
"5": {
"name": "fenced_code.block.language.attributes.markdown"
}
},
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
"endCaptures": {
"3": {
"name": "punctuation.definition.markdown"
}
},
"name": "markup.fenced_code.block.markdown",
"patterns": [
{
"begin": "(^|\\G)(\\s*)(.*)",
"contentName": "meta.embedded.block.c",
"patterns": [
{
"include": "source.c"
}
],
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)"
}
]
},
"fenced_code_block_clojure": {
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(cl(?:js??|ojure))((\\s+|[,:?{])[^`]*)?$)",
"beginCaptures": {
"3": {
"name": "punctuation.definition.markdown"
},
"4": {
"name": "fenced_code.block.language.markdown"
},
"5": {
"name": "fenced_code.block.language.attributes.markdown"
}
},
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
"endCaptures": {
"3": {
"name": "punctuation.definition.markdown"
}
},
"name": "markup.fenced_code.block.markdown",
"patterns": [
{
"begin": "(^|\\G)(\\s*)(.*)",
"contentName": "meta.embedded.block.clojure",
"patterns": [
{
"include": "source.clojure"
}
],
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)"
}
]
},
"fenced_code_block_coffee": {
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(coffee|Cakefile|coffee.erb)((\\s+|[,:?{])[^`]*)?$)",
"beginCaptures": {
"3": {
"name": "punctuation.definition.markdown"
},
"4": {
"name": "fenced_code.block.language.markdown"
},
"5": {
"name": "fenced_code.block.language.attributes.markdown"
}
},
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
"endCaptures": {
"3": {
"name": "punctuation.definition.markdown"
}
},
"name": "markup.fenced_code.block.markdown",
"patterns": [
{
"begin": "(^|\\G)(\\s*)(.*)",
"contentName": "meta.embedded.block.coffee",
"patterns": [
{
"include": "source.coffee"
}
],
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)"
}
]
},
"fenced_code_block_cpp": {
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(c(?:pp|\\+\\+|xx))((\\s+|[,:?{])[^`]*)?$)",
"beginCaptures": {
"3": {
"name": "punctuation.definition.markdown"
},
"4": {
"name": "fenced_code.block.language.markdown"
},
"5": {
"name": "fenced_code.block.language.attributes.markdown"
}
},
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
"endCaptures": {
"3": {
"name": "punctuation.definition.markdown"
}
},
"name": "markup.fenced_code.block.markdown",
"patterns": [
{
"begin": "(^|\\G)(\\s*)(.*)",
"contentName": "meta.embedded.block.cpp source.cpp",
"patterns": [
{
"include": "source.cpp"
}
],
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)"
}
]
},
"fenced_code_block_csharp": {
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(c(?:s|sharp|#))((\\s+|[,:?{])[^`]*)?$)",
"beginCaptures": {
"3": {
"name": "punctuation.definition.markdown"
},
"4": {
"name": "fenced_code.block.language.markdown"
},
"5": {
"name": "fenced_code.block.language.attributes.markdown"
}
},
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
"endCaptures": {
"3": {
"name": "punctuation.definition.markdown"
}
},
"name": "markup.fenced_code.block.markdown",
"patterns": [
{
"begin": "(^|\\G)(\\s*)(.*)",
"contentName": "meta.embedded.block.csharp",
"patterns": [
{
"include": "source.cs"
}
],
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)"
}
]
},
"fenced_code_block_css": {
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(css(?:|.erb))((\\s+|[,:?{])[^`]*)?$)",
"beginCaptures": {
"3": {
"name": "punctuation.definition.markdown"
},
"4": {
"name": "fenced_code.block.language.markdown"
},
"5": {
"name": "fenced_code.block.language.attributes.markdown"
}
},
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
"endCaptures": {
"3": {
"name": "punctuation.definition.markdown"
}
},
"name": "markup.fenced_code.block.markdown",
"patterns": [
{
"begin": "(^|\\G)(\\s*)(.*)",
"contentName": "meta.embedded.block.css",
"patterns": [
{
"include": "source.css"
}
],
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)"
}
]
},
"fenced_code_block_dart": {
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(dart)((\\s+|[,:?{])[^`]*)?$)",
"beginCaptures": {
"3": {
"name": "punctuation.definition.markdown"
},
"4": {
"name": "fenced_code.block.language.markdown"
},
"5": {
"name": "fenced_code.block.language.attributes.markdown"
}
},
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
"endCaptures": {
"3": {
"name": "punctuation.definition.markdown"
}
},
"name": "markup.fenced_code.block.markdown",
"patterns": [
{
"begin": "(^|\\G)(\\s*)(.*)",
"contentName": "meta.embedded.block.dart",
"patterns": [
{
"include": "source.dart"
}
],
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)"
}
]
},
"fenced_code_block_diff": {
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(patch|diff|rej)((\\s+|[,:?{])[^`]*)?$)",
"beginCaptures": {
"3": {
"name": "punctuation.definition.markdown"
},
"4": {
"name": "fenced_code.block.language.markdown"
},
"5": {
"name": "fenced_code.block.language.attributes.markdown"
}
},
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
"endCaptures": {
"3": {
"name": "punctuation.definition.markdown"
}
},
"name": "markup.fenced_code.block.markdown",
"patterns": [
{
"begin": "(^|\\G)(\\s*)(.*)",
"contentName": "meta.embedded.block.diff",
"patterns": [
{
"include": "source.diff"
}
],
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)"
}
]
},
"fenced_code_block_dockerfile": {
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:([Dd]ockerfile)((\\s+|[,:?{])[^`]*)?$)",
"beginCaptures": {
"3": {
"name": "punctuation.definition.markdown"
},
"4": {
"name": "fenced_code.block.language.markdown"
},
"5": {
"name": "fenced_code.block.language.attributes.markdown"
}
},
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
"endCaptures": {
"3": {
"name": "punctuation.definition.markdown"
}
},
"name": "markup.fenced_code.block.markdown",
"patterns": [
{
"begin": "(^|\\G)(\\s*)(.*)",
"contentName": "meta.embedded.block.dockerfile",
"patterns": [
{
"include": "source.dockerfile"
}
],
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)"
}
]
},
"fenced_code_block_dosbatch": {
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(bat(?:|ch))((\\s+|[,:?{])[^`]*)?$)",
"beginCaptures": {
"3": {
"name": "punctuation.definition.markdown"
},
"4": {
"name": "fenced_code.block.language.markdown"
},
"5": {
"name": "fenced_code.block.language.attributes.markdown"
}
},
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
"endCaptures": {
"3": {
"name": "punctuation.definition.markdown"
}
},
"name": "markup.fenced_code.block.markdown",
"patterns": [
{
"begin": "(^|\\G)(\\s*)(.*)",
"contentName": "meta.embedded.block.dosbatch",
"patterns": [
{
"include": "source.batchfile"
}
],
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)"
}
]
},
"fenced_code_block_elixir": {
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(elixir)((\\s+|[,:?{])[^`]*)?$)",
"beginCaptures": {
"3": {
"name": "punctuation.definition.markdown"
},
"4": {
"name": "fenced_code.block.language.markdown"
},
"5": {
"name": "fenced_code.block.language.attributes.markdown"
}
},
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
"endCaptures": {
"3": {
"name": "punctuation.definition.markdown"
}
},
"name": "markup.fenced_code.block.markdown",
"patterns": [
{
"begin": "(^|\\G)(\\s*)(.*)",
"contentName": "meta.embedded.block.elixir",
"patterns": [
{
"include": "source.elixir"
}
],
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)"
}
]
},
"fenced_code_block_erlang": {
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(erlang)((\\s+|[,:?{])[^`]*)?$)",
"beginCaptures": {
"3": {
"name": "punctuation.definition.markdown"
},
"4": {
"name": "fenced_code.block.language.markdown"
},
"5": {
"name": "fenced_code.block.language.attributes.markdown"
}
},
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
"endCaptures": {
"3": {
"name": "punctuation.definition.markdown"
}
},
"name": "markup.fenced_code.block.markdown",
"patterns": [
{
"begin": "(^|\\G)(\\s*)(.*)",
"contentName": "meta.embedded.block.erlang",
"patterns": [
{
"include": "source.erlang"
}
],
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)"
}
]
},
"fenced_code_block_fsharp": {
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(f(?:s|sharp|#))((\\s+|[,:?{])[^`]*)?$)",
"beginCaptures": {
"3": {
"name": "punctuation.definition.markdown"
},
"4": {
"name": "fenced_code.block.language.markdown"
},
"5": {
"name": "fenced_code.block.language.attributes.markdown"
}
},
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
"endCaptures": {
"3": {
"name": "punctuation.definition.markdown"
}
},
"name": "markup.fenced_code.block.markdown",
"patterns": [
{
"begin": "(^|\\G)(\\s*)(.*)",
"contentName": "meta.embedded.block.fsharp",
"patterns": [
{
"include": "source.fsharp"
}
],
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)"
}
]
},
"fenced_code_block_git_commit": {
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:((?:COMMIT_EDIT|MERGE_)MSG)((\\s+|[,:?{])[^`]*)?$)",
"beginCaptures": {
"3": {
"name": "punctuation.definition.markdown"
},
"4": {
"name": "fenced_code.block.language.markdown"
},
"5": {
"name": "fenced_code.block.language.attributes.markdown"
}
},
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
"endCaptures": {
"3": {
"name": "punctuation.definition.markdown"
}
},
"name": "markup.fenced_code.block.markdown",
"patterns": [
{
"begin": "(^|\\G)(\\s*)(.*)",
"contentName": "meta.embedded.block.git_commit",
"patterns": [
{
"include": "text.git-commit"
}
],
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)"
}
]
},
"fenced_code_block_git_rebase": {
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(git-rebase-todo)((\\s+|[,:?{])[^`]*)?$)",
"beginCaptures": {
"3": {
"name": "punctuation.definition.markdown"
},
"4": {
"name": "fenced_code.block.language.markdown"
},
"5": {
"name": "fenced_code.block.language.attributes.markdown"
}
},
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
"endCaptures": {
"3": {
"name": "punctuation.definition.markdown"
}
},
"name": "markup.fenced_code.block.markdown",
"patterns": [
{
"begin": "(^|\\G)(\\s*)(.*)",
"contentName": "meta.embedded.block.git_rebase",
"patterns": [
{
"include": "text.git-rebase"
}
],
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)"
}
]
},
"fenced_code_block_go": {
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(go(?:|lang))((\\s+|[,:?{])[^`]*)?$)",
"beginCaptures": {
"3": {
"name": "punctuation.definition.markdown"
},
"4": {
"name": "fenced_code.block.language.markdown"
},
"5": {
"name": "fenced_code.block.language.attributes.markdown"
}
},
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
"endCaptures": {
"3": {
"name": "punctuation.definition.markdown"
}
},
"name": "markup.fenced_code.block.markdown",
"patterns": [
{
"begin": "(^|\\G)(\\s*)(.*)",
"contentName": "meta.embedded.block.go",
"patterns": [
{
"include": "source.go"
}
],
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)"
}
]
},
"fenced_code_block_groovy": {
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(g(?:roovy|vy))((\\s+|[,:?{])[^`]*)?$)",
"beginCaptures": {
"3": {
"name": "punctuation.definition.markdown"
},
"4": {
"name": "fenced_code.block.language.markdown"
},
"5": {
"name": "fenced_code.block.language.attributes.markdown"
}
},
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
"endCaptures": {
"3": {
"name": "punctuation.definition.markdown"
}
},
"name": "markup.fenced_code.block.markdown",
"patterns": [
{
"begin": "(^|\\G)(\\s*)(.*)",
"contentName": "meta.embedded.block.groovy",
"patterns": [
{
"include": "source.groovy"
}
],
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)"
}
]
},
"fenced_code_block_handlebars": {
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(h(?:andlebars|bs))((\\s+|[,:?{])[^`]*)?$)",
"beginCaptures": {
"3": {
"name": "punctuation.definition.markdown"
},
"4": {
"name": "fenced_code.block.language.markdown"
},
"5": {
"name": "fenced_code.block.language.attributes.markdown"
}
},
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
"endCaptures": {
"3": {
"name": "punctuation.definition.markdown"
}
},
"name": "markup.fenced_code.block.markdown",
"patterns": [
{
"begin": "(^|\\G)(\\s*)(.*)",
"contentName": "meta.embedded.block.handlebars",
"patterns": [
{
"include": "text.html.handlebars"
}
],
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)"
}
]
},
"fenced_code_block_ignore": {
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:((?:git|)ignore)((\\s+|[,:?{])[^`]*)?$)",
"beginCaptures": {
"3": {
"name": "punctuation.definition.markdown"
},
"4": {
"name": "fenced_code.block.language.markdown"
},
"5": {
"name": "fenced_code.block.language.attributes.markdown"
}
},
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
"endCaptures": {
"3": {
"name": "punctuation.definition.markdown"
}
},
"name": "markup.fenced_code.block.markdown",
"patterns": [
{
"begin": "(^|\\G)(\\s*)(.*)",
"contentName": "meta.embedded.block.ignore",
"patterns": [
{
"include": "source.ignore"
}
],
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)"
}
]
},
"fenced_code_block_ini": {
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(ini|conf)((\\s+|[,:?{])[^`]*)?$)",
"beginCaptures": {
"3": {
"name": "punctuation.definition.markdown"
},
"4": {
"name": "fenced_code.block.language.markdown"
},
"5": {
"name": "fenced_code.block.language.attributes.markdown"
}
},
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
"endCaptures": {
"3": {
"name": "punctuation.definition.markdown"
}
},
"name": "markup.fenced_code.block.markdown",
"patterns": [
{
"begin": "(^|\\G)(\\s*)(.*)",
"contentName": "meta.embedded.block.ini",
"patterns": [
{
"include": "source.ini"
}
],
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)"
}
]
},
"fenced_code_block_java": {
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(java|bsh)((\\s+|[,:?{])[^`]*)?$)",
"beginCaptures": {
"3": {
"name": "punctuation.definition.markdown"
},
"4": {
"name": "fenced_code.block.language.markdown"
},
"5": {
"name": "fenced_code.block.language.attributes.markdown"
}
},
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
"endCaptures": {
"3": {
"name": "punctuation.definition.markdown"
}
},
"name": "markup.fenced_code.block.markdown",
"patterns": [
{
"begin": "(^|\\G)(\\s*)(.*)",
"contentName": "meta.embedded.block.java",
"patterns": [
{
"include": "source.java"
}
],
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)"
}
]
},
"fenced_code_block_js": {
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(jsx??|javascript|es6|mjs|cjs|dataviewjs|\\{\\.js.+?})((\\s+|[,:?{])[^`]*)?$)",
"beginCaptures": {
"3": {
"name": "punctuation.definition.markdown"
},
"4": {
"name": "fenced_code.block.language.markdown"
},
"5": {
"name": "fenced_code.block.language.attributes.markdown"
}
},
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
"endCaptures": {
"3": {
"name": "punctuation.definition.markdown"
}
},
"name": "markup.fenced_code.block.markdown",
"patterns": [
{
"begin": "(^|\\G)(\\s*)(.*)",
"contentName": "meta.embedded.block.javascript",
"patterns": [
{
"include": "source.js"
}
],
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)"
}
]
},
"fenced_code_block_js_regexp": {
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(regexp)((\\s+|[,:?{])[^`]*)?$)",
"beginCaptures": {
"3": {
"name": "punctuation.definition.markdown"
},
"4": {
"name": "fenced_code.block.language.markdown"
},
"5": {
"name": "fenced_code.block.language.attributes.markdown"
}
},
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
"endCaptures": {
"3": {
"name": "punctuation.definition.markdown"
}
},
"name": "markup.fenced_code.block.markdown",
"patterns": [
{
"begin": "(^|\\G)(\\s*)(.*)",
"contentName": "meta.embedded.block.js_regexp",
"patterns": [
{
"include": "source.js.regexp"
}
],
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)"
}
]
},
"fenced_code_block_json": {
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(json5??|sublime-settings|sublime-menu|sublime-keymap|sublime-mousemap|sublime-theme|sublime-build|sublime-project|sublime-completions)((\\s+|[,:?{])[^`]*)?$)",
"beginCaptures": {
"3": {
"name": "punctuation.definition.markdown"
},
"4": {
"name": "fenced_code.block.language.markdown"
},
"5": {
"name": "fenced_code.block.language.attributes.markdown"
}
},
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
"endCaptures": {
"3": {
"name": "punctuation.definition.markdown"
}
},
"name": "markup.fenced_code.block.markdown",
"patterns": [
{
"begin": "(^|\\G)(\\s*)(.*)",
"contentName": "meta.embedded.block.json",
"patterns": [
{
"include": "source.json"
}
],
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)"
}
]
},
"fenced_code_block_jsonc": {
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(jsonc)((\\s+|[,:?{])[^`]*)?$)",
"beginCaptures": {
"3": {
"name": "punctuation.definition.markdown"
},
"4": {
"name": "fenced_code.block.language.markdown"
},
"5": {
"name": "fenced_code.block.language.attributes.markdown"
}
},
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
"endCaptures": {
"3": {
"name": "punctuation.definition.markdown"
}
},
"name": "markup.fenced_code.block.markdown",
"patterns": [
{
"begin": "(^|\\G)(\\s*)(.*)",
"contentName": "meta.embedded.block.jsonc",
"patterns": [
{
"include": "source.json.comments"
}
],
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)"
}
]
},
"fenced_code_block_jsonl": {
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(jsonl(?:|ines))((\\s+|[,:?{])[^`]*)?$)",
"beginCaptures": {
"3": {
"name": "punctuation.definition.markdown"
},
"4": {
"name": "fenced_code.block.language.markdown"
},
"5": {
"name": "fenced_code.block.language.attributes.markdown"
}
},
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
"endCaptures": {
"3": {
"name": "punctuation.definition.markdown"
}
},
"name": "markup.fenced_code.block.markdown",
"patterns": [
{
"begin": "(^|\\G)(\\s*)(.*)",
"contentName": "meta.embedded.block.jsonl",
"patterns": [
{
"include": "source.json.lines"
}
],
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)"
}
]
},
"fenced_code_block_julia": {
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(julia|\\{\\.julia.+?})((\\s+|[,:?{])[^`]*)?$)",
"beginCaptures": {
"3": {
"name": "punctuation.definition.markdown"
},
"4": {
"name": "fenced_code.block.language.markdown"
},
"5": {
"name": "fenced_code.block.language.attributes.markdown"
}
},
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
"endCaptures": {
"3": {
"name": "punctuation.definition.markdown"
}
},
"name": "markup.fenced_code.block.markdown",
"patterns": [
{
"begin": "(^|\\G)(\\s*)(.*)",
"contentName": "meta.embedded.block.julia",
"patterns": [
{
"include": "source.julia"
}
],
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)"
}
]
},
"fenced_code_block_latex": {
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:((?:la|)tex)((\\s+|[,:?{])[^`]*)?$)",
"beginCaptures": {
"3": {
"name": "punctuation.definition.markdown"
},
"4": {
"name": "fenced_code.block.language.markdown"
},
"5": {
"name": "fenced_code.block.language.attributes.markdown"
}
},
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
"endCaptures": {
"3": {
"name": "punctuation.definition.markdown"
}
},
"name": "markup.fenced_code.block.markdown",
"patterns": [
{
"begin": "(^|\\G)(\\s*)(.*)",
"contentName": "meta.embedded.block.latex",
"patterns": [
{
"include": "text.tex.latex"
}
],
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)"
}
]
},
"fenced_code_block_less": {
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(less)((\\s+|[,:?{])[^`]*)?$)",
"beginCaptures": {
"3": {
"name": "punctuation.definition.markdown"
},
"4": {
"name": "fenced_code.block.language.markdown"
},
"5": {
"name": "fenced_code.block.language.attributes.markdown"
}
},
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
"endCaptures": {
"3": {
"name": "punctuation.definition.markdown"
}
},
"name": "markup.fenced_code.block.markdown",
"patterns": [
{
"begin": "(^|\\G)(\\s*)(.*)",
"contentName": "meta.embedded.block.less",
"patterns": [
{
"include": "source.css.less"
}
],
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)"
}
]
},
"fenced_code_block_log": {
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(log)((\\s+|[,:?{])[^`]*)?$)",
"beginCaptures": {
"3": {
"name": "punctuation.definition.markdown"
},
"4": {
"name": "fenced_code.block.language.markdown"
},
"5": {
"name": "fenced_code.block.language.attributes.markdown"
}
},
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
"endCaptures": {
"3": {
"name": "punctuation.definition.markdown"
}
},
"name": "markup.fenced_code.block.markdown",
"patterns": [
{
"begin": "(^|\\G)(\\s*)(.*)",
"contentName": "meta.embedded.block.log",
"patterns": [
{
"include": "text.log"
}
],
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)"
}
]
},
"fenced_code_block_lua": {
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(lua)((\\s+|[,:?{])[^`]*)?$)",
"beginCaptures": {
"3": {
"name": "punctuation.definition.markdown"
},
"4": {
"name": "fenced_code.block.language.markdown"
},
"5": {
"name": "fenced_code.block.language.attributes.markdown"
}
},
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
"endCaptures": {
"3": {
"name": "punctuation.definition.markdown"
}
},
"name": "markup.fenced_code.block.markdown",
"patterns": [
{
"begin": "(^|\\G)(\\s*)(.*)",
"contentName": "meta.embedded.block.lua",
"patterns": [
{
"include": "source.lua"
}
],
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)"
}
]
},
"fenced_code_block_makefile": {
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:((?:[Mm]|GNUm|OCamlM)akefile)((\\s+|[,:?{])[^`]*)?$)",
"beginCaptures": {
"3": {
"name": "punctuation.definition.markdown"
},
"4": {
"name": "fenced_code.block.language.markdown"
},
"5": {
"name": "fenced_code.block.language.attributes.markdown"
}
},
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
"endCaptures": {
"3": {
"name": "punctuation.definition.markdown"
}
},
"name": "markup.fenced_code.block.markdown",
"patterns": [
{
"begin": "(^|\\G)(\\s*)(.*)",
"contentName": "meta.embedded.block.makefile",
"patterns": [
{
"include": "source.makefile"
}
],
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)"
}
]
},
"fenced_code_block_markdown": {
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(m(?:arkdown|d))((\\s+|[,:?{])[^`]*)?$)",
"beginCaptures": {
"3": {
"name": "punctuation.definition.markdown"
},
"4": {
"name": "fenced_code.block.language.markdown"
},
"5": {
"name": "fenced_code.block.language.attributes.markdown"
}
},
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
"endCaptures": {
"3": {
"name": "punctuation.definition.markdown"
}
},
"name": "markup.fenced_code.block.markdown",
"patterns": [
{
"begin": "(^|\\G)(\\s*)(.*)",
"contentName": "meta.embedded.block.markdown",
"patterns": [
{
"include": "text.html.markdown"
}
],
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)"
}
]
},
"fenced_code_block_objc": {
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(objectivec|objective-c|mm|objc|obj-c|[hm])((\\s+|[,:?{])[^`]*)?$)",
"beginCaptures": {
"3": {
"name": "punctuation.definition.markdown"
},
"4": {
"name": "fenced_code.block.language.markdown"
},
"5": {
"name": "fenced_code.block.language.attributes.markdown"
}
},
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
"endCaptures": {
"3": {
"name": "punctuation.definition.markdown"
}
},
"name": "markup.fenced_code.block.markdown",
"patterns": [
{
"begin": "(^|\\G)(\\s*)(.*)",
"contentName": "meta.embedded.block.objc",
"patterns": [
{
"include": "source.objc"
}
],
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)"
}
]
},
"fenced_code_block_perl": {
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(perl|pl|pm|pod|t|PL|psgi|vcl)((\\s+|[,:?{])[^`]*)?$)",
"beginCaptures": {
"3": {
"name": "punctuation.definition.markdown"
},
"4": {
"name": "fenced_code.block.language.markdown"
},
"5": {
"name": "fenced_code.block.language.attributes.markdown"
}
},
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
"endCaptures": {
"3": {
"name": "punctuation.definition.markdown"
}
},
"name": "markup.fenced_code.block.markdown",
"patterns": [
{
"begin": "(^|\\G)(\\s*)(.*)",
"contentName": "meta.embedded.block.perl",
"patterns": [
{
"include": "source.perl"
}
],
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)"
}
]
},
"fenced_code_block_perl6": {
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(perl6|p6|pl6|pm6|nqp)((\\s+|[,:?{])[^`]*)?$)",
"beginCaptures": {
"3": {
"name": "punctuation.definition.markdown"
},
"4": {
"name": "fenced_code.block.language.markdown"
},
"5": {
"name": "fenced_code.block.language.attributes.markdown"
}
},
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
"endCaptures": {
"3": {
"name": "punctuation.definition.markdown"
}
},
"name": "markup.fenced_code.block.markdown",
"patterns": [
{
"begin": "(^|\\G)(\\s*)(.*)",
"contentName": "meta.embedded.block.perl6",
"patterns": [
{
"include": "source.perl.6"
}
],
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)"
}
]
},
"fenced_code_block_php": {
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(php3??|php4|php5|phpt|phtml|aw|ctp)((\\s+|[,:?{])[^`]*)?$)",
"beginCaptures": {
"3": {
"name": "punctuation.definition.markdown"
},
"4": {
"name": "fenced_code.block.language.markdown"
},
"5": {
"name": "fenced_code.block.language.attributes.markdown"
}
},
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
"endCaptures": {
"3": {
"name": "punctuation.definition.markdown"
}
},
"name": "markup.fenced_code.block.markdown",
"patterns": [
{
"begin": "(^|\\G)(\\s*)(.*)",
"contentName": "meta.embedded.block.php",
"patterns": [
{
"include": "text.html.basic"
},
{
"include": "source.php"
}
],
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)"
}
]
},
"fenced_code_block_powershell": {
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(p(?:owershell|s1|sm1|sd1|wsh))((\\s+|[,:?{])[^`]*)?$)",
"beginCaptures": {
"3": {
"name": "punctuation.definition.markdown"
},
"4": {
"name": "fenced_code.block.language.markdown"
},
"5": {
"name": "fenced_code.block.language.attributes.markdown"
}
},
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
"endCaptures": {
"3": {
"name": "punctuation.definition.markdown"
}
},
"name": "markup.fenced_code.block.markdown",
"patterns": [
{
"begin": "(^|\\G)(\\s*)(.*)",
"contentName": "meta.embedded.block.powershell",
"patterns": [
{
"include": "source.powershell"
}
],
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)"
}
]
},
"fenced_code_block_pug": {
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(jade|pug)((\\s+|[,:?{])[^`]*)?$)",
"beginCaptures": {
"3": {
"name": "punctuation.definition.markdown"
},
"4": {
"name": "fenced_code.block.language.markdown"
},
"5": {
"name": "fenced_code.block.language.attributes.markdown"
}
},
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
"endCaptures": {
"3": {
"name": "punctuation.definition.markdown"
}
},
"name": "markup.fenced_code.block.markdown",
"patterns": [
{
"begin": "(^|\\G)(\\s*)(.*)",
"contentName": "meta.embedded.block.pug",
"patterns": [
{
"include": "text.pug"
}
],
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)"
}
]
},
"fenced_code_block_python": {
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(python|py3??|rpy|pyw|cpy|SConstruct|Sconstruct|sconstruct|SConscript|gypi??|\\{\\.python.+?})((\\s+|[,:?{])[^`]*)?$)",
"beginCaptures": {
"3": {
"name": "punctuation.definition.markdown"
},
"4": {
"name": "fenced_code.block.language.markdown"
},
"5": {
"name": "fenced_code.block.language.attributes.markdown"
}
},
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
"endCaptures": {
"3": {
"name": "punctuation.definition.markdown"
}
},
"name": "markup.fenced_code.block.markdown",
"patterns": [
{
"begin": "(^|\\G)(\\s*)(.*)",
"contentName": "meta.embedded.block.python",
"patterns": [
{
"include": "source.python"
}
],
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)"
}
]
},
"fenced_code_block_r": {
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:([RSrs]|Rprofile|\\{\\.r.+?})((\\s+|[,:?{])[^`]*)?$)",
"beginCaptures": {
"3": {
"name": "punctuation.definition.markdown"
},
"4": {
"name": "fenced_code.block.language.markdown"
},
"5": {
"name": "fenced_code.block.language.attributes.markdown"
}
},
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
"endCaptures": {
"3": {
"name": "punctuation.definition.markdown"
}
},
"name": "markup.fenced_code.block.markdown",
"patterns": [
{
"begin": "(^|\\G)(\\s*)(.*)",
"contentName": "meta.embedded.block.r",
"patterns": [
{
"include": "source.r"
}
],
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)"
}
]
},
"fenced_code_block_regexp_python": {
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(re)((\\s+|[,:?{])[^`]*)?$)",
"beginCaptures": {
"3": {
"name": "punctuation.definition.markdown"
},
"4": {
"name": "fenced_code.block.language.markdown"
},
"5": {
"name": "fenced_code.block.language.attributes.markdown"
}
},
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
"endCaptures": {
"3": {
"name": "punctuation.definition.markdown"
}
},
"name": "markup.fenced_code.block.markdown",
"patterns": [
{
"begin": "(^|\\G)(\\s*)(.*)",
"contentName": "meta.embedded.block.regexp_python",
"patterns": [
{
"include": "source.regexp.python"
}
],
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)"
}
]
},
"fenced_code_block_restructuredtext": {
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(r(?:estructuredtext|st))((\\s+|[,:?{])[^`]*)?$)",
"beginCaptures": {
"3": {
"name": "punctuation.definition.markdown"
},
"4": {
"name": "fenced_code.block.language.markdown"
},
"5": {
"name": "fenced_code.block.language.attributes.markdown"
}
},
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
"endCaptures": {
"3": {
"name": "punctuation.definition.markdown"
}
},
"name": "markup.fenced_code.block.markdown",
"patterns": [
{
"begin": "(^|\\G)(\\s*)(.*)",
"contentName": "meta.embedded.block.restructuredtext",
"patterns": [
{
"include": "source.rst"
}
],
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)"
}
]
},
"fenced_code_block_ruby": {
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(ruby|rbx??|rjs|Rakefile|rake|cgi|fcgi|gemspec|irbrc|Capfile|ru|prawn|Cheffile|Gemfile|Guardfile|Hobofile|Vagrantfile|Appraisals|Rantfile|Berksfile|Berksfile.lock|Thorfile|Puppetfile)((\\s+|[,:?{])[^`]*)?$)",
"beginCaptures": {
"3": {
"name": "punctuation.definition.markdown"
},
"4": {
"name": "fenced_code.block.language.markdown"
},
"5": {
"name": "fenced_code.block.language.attributes.markdown"
}
},
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
"endCaptures": {
"3": {
"name": "punctuation.definition.markdown"
}
},
"name": "markup.fenced_code.block.markdown",
"patterns": [
{
"begin": "(^|\\G)(\\s*)(.*)",
"contentName": "meta.embedded.block.ruby",
"patterns": [
{
"include": "source.ruby"
}
],
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)"
}
]
},
"fenced_code_block_rust": {
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(rust|rs|\\{\\.rust.+?})((\\s+|[,:?{])[^`]*)?$)",
"beginCaptures": {
"3": {
"name": "punctuation.definition.markdown"
},
"4": {
"name": "fenced_code.block.language.markdown"
},
"5": {
"name": "fenced_code.block.language.attributes.markdown"
}
},
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
"endCaptures": {
"3": {
"name": "punctuation.definition.markdown"
}
},
"name": "markup.fenced_code.block.markdown",
"patterns": [
{
"begin": "(^|\\G)(\\s*)(.*)",
"contentName": "meta.embedded.block.rust",
"patterns": [
{
"include": "source.rust"
}
],
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)"
}
]
},
"fenced_code_block_scala": {
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(s(?:cala|bt))((\\s+|[,:?{])[^`]*)?$)",
"beginCaptures": {
"3": {
"name": "punctuation.definition.markdown"
},
"4": {
"name": "fenced_code.block.language.markdown"
},
"5": {
"name": "fenced_code.block.language.attributes.markdown"
}
},
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
"endCaptures": {
"3": {
"name": "punctuation.definition.markdown"
}
},
"name": "markup.fenced_code.block.markdown",
"patterns": [
{
"begin": "(^|\\G)(\\s*)(.*)",
"contentName": "meta.embedded.block.scala",
"patterns": [
{
"include": "source.scala"
}
],
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)"
}
]
},
"fenced_code_block_scss": {
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(scss)((\\s+|[,:?{])[^`]*)?$)",
"beginCaptures": {
"3": {
"name": "punctuation.definition.markdown"
},
"4": {
"name": "fenced_code.block.language.markdown"
},
"5": {
"name": "fenced_code.block.language.attributes.markdown"
}
},
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
"endCaptures": {
"3": {
"name": "punctuation.definition.markdown"
}
},
"name": "markup.fenced_code.block.markdown",
"patterns": [
{
"begin": "(^|\\G)(\\s*)(.*)",
"contentName": "meta.embedded.block.scss",
"patterns": [
{
"include": "source.css.scss"
}
],
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)"
}
]
},
"fenced_code_block_shell": {
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(shell|sh|bash|zsh|bashrc|bash_profile|bash_login|profile|bash_logout|.textmate_init|\\{\\.bash.+?})((\\s+|[,:?{])[^`]*)?$)",
"beginCaptures": {
"3": {
"name": "punctuation.definition.markdown"
},
"4": {
"name": "fenced_code.block.language.markdown"
},
"5": {
"name": "fenced_code.block.language.attributes.markdown"
}
},
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
"endCaptures": {
"3": {
"name": "punctuation.definition.markdown"
}
},
"name": "markup.fenced_code.block.markdown",
"patterns": [
{
"begin": "(^|\\G)(\\s*)(.*)",
"contentName": "meta.embedded.block.shellscript",
"patterns": [
{
"include": "source.shell"
}
],
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)"
}
]
},
"fenced_code_block_sql": {
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(sql|ddl|dml)((\\s+|[,:?{])[^`]*)?$)",
"beginCaptures": {
"3": {
"name": "punctuation.definition.markdown"
},
"4": {
"name": "fenced_code.block.language.markdown"
},
"5": {
"name": "fenced_code.block.language.attributes.markdown"
}
},
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
"endCaptures": {
"3": {
"name": "punctuation.definition.markdown"
}
},
"name": "markup.fenced_code.block.markdown",
"patterns": [
{
"begin": "(^|\\G)(\\s*)(.*)",
"contentName": "meta.embedded.block.sql",
"patterns": [
{
"include": "source.sql"
}
],
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)"
}
]
},
"fenced_code_block_swift": {
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(swift)((\\s+|[,:?{])[^`]*)?$)",
"beginCaptures": {
"3": {
"name": "punctuation.definition.markdown"
},
"4": {
"name": "fenced_code.block.language.markdown"
},
"5": {
"name": "fenced_code.block.language.attributes.markdown"
}
},
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
"endCaptures": {
"3": {
"name": "punctuation.definition.markdown"
}
},
"name": "markup.fenced_code.block.markdown",
"patterns": [
{
"begin": "(^|\\G)(\\s*)(.*)",
"contentName": "meta.embedded.block.swift",
"patterns": [
{
"include": "source.swift"
}
],
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)"
}
]
},
"fenced_code_block_ts": {
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(t(?:ypescript|s))((\\s+|[,:?{])[^`]*)?$)",
"beginCaptures": {
"3": {
"name": "punctuation.definition.markdown"
},
"4": {
"name": "fenced_code.block.language.markdown"
},
"5": {
"name": "fenced_code.block.language.attributes.markdown"
}
},
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
"endCaptures": {
"3": {
"name": "punctuation.definition.markdown"
}
},
"name": "markup.fenced_code.block.markdown",
"patterns": [
{
"begin": "(^|\\G)(\\s*)(.*)",
"contentName": "meta.embedded.block.typescript",
"patterns": [
{
"include": "source.ts"
}
],
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)"
}
]
},
"fenced_code_block_tsx": {
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(tsx)((\\s+|[,:?{])[^`]*)?$)",
"beginCaptures": {
"3": {
"name": "punctuation.definition.markdown"
},
"4": {
"name": "fenced_code.block.language.markdown"
},
"5": {
"name": "fenced_code.block.language.attributes.markdown"
}
},
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
"endCaptures": {
"3": {
"name": "punctuation.definition.markdown"
}
},
"name": "markup.fenced_code.block.markdown",
"patterns": [
{
"begin": "(^|\\G)(\\s*)(.*)",
"contentName": "meta.embedded.block.typescriptreact",
"patterns": [
{
"include": "source.tsx"
}
],
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)"
}
]
},
"fenced_code_block_twig": {
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(twig)((\\s+|[,:?{])[^`]*)?$)",
"beginCaptures": {
"3": {
"name": "punctuation.definition.markdown"
},
"4": {
"name": "fenced_code.block.language.markdown"
},
"5": {
"name": "fenced_code.block.language.attributes.markdown"
}
},
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
"endCaptures": {
"3": {
"name": "punctuation.definition.markdown"
}
},
"name": "markup.fenced_code.block.markdown",
"patterns": [
{
"begin": "(^|\\G)(\\s*)(.*)",
"contentName": "meta.embedded.block.twig",
"patterns": [
{
"include": "source.twig"
}
],
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)"
}
]
},
"fenced_code_block_unknown": {
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?=([^`]*)?$)",
"beginCaptures": {
"3": {
"name": "punctuation.definition.markdown"
},
"4": {
"name": "fenced_code.block.language"
}
},
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
"endCaptures": {
"3": {
"name": "punctuation.definition.markdown"
}
},
"name": "markup.fenced_code.block.markdown"
},
"fenced_code_block_vs_net": {
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(vb)((\\s+|[,:?{])[^`]*)?$)",
"beginCaptures": {
"3": {
"name": "punctuation.definition.markdown"
},
"4": {
"name": "fenced_code.block.language.markdown"
},
"5": {
"name": "fenced_code.block.language.attributes.markdown"
}
},
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
"endCaptures": {
"3": {
"name": "punctuation.definition.markdown"
}
},
"name": "markup.fenced_code.block.markdown",
"patterns": [
{
"begin": "(^|\\G)(\\s*)(.*)",
"contentName": "meta.embedded.block.vs_net",
"patterns": [
{
"include": "source.asp.vb.net"
}
],
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)"
}
]
},
"fenced_code_block_xml": {
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(xml|xsd|tld|jsp|pt|cpt|dtml|rss|opml)((\\s+|[,:?{])[^`]*)?$)",
"beginCaptures": {
"3": {
"name": "punctuation.definition.markdown"
},
"4": {
"name": "fenced_code.block.language.markdown"
},
"5": {
"name": "fenced_code.block.language.attributes.markdown"
}
},
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
"endCaptures": {
"3": {
"name": "punctuation.definition.markdown"
}
},
"name": "markup.fenced_code.block.markdown",
"patterns": [
{
"begin": "(^|\\G)(\\s*)(.*)",
"contentName": "meta.embedded.block.xml",
"patterns": [
{
"include": "text.xml"
}
],
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)"
}
]
},
"fenced_code_block_xsl": {
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(xslt??)((\\s+|[,:?{])[^`]*)?$)",
"beginCaptures": {
"3": {
"name": "punctuation.definition.markdown"
},
"4": {
"name": "fenced_code.block.language.markdown"
},
"5": {
"name": "fenced_code.block.language.attributes.markdown"
}
},
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
"endCaptures": {
"3": {
"name": "punctuation.definition.markdown"
}
},
"name": "markup.fenced_code.block.markdown",
"patterns": [
{
"begin": "(^|\\G)(\\s*)(.*)",
"contentName": "meta.embedded.block.xsl",
"patterns": [
{
"include": "text.xml.xsl"
}
],
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)"
}
]
},
"fenced_code_block_yaml": {
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(ya?ml)((\\s+|[,:?{])[^`]*)?$)",
"beginCaptures": {
"3": {
"name": "punctuation.definition.markdown"
},
"4": {
"name": "fenced_code.block.language.markdown"
},
"5": {
"name": "fenced_code.block.language.attributes.markdown"
}
},
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
"endCaptures": {
"3": {
"name": "punctuation.definition.markdown"
}
},
"name": "markup.fenced_code.block.markdown",
"patterns": [
{
"begin": "(^|\\G)(\\s*)(.*)",
"contentName": "meta.embedded.block.yaml",
"patterns": [
{
"include": "source.yaml"
}
],
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)"
}
]
},
"fenced_code_block_yang": {
"begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(yang)((\\s+|[,:?{])[^`]*)?$)",
"beginCaptures": {
"3": {
"name": "punctuation.definition.markdown"
},
"4": {
"name": "fenced_code.block.language.markdown"
},
"5": {
"name": "fenced_code.block.language.attributes.markdown"
}
},
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
"endCaptures": {
"3": {
"name": "punctuation.definition.markdown"
}
},
"name": "markup.fenced_code.block.markdown",
"patterns": [
{
"begin": "(^|\\G)(\\s*)(.*)",
"contentName": "meta.embedded.block.yang",
"patterns": [
{
"include": "source.yang"
}
],
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)"
}
]
},
"frontMatter": {
"applyEndPatternLast": 1,
"begin": "\\A(?=(-{3,}))",
"end": "^(?: {0,3}\\1-*[\\t ]*|[\\t ]*\\.{3})$",
"endCaptures": {
"0": {
"name": "punctuation.definition.end.frontmatter"
}
},
"patterns": [
{
"begin": "\\A(-{3,})(.*)$",
"beginCaptures": {
"1": {
"name": "punctuation.definition.begin.frontmatter"
},
"2": {
"name": "comment.frontmatter"
}
},
"contentName": "meta.embedded.block.frontmatter",
"patterns": [
{
"include": "source.yaml"
}
],
"while": "^(?!(?: {0,3}\\1-*[\\t ]*|[\\t ]*\\.{3})$)"
}
]
},
"heading": {
"captures": {
"1": {
"patterns": [
{
"captures": {
"1": {
"name": "punctuation.definition.heading.markdown"
},
"2": {
"name": "entity.name.section.markdown",
"patterns": [
{
"include": "#inline"
},
{
"include": "text.html.derivative"
}
]
},
"3": {
"name": "punctuation.definition.heading.markdown"
}
},
"match": "(#{6})\\s+(.*?)(?:\\s+(#+))?\\s*$",
"name": "heading.6.markdown"
},
{
"captures": {
"1": {
"name": "punctuation.definition.heading.markdown"
},
"2": {
"name": "entity.name.section.markdown",
"patterns": [
{
"include": "#inline"
},
{
"include": "text.html.derivative"
}
]
},
"3": {
"name": "punctuation.definition.heading.markdown"
}
},
"match": "(#{5})\\s+(.*?)(?:\\s+(#+))?\\s*$",
"name": "heading.5.markdown"
},
{
"captures": {
"1": {
"name": "punctuation.definition.heading.markdown"
},
"2": {
"name": "entity.name.section.markdown",
"patterns": [
{
"include": "#inline"
},
{
"include": "text.html.derivative"
}
]
},
"3": {
"name": "punctuation.definition.heading.markdown"
}
},
"match": "(#{4})\\s+(.*?)(?:\\s+(#+))?\\s*$",
"name": "heading.4.markdown"
},
{
"captures": {
"1": {
"name": "punctuation.definition.heading.markdown"
},
"2": {
"name": "entity.name.section.markdown",
"patterns": [
{
"include": "#inline"
},
{
"include": "text.html.derivative"
}
]
},
"3": {
"name": "punctuation.definition.heading.markdown"
}
},
"match": "(#{3})\\s+(.*?)(?:\\s+(#+))?\\s*$",
"name": "heading.3.markdown"
},
{
"captures": {
"1": {
"name": "punctuation.definition.heading.markdown"
},
"2": {
"name": "entity.name.section.markdown",
"patterns": [
{
"include": "#inline"
},
{
"include": "text.html.derivative"
}
]
},
"3": {
"name": "punctuation.definition.heading.markdown"
}
},
"match": "(#{2})\\s+(.*?)(?:\\s+(#+))?\\s*$",
"name": "heading.2.markdown"
},
{
"captures": {
"1": {
"name": "punctuation.definition.heading.markdown"
},
"2": {
"name": "entity.name.section.markdown",
"patterns": [
{
"include": "#inline"
},
{
"include": "text.html.derivative"
}
]
},
"3": {
"name": "punctuation.definition.heading.markdown"
}
},
"match": "(#{1})\\s+(.*?)(?:\\s+(#+))?\\s*$",
"name": "heading.1.markdown"
}
]
}
},
"match": "(?:^|\\G) {0,3}(#{1,6}\\s+(.*?)(\\s+#{1,6})?\\s*)$",
"name": "markup.heading.markdown"
},
"heading-setext": {
"patterns": [
{
"match": "^(={3,})(?=[\\t ]*$\\n?)",
"name": "markup.heading.setext.1.markdown"
},
{
"match": "^(-{3,})(?=[\\t ]*$\\n?)",
"name": "markup.heading.setext.2.markdown"
}
]
},
"html": {
"patterns": [
{
"begin": "(^|\\G)\\s*(<!--)",
"captures": {
"1": {
"name": "punctuation.definition.comment.html"
},
"2": {
"name": "punctuation.definition.comment.html"
}
},
"end": "(-->)",
"name": "comment.block.html"
},
{
"begin": "(?i)(^|\\G)\\s*(?=<(script|style|pre)(\\s|$|>)(?!.*?</(script|style|pre)>))",
"end": "(?i)(.*)((</)(script|style|pre)(>))",
"endCaptures": {
"1": {
"patterns": [
{
"include": "text.html.derivative"
}
]
},
"2": {
"name": "meta.tag.structure.$4.end.html"
},
"3": {
"name": "punctuation.definition.tag.begin.html"
},
"4": {
"name": "entity.name.tag.html"
},
"5": {
"name": "punctuation.definition.tag.end.html"
}
},
"patterns": [
{
"begin": "(\\s*|$)",
"patterns": [
{
"include": "text.html.derivative"
}
],
"while": "(?i)^(?!.*</(script|style|pre)>)"
}
]
},
{
"begin": "(?i)(^|\\G)\\s*(?=</?[A-Za-z]+[^\\&/;gt\\s]*(\\s|$|/?>))",
"patterns": [
{
"include": "text.html.derivative"
}
],
"while": "^(?!\\s*$)"
},
{
"begin": "(^|\\G)\\s*(?=(<(?:[-0-9A-Za-z](/?>|\\s.*?>)|/[-0-9A-Za-z]>))\\s*$)",
"patterns": [
{
"include": "text.html.derivative"
}
],
"while": "^(?!\\s*$)"
}
]
},
"image-inline": {
"captures": {
"1": {
"name": "punctuation.definition.link.description.begin.markdown"
},
"10": {
"name": "markup.underline.link.image.markdown"
},
"12": {
"name": "string.other.link.description.title.markdown"
},
"13": {
"name": "punctuation.definition.string.begin.markdown"
},
"14": {
"name": "punctuation.definition.string.end.markdown"
},
"15": {
"name": "string.other.link.description.title.markdown"
},
"16": {
"name": "punctuation.definition.string.begin.markdown"
},
"17": {
"name": "punctuation.definition.string.end.markdown"
},
"18": {
"name": "string.other.link.description.title.markdown"
},
"19": {
"name": "punctuation.definition.string.begin.markdown"
},
"2": {
"name": "string.other.link.description.markdown"
},
"20": {
"name": "punctuation.definition.string.end.markdown"
},
"21": {
"name": "punctuation.definition.metadata.markdown"
},
"4": {
"name": "punctuation.definition.link.description.end.markdown"
},
"5": {
"name": "punctuation.definition.metadata.markdown"
},
"7": {
"name": "punctuation.definition.link.markdown"
},
"8": {
"name": "markup.underline.link.image.markdown"
},
"9": {
"name": "punctuation.definition.link.markdown"
}
},
"match": "(!\\[)((?<square>[^]\\[\\\\]|\\\\.|\\[\\g<square>*+])*+)(])(\\()[\\t ]*((<)((?:\\\\[<>]|[^\\n<>])*)(>)|((?<url>(?>[^()\\s]+)|\\(\\g<url>*\\))*))[\\t ]*(?:((\\().+?(\\)))|((\").+?(\"))|((').+?(')))?\\s*(\\))",
"name": "meta.image.inline.markdown"
},
"image-ref": {
"captures": {
"1": {
"name": "punctuation.definition.link.description.begin.markdown"
},
"2": {
"name": "string.other.link.description.markdown"
},
"4": {
"name": "punctuation.definition.link.description.end.markdown"
},
"5": {
"name": "punctuation.definition.constant.markdown"
},
"6": {
"name": "constant.other.reference.link.markdown"
},
"7": {
"name": "punctuation.definition.constant.markdown"
}
},
"match": "(!\\[)((?<square>[^]\\[\\\\]|\\\\.|\\[\\g<square>*+])*+)(]) ?(\\[)(.*?)(])",
"name": "meta.image.reference.markdown"
},
"inline": {
"patterns": [
{
"include": "#ampersand"
},
{
"include": "#bracket"
},
{
"include": "#bold"
},
{
"include": "#italic"
},
{
"include": "#raw"
},
{
"include": "#strikethrough"
},
{
"include": "#escape"
},
{
"include": "#image-inline"
},
{
"include": "#image-ref"
},
{
"include": "#link-email"
},
{
"include": "#link-inet"
},
{
"include": "#link-inline"
},
{
"include": "#link-ref"
},
{
"include": "#link-ref-literal"
},
{
"include": "#link-ref-shortcut"
}
]
},
"italic": {
"begin": "(?<open>(\\*(?=\\w)|(?<!\\w)\\*|(?<!\\w)\\b_))(?=\\S)(?=(<[^>]*+>|(?<raw>`+)([^`]|(?!(?<!`)\\k<raw>(?!`))`)*+\\k<raw>|\\\\[-\\]!#(-+.>\\[\\\\_`{}]?+|\\[((?<square>[^]\\[\\\\]|\\\\.|\\[\\g<square>*+])*+](( ?\\[[^]]*+])|(\\([\\t ]*+<?(.*?)>?[\\t ]*+((?<title>[\"'])(.*?)\\k<title>)?\\))))|\\k<open>\\k<open>|(?!(?<=\\S)\\k<open>).)++(?<=\\S)(?=_\\b|\\*)\\k<open>)",
"captures": {
"1": {
"name": "punctuation.definition.italic.markdown"
}
},
"end": "(?<=\\S)(\\1)((?!\\1)|(?=\\1\\1))",
"name": "markup.italic.markdown",
"patterns": [
{
"applyEndPatternLast": 1,
"begin": "(?=<[^>]*?>)",
"end": "(?<=>)",
"patterns": [
{
"include": "text.html.derivative"
}
]
},
{
"include": "#escape"
},
{
"include": "#ampersand"
},
{
"include": "#bracket"
},
{
"include": "#raw"
},
{
"include": "#bold"
},
{
"include": "#image-inline"
},
{
"include": "#link-inline"
},
{
"include": "#link-inet"
},
{
"include": "#link-email"
},
{
"include": "#image-ref"
},
{
"include": "#link-ref-literal"
},
{
"include": "#link-ref"
},
{
"include": "#link-ref-shortcut"
},
{
"include": "#strikethrough"
}
]
},
"link-def": {
"captures": {
"1": {
"name": "punctuation.definition.constant.markdown"
},
"10": {
"name": "punctuation.definition.string.begin.markdown"
},
"11": {
"name": "punctuation.definition.string.end.markdown"
},
"12": {
"name": "string.other.link.description.title.markdown"
},
"13": {
"name": "punctuation.definition.string.begin.markdown"
},
"14": {
"name": "punctuation.definition.string.end.markdown"
},
"15": {
"name": "string.other.link.description.title.markdown"
},
"16": {
"name": "punctuation.definition.string.begin.markdown"
},
"17": {
"name": "punctuation.definition.string.end.markdown"
},
"2": {
"name": "constant.other.reference.link.markdown"
},
"3": {
"name": "punctuation.definition.constant.markdown"
},
"4": {
"name": "punctuation.separator.key-value.markdown"
},
"5": {
"name": "punctuation.definition.link.markdown"
},
"6": {
"name": "markup.underline.link.markdown"
},
"7": {
"name": "punctuation.definition.link.markdown"
},
"8": {
"name": "markup.underline.link.markdown"
},
"9": {
"name": "string.other.link.description.title.markdown"
}
},
"match": "\\s*(\\[)([^]]+?)(])(:)[\\t ]*(?:(<)((?:\\\\[<>]|[^\\n<>])*)(>)|(\\S+?))[\\t ]*(?:((\\().+?(\\)))|((\").+?(\"))|((').+?(')))?\\s*$",
"name": "meta.link.reference.def.markdown"
},
"link-email": {
"captures": {
"1": {
"name": "punctuation.definition.link.markdown"
},
"2": {
"name": "markup.underline.link.markdown"
},
"4": {
"name": "punctuation.definition.link.markdown"
}
},
"match": "(<)((?:mailto:)?[!#-'*+\\--9=?A-Z^-~]+@[-0-9A-Za-z]+(?:\\.[-0-9A-Za-z]+)*)(>)",
"name": "meta.link.email.lt-gt.markdown"
},
"link-inet": {
"captures": {
"1": {
"name": "punctuation.definition.link.markdown"
},
"2": {
"name": "markup.underline.link.markdown"
},
"3": {
"name": "punctuation.definition.link.markdown"
}
},
"match": "(<)((?:https?|ftp)://.*?)(>)",
"name": "meta.link.inet.markdown"
},
"link-inline": {
"captures": {
"1": {
"name": "punctuation.definition.link.title.begin.markdown"
},
"10": {
"name": "markup.underline.link.markdown"
},
"12": {
"name": "string.other.link.description.title.markdown"
},
"13": {
"name": "punctuation.definition.string.begin.markdown"
},
"14": {
"name": "punctuation.definition.string.end.markdown"
},
"15": {
"name": "string.other.link.description.title.markdown"
},
"16": {
"name": "punctuation.definition.string.begin.markdown"
},
"17": {
"name": "punctuation.definition.string.end.markdown"
},
"18": {
"name": "string.other.link.description.title.markdown"
},
"19": {
"name": "punctuation.definition.string.begin.markdown"
},
"2": {
"name": "string.other.link.title.markdown",
"patterns": [
{
"include": "#raw"
},
{
"include": "#bold"
},
{
"include": "#italic"
},
{
"include": "#strikethrough"
},
{
"include": "#image-inline"
}
]
},
"20": {
"name": "punctuation.definition.string.end.markdown"
},
"21": {
"name": "punctuation.definition.metadata.markdown"
},
"4": {
"name": "punctuation.definition.link.title.end.markdown"
},
"5": {
"name": "punctuation.definition.metadata.markdown"
},
"7": {
"name": "punctuation.definition.link.markdown"
},
"8": {
"name": "markup.underline.link.markdown"
},
"9": {
"name": "punctuation.definition.link.markdown"
}
},
"match": "(\\[)((?<square>[^]\\[\\\\]|\\\\.|\\[\\g<square>*+])*+)(])(\\()[\\t ]*((<)((?:\\\\[<>]|[^\\n<>])*)(>)|((?<url>(?>[^()\\s]+)|\\(\\g<url>*\\))*))[\\t ]*(?:((\\()[^()]*(\\)))|((\")[^\"]*(\"))|((')[^']*(')))?\\s*(\\))",
"name": "meta.link.inline.markdown"
},
"link-ref": {
"captures": {
"1": {
"name": "punctuation.definition.link.title.begin.markdown"
},
"2": {
"name": "string.other.link.title.markdown",
"patterns": [
{
"include": "#raw"
},
{
"include": "#bold"
},
{
"include": "#italic"
},
{
"include": "#strikethrough"
},
{
"include": "#image-inline"
}
]
},
"4": {
"name": "punctuation.definition.link.title.end.markdown"
},
"5": {
"name": "punctuation.definition.constant.begin.markdown"
},
"6": {
"name": "constant.other.reference.link.markdown"
},
"7": {
"name": "punctuation.definition.constant.end.markdown"
}
},
"match": "(?<![]\\\\])(\\[)((?<square>[^]\\[\\\\]|\\\\.|\\[\\g<square>*+])*+)(])(\\[)([^]]*+)(])",
"name": "meta.link.reference.markdown"
},
"link-ref-literal": {
"captures": {
"1": {
"name": "punctuation.definition.link.title.begin.markdown"
},
"2": {
"name": "string.other.link.title.markdown"
},
"4": {
"name": "punctuation.definition.link.title.end.markdown"
},
"5": {
"name": "punctuation.definition.constant.begin.markdown"
},
"6": {
"name": "punctuation.definition.constant.end.markdown"
}
},
"match": "(?<![]\\\\])(\\[)((?<square>[^]\\[\\\\]|\\\\.|\\[\\g<square>*+])*+)(]) ?(\\[)(])",
"name": "meta.link.reference.literal.markdown"
},
"link-ref-shortcut": {
"captures": {
"1": {
"name": "punctuation.definition.link.title.begin.markdown"
},
"2": {
"name": "string.other.link.title.markdown"
},
"3": {
"name": "punctuation.definition.link.title.end.markdown"
}
},
"match": "(?<![]\\\\])(\\[)((?:[^]\\[\\\\\\s]|\\\\[]\\[])+?)((?<!\\\\)])",
"name": "meta.link.reference.markdown"
},
"list_paragraph": {
"begin": "(^|\\G)(?=\\S)(?![*->]\\s|[0-9]+\\.\\s)",
"name": "meta.paragraph.markdown",
"patterns": [
{
"include": "#inline"
},
{
"include": "text.html.derivative"
},
{
"include": "#heading-setext"
}
],
"while": "(^|\\G)(?!\\s*$|#| {0,3}([-*>_] {2,}){3,}[\\t ]*$\\n?| {0,3}[*->]| {0,3}[0-9]+\\.)"
},
"lists": {
"patterns": [
{
"begin": "(^|\\G)( {0,3})([-*+])([\\t ])",
"beginCaptures": {
"3": {
"name": "punctuation.definition.list.begin.markdown"
}
},
"name": "markup.list.unnumbered.markdown",
"patterns": [
{
"include": "#block"
},
{
"include": "#list_paragraph"
}
],
"while": "((^|\\G)( {2,4}|\\t))|^([\\t ]*)$"
},
{
"begin": "(^|\\G)( {0,3})([0-9]+[).])([\\t ])",
"beginCaptures": {
"3": {
"name": "punctuation.definition.list.begin.markdown"
}
},
"name": "markup.list.numbered.markdown",
"patterns": [
{
"include": "#block"
},
{
"include": "#list_paragraph"
}
],
"while": "((^|\\G)( {2,4}|\\t))|^([\\t ]*)$"
}
]
},
"paragraph": {
"begin": "(^|\\G) {0,3}(?=[^\\t\\n ])",
"name": "meta.paragraph.markdown",
"patterns": [
{
"include": "#inline"
},
{
"include": "text.html.derivative"
},
{
"include": "#heading-setext"
}
],
"while": "(^|\\G)((?=\\s*[-=]{3,}\\s*$)| {4,}(?=[^\\t\\n ]))"
},
"raw": {
"captures": {
"1": {
"name": "punctuation.definition.raw.markdown"
},
"3": {
"name": "punctuation.definition.raw.markdown"
}
},
"match": "(`+)((?:[^`]|(?!(?<!`)\\1(?!`))`)*+)(\\1)",
"name": "markup.inline.raw.string.markdown"
},
"raw_block": {
"begin": "(^|\\G)( {4}|\\t)",
"name": "markup.raw.block.markdown",
"while": "(^|\\G)( {4}|\\t)"
},
"separator": {
"match": "(^|\\G) {0,3}([-*_])( {0,2}\\2){2,}[\\t ]*$\\n?",
"name": "meta.separator.markdown"
},
"strikethrough": {
"captures": {
"1": {
"name": "punctuation.definition.strikethrough.markdown"
},
"2": {
"patterns": [
{
"applyEndPatternLast": 1,
"begin": "(?=<[^>]*?>)",
"end": "(?<=>)",
"patterns": [
{
"include": "text.html.derivative"
}
]
},
{
"include": "#escape"
},
{
"include": "#ampersand"
},
{
"include": "#bracket"
},
{
"include": "#raw"
},
{
"include": "#bold"
},
{
"include": "#italic"
},
{
"include": "#image-inline"
},
{
"include": "#link-inline"
},
{
"include": "#link-inet"
},
{
"include": "#link-email"
},
{
"include": "#image-ref"
},
{
"include": "#link-ref-literal"
},
{
"include": "#link-ref"
},
{
"include": "#link-ref-shortcut"
}
]
},
"3": {
"name": "punctuation.definition.strikethrough.markdown"
}
},
"match": "(?<!\\\\)(~{2,})(?!(?<=\\w~~)_)((?:[^~]|(?!(?<![\\\\~])\\1(?!~))~)*+)(\\1)(?!(?<=_\\1)\\w)",
"name": "markup.strikethrough.markdown"
},
"table": {
"begin": "(^|\\G)(\\|)(?=[^|].+\\|\\s*$)",
"beginCaptures": {
"2": {
"name": "punctuation.definition.table.markdown"
}
},
"name": "markup.table.markdown",
"patterns": [
{
"match": "\\|",
"name": "punctuation.definition.table.markdown"
},
{
"captures": {
"1": {
"name": "punctuation.separator.table.markdown"
}
},
"match": "(?<=\\|)\\s*(:?-+:?)\\s*(?=\\|)"
},
{
"captures": {
"1": {
"patterns": [
{
"include": "#inline"
}
]
}
},
"match": "(?<=\\|)\\s*(?=\\S)((\\\\\\||[^|])+)(?<=\\S)\\s*(?=\\|)"
}
],
"while": "(^|\\G)(?=\\|)"
}
},
"scopeName": "text.html.markdown"
}