tm-grammars
Version:
Collecton of TextMate grammars in JSON
1,901 lines (1,900 loc) • 177 kB
JSON
{
"displayName": "AsciiDoc",
"fileTypes": [
"ad",
"asc",
"adoc",
"asciidoc",
"adoc.txt"
],
"name": "asciidoc",
"patterns": [
{
"include": "#comment"
},
{
"include": "#callout-list-item"
},
{
"include": "#titles"
},
{
"include": "#attribute-entry"
},
{
"include": "#blocks"
},
{
"include": "#block-title"
},
{
"include": "#tables"
},
{
"include": "#horizontal-rule"
},
{
"include": "#list"
},
{
"include": "#inlines"
},
{
"include": "#block-attribute"
},
{
"include": "#line-break"
}
],
"repository": {
"admonition-paragraph": {
"patterns": [
{
"begin": "(?=(?>^\\[(NOTE|TIP|IMPORTANT|WARNING|CAUTION)([#%,.][^]]+)*]$))",
"end": "((?<=--|====)|^\\p{blank}*)$",
"name": "markup.admonition.asciidoc",
"patterns": [
{
"captures": {
"0": {
"patterns": [
{
"include": "#block-attribute-inner"
}
]
}
},
"match": "^\\[(NOTE|TIP|IMPORTANT|WARNING|CAUTION)([#%,.]([^],]+))*]$"
},
{
"include": "#inlines"
},
{
"include": "#block-title"
},
{
"begin": "^(={4,})\\s*$",
"end": "(?<=\\1)",
"patterns": [
{
"include": "#inlines"
},
{
"include": "#list"
}
]
},
{
"begin": "^(-{2})\\s*$",
"end": "(?<=\\1)",
"patterns": [
{
"include": "#inlines"
},
{
"include": "#list"
}
]
}
]
},
{
"begin": "^(NOTE|TIP|IMPORTANT|WARNING|CAUTION):\\p{blank}+",
"captures": {
"1": {
"name": "entity.name.function.asciidoc"
}
},
"end": "^\\p{blank}*$",
"name": "markup.admonition.asciidoc",
"patterns": [
{
"include": "#inlines"
}
]
}
]
},
"anchor-macro": {
"patterns": [
{
"captures": {
"1": {
"name": "support.constant.asciidoc"
},
"2": {
"name": "markup.blockid.asciidoc"
},
"3": {
"name": "string.unquoted.asciidoc"
},
"4": {
"name": "support.constant.asciidoc"
}
},
"match": "(?<!\\\\)(\\[{2})([:_[:alpha:]][-.:[:word:]]*)(?:,\\p{blank}*(\\S.*?))?(]{2})",
"name": "markup.other.anchor.asciidoc"
},
{
"captures": {
"1": {
"name": "entity.name.function.asciidoc"
},
"2": {
"name": "markup.blockid.asciidoc"
},
"3": {
"name": "string.unquoted.asciidoc"
}
},
"match": "(?<!\\\\)(anchor):(\\S+)\\[(.*?[^\\\\])?]",
"name": "markup.other.anchor.asciidoc"
}
]
},
"attribute-entry": {
"patterns": [
{
"begin": "^(:)(!?\\w.*?)(:)(\\p{blank}+.+\\p{blank}[+\\\\])$",
"beginCaptures": {
"1": {
"name": "punctuation.separator.attribute-entry.asciidoc"
},
"2": {
"name": "support.constant.attribute-name.asciidoc"
},
"3": {
"name": "punctuation.separator.attribute-entry.asciidoc"
},
"4": {
"name": "string.unquoted.attribute-value.asciidoc",
"patterns": [
{
"include": "#inlines"
},
{
"include": "#hard-break-backslash"
},
{
"include": "#line-break"
},
{
"include": "#line-break-backslash"
}
]
}
},
"contentName": "string.unquoted.attribute-value.asciidoc",
"end": "^(?:\\p{blank}+.+$(?<![+\\\\])|\\p{blank}*$)",
"endCaptures": {
"0": {
"name": "string.unquoted.attribute-value.asciidoc"
}
},
"name": "meta.definition.attribute-entry.asciidoc",
"patterns": [
{
"include": "#inlines"
},
{
"include": "#hard-break-backslash"
},
{
"include": "#line-break"
},
{
"include": "#line-break-backslash"
}
]
},
{
"captures": {
"1": {
"name": "punctuation.separator.asciidoc"
},
"2": {
"name": "support.constant.attribute-name.asciidoc"
},
"3": {
"name": "punctuation.separator.asciidoc"
},
"4": {
"name": "string.unquoted.attribute-value.asciidoc",
"patterns": [
{
"include": "#inlines"
},
{
"include": "#line-break"
}
]
}
},
"match": "^(:)(!?\\w.*?)(:)(\\p{blank}+(.*))?$",
"name": "meta.definition.attribute-entry.asciidoc"
}
]
},
"attribute-reference": {
"patterns": [
{
"captures": {
"2": {
"name": "entity.name.function.asciidoc"
},
"3": {
"name": "punctuation.separator.asciidoc"
},
"4": {
"name": "support.constant.attribute-name.asciidoc"
},
"6": {
"name": "punctuation.separator.asciidoc"
},
"7": {
"name": "string.unquoted.attribute-value.asciidoc"
}
},
"match": "(?<!\\\\)(\\{)(set|counter2?)(:)([-!_[:alnum:]]+)((:)(.*?))?(?<!\\\\)(})",
"name": "markup.substitution.attribute-reference.asciidoc"
},
{
"match": "(?<!\\\\)(\\{)(\\w+(?:-\\w+)*)(?<!\\\\)(})",
"name": "markup.substitution.attribute-reference.asciidoc"
}
]
},
"bibliography-anchor": {
"patterns": [
{
"captures": {
"1": {
"name": "support.constant.asciidoc"
},
"2": {
"name": "markup.biblioref.asciidoc"
},
"3": {
"name": "support.constant.asciidoc"
}
},
"match": "(?<!\\\\)(\\[{3})([:[:word:]][-.:[:word:]]*?)(]{3})",
"name": "bibliography-anchor.asciidoc"
}
]
},
"bibtex-macro": {
"patterns": [
{
"begin": "(?<!\\\\)(citenp:)([,a-z]*)(\\[)",
"beginCaptures": {
"1": {
"name": "entity.name.function.asciidoc"
},
"2": {
"name": "markup.meta.attribute-list.asciidoc"
}
},
"contentName": "string.unquoted.asciidoc",
"end": "]|^$",
"name": "markup.macro.inline.bibtex.asciidoc"
}
]
},
"block-attribute": {
"patterns": [
{
"captures": {
"0": {
"patterns": [
{
"include": "#block-attribute-inner"
}
]
}
},
"match": "^\\[(|\\p{blank}*[\"#%',.{[:word:]].*)]$",
"name": "markup.heading.block-attribute.asciidoc"
}
]
},
"block-attribute-inner": {
"patterns": [
{
"match": "([#%,.])",
"name": "punctuation.separator.asciidoc"
},
{
"captures": {
"0": {
"name": "markup.meta.attribute-list.asciidoc",
"patterns": [
{
"include": "#keywords"
}
]
}
},
"match": "(?<=\\[)([^]#%,.=\\[]+)"
},
{
"captures": {
"0": {
"patterns": [
{
"include": "#attribute-reference"
}
]
}
},
"match": "(?<=[,{]|.|[\"#%'])([^]#%,.]+)",
"name": "markup.meta.attribute-list.asciidoc"
}
]
},
"block-callout": {
"patterns": [
{
"captures": {
"2": {
"name": "constant.other.symbol.asciidoc"
},
"4": {
"name": "constant.numeric.asciidoc"
},
"5": {
"name": "constant.other.symbol.asciidoc"
}
},
"match": "(?:(?://|#|--|;;) ?)?( )?(?<!\\\\)(<)!?(--|)(\\d+)\\3(>)(?=(?: ?<!?\\3\\d+\\3>)*$)",
"name": "callout.source.code.asciidoc"
}
]
},
"block-title": {
"patterns": [
{
"begin": "^\\.([^.[:blank:]].*)",
"captures": {
"1": {
"name": "markup.heading.blocktitle.asciidoc"
}
},
"end": "$"
}
]
},
"blocks": {
"patterns": [
{
"include": "#front-matter-block"
},
{
"include": "#comment-paragraph"
},
{
"include": "#admonition-paragraph"
},
{
"include": "#quote-paragraph"
},
{
"include": "#listing-paragraph"
},
{
"include": "#source-paragraphs"
},
{
"include": "#passthrough-paragraph"
},
{
"include": "#example-paragraph"
},
{
"include": "#sidebar-paragraph"
},
{
"include": "#literal-paragraph"
},
{
"include": "#open-block"
}
]
},
"callout-list-item": {
"patterns": [
{
"captures": {
"1": {
"name": "constant.other.symbol.asciidoc"
},
"2": {
"name": "constant.numeric.asciidoc"
},
"3": {
"name": "constant.other.symbol.asciidoc"
},
"4": {
"patterns": [
{
"include": "#inlines"
}
]
}
},
"match": "^(<)(\\d+)(>)\\p{blank}+(.*)$",
"name": "callout.asciidoc"
}
]
},
"characters": {
"patterns": [
{
"captures": {
"1": {
"name": "constant.character.asciidoc"
},
"3": {
"name": "constant.character.asciidoc"
}
},
"match": "(?<!\\\\)(&)(\\S+?)(;)",
"name": "markup.character-reference.asciidoc"
}
]
},
"comment": {
"patterns": [
{
"begin": "^(/{4,})$",
"end": "^\\1$",
"name": "comment.block.asciidoc",
"patterns": [
{
"include": "#inlines"
}
]
},
{
"match": "^/{2}([^/].*)?$",
"name": "comment.inline.asciidoc"
}
]
},
"comment-paragraph": {
"patterns": [
{
"begin": "(?=(?>^\\[(comment)([#%,.][^]]+)*]$))",
"end": "((?<=--)|^\\p{blank}*)$",
"name": "comment.block.asciidoc",
"patterns": [
{
"captures": {
"0": {
"patterns": [
{
"include": "#block-attribute-inner"
}
]
}
},
"match": "^\\[(comment)([#%,.]([^],]+))*]$"
},
{
"include": "#block-title"
},
{
"begin": "^(-{2})\\s*$",
"end": "^(\\1)$",
"patterns": [
{
"include": "#inlines"
},
{
"include": "#list"
}
]
},
{
"include": "#inlines"
}
]
}
]
},
"emphasis": {
"patterns": [
{
"captures": {
"1": {
"name": "markup.meta.attribute-list.asciidoc"
},
"2": {
"name": "markup.italic.asciidoc"
},
"3": {
"name": "punctuation.definition.asciidoc"
},
"5": {
"name": "punctuation.definition.asciidoc"
}
},
"match": "(?<!\\\\\\\\)(\\[[^]]+?])?((__)((?!_).+?)(__))",
"name": "markup.emphasis.unconstrained.asciidoc"
},
{
"captures": {
"1": {
"name": "markup.meta.attribute-list.asciidoc"
},
"2": {
"name": "markup.italic.asciidoc"
},
"3": {
"name": "punctuation.definition.asciidoc"
},
"5": {
"name": "punctuation.definition.asciidoc"
}
},
"match": "(?!_{4,}\\s*$)(?<=^|[^:;[:word:]])(\\[[^]]+?])?((_)(\\S(?:|.*?\\S))(_))(?!\\p{word})",
"name": "markup.emphasis.constrained.asciidoc"
}
]
},
"example-paragraph": {
"patterns": [
{
"begin": "(?=(?>^\\[(example)([#%,.][^]]+)*]$))",
"end": "((?<=--|====)|^\\p{blank}*)$",
"name": "markup.block.example.asciidoc",
"patterns": [
{
"captures": {
"0": {
"patterns": [
{
"include": "#block-attribute-inner"
}
]
}
},
"match": "^\\[(example)([#%,.]([^],]+))*]$"
},
{
"include": "#block-title"
},
{
"begin": "^(={4,})$",
"end": "^(\\1)$",
"patterns": [
{
"include": "$self"
}
]
},
{
"begin": "^(-{2})$",
"end": "^(\\1)$",
"patterns": [
{
"include": "$self"
}
]
},
{
"include": "#inlines"
}
]
},
{
"begin": "^(={4,})$",
"end": "^(\\1)$",
"name": "markup.block.example.asciidoc",
"patterns": [
{
"include": "$self"
}
]
}
]
},
"footnote-macro": {
"patterns": [
{
"begin": "(?<!\\\\)footnote(?:(ref):|:([-\\w]+)?)\\[(?:|(.*?[^\\\\]))",
"beginCaptures": {
"1": {
"name": "entity.name.function.asciidoc"
},
"2": {
"name": "support.constant.attribute-name.asciidoc"
}
},
"contentName": "string.unquoted.asciidoc",
"end": "]|^$",
"name": "markup.other.footnote.asciidoc",
"patterns": [
{
"include": "#inlines"
}
]
}
]
},
"front-matter-block": {
"patterns": [
{
"begin": "\\A(-{3})$",
"end": "^(\\1)$",
"name": "markup.block.front-matter.asciidoc",
"patterns": [
{
"include": "source.yaml"
}
]
}
]
},
"general-block-macro": {
"patterns": [
{
"captures": {
"1": {
"name": "entity.name.function.asciidoc"
},
"2": {
"name": "punctuation.separator.asciidoc"
},
"3": {
"name": "markup.link.asciidoc",
"patterns": [
{
"include": "#attribute-reference"
}
]
},
"4": {
"name": "punctuation.separator.asciidoc"
},
"5": {
"name": "string.unquoted.asciidoc",
"patterns": [
{
"include": "#attribute-reference"
}
]
},
"6": {
"name": "punctuation.separator.asciidoc"
}
},
"match": "^(\\p{word}+)(::)(\\S*?)(\\[)((?:\\\\]|[^]])*?)(])$",
"name": "markup.macro.block.general.asciidoc"
}
]
},
"hard-break-backslash": {
"patterns": [
{
"captures": {
"1": {
"name": "constant.other.symbol.hard-break.asciidoc"
}
},
"match": "(?<=\\S)\\p{blank}+(\\+ \\\\)$"
}
]
},
"horizontal-rule": {
"patterns": [
{
"match": "^(?:['<]{3,}| {0,3}([-'*])( *)\\1\\2\\1)$",
"name": "constant.other.symbol.horizontal-rule.asciidoc"
}
]
},
"image-macro": {
"patterns": [
{
"captures": {
"1": {
"name": "entity.name.function.asciidoc"
},
"2": {
"name": "markup.link.asciidoc"
},
"3": {
"name": "string.unquoted.asciidoc"
}
},
"match": "(?<!\\\\)(i(?:mage|con)):([^:\\[][^\\[]*)\\[((?:\\\\]|[^]])*?)]",
"name": "markup.macro.image.asciidoc"
}
]
},
"include-directive": {
"patterns": [
{
"captures": {
"1": {
"name": "entity.name.function.asciidoc"
},
"2": {
"name": "punctuation.separator.asciidoc"
},
"3": {
"name": "markup.link.asciidoc",
"patterns": [
{
"include": "#attribute-reference"
}
]
},
"4": {
"name": "punctuation.separator.asciidoc"
},
"5": {
"name": "string.unquoted.asciidoc",
"patterns": [
{
"include": "#attribute-reference"
}
]
},
"6": {
"name": "punctuation.separator.asciidoc"
}
},
"match": "^(include)(::)([^\\[]+)(\\[)(.*?)(])$"
}
]
},
"inlines": {
"patterns": [
{
"include": "#typographic-quotes"
},
{
"include": "#strong"
},
{
"include": "#monospace"
},
{
"include": "#emphasis"
},
{
"include": "#superscript"
},
{
"include": "#subscript"
},
{
"include": "#mark"
},
{
"include": "#general-block-macro"
},
{
"include": "#anchor-macro"
},
{
"include": "#footnote-macro"
},
{
"include": "#image-macro"
},
{
"include": "#kbd-macro"
},
{
"include": "#link-macro"
},
{
"include": "#stem-macro"
},
{
"include": "#menu-macro"
},
{
"include": "#passthrough-macro"
},
{
"include": "#xref-macro"
},
{
"include": "#attribute-reference"
},
{
"include": "#characters"
},
{
"include": "#bibtex-macro"
},
{
"include": "#bibliography-anchor"
}
]
},
"kbd-macro": {
"patterns": [
{
"captures": {
"1": {
"name": "entity.name.function.asciidoc"
},
"3": {
"name": "string.unquoted.asciidoc"
}
},
"match": "(?<!\\\\)(kbd|btn):(\\[)((?:\\\\]|[^]])+?)(])",
"name": "markup.macro.kbd.asciidoc"
}
]
},
"keywords": {
"patterns": [
{
"match": "(NOTE|TIP|IMPORTANT|WARNING|CAUTION)",
"name": "entity.name.function.asciidoc"
},
{
"match": "(comment|example|literal|listing|normal|pass|quote|sidebar|source|verse|abstract|partintro)",
"name": "entity.name.function.asciidoc"
},
{
"match": "(actdiag|blockdiag|ditaa|graphviz|tikz|meme|mermaid|nwdiag|packetdiag|pikchr|plantuml|rackdiag|seqdiag|shaape|wavedrom)",
"name": "entity.name.function.asciidoc"
},
{
"match": "(sect[1-4]|preface|colophon|dedication|glossary|bibliography|synopsis|appendix|index|normal|partintro|music|latex|stem)",
"name": "entity.name.function.asciidoc"
}
]
},
"line-break": {
"patterns": [
{
"captures": {
"1": {
"name": "variable.line-break.asciidoc"
}
},
"match": "(?<=\\S)\\p{blank}+(\\+)$"
}
]
},
"line-break-backslash": {
"patterns": [
{
"captures": {
"1": {
"name": "variable.line-break.asciidoc"
}
},
"match": "(?<=\\S)\\p{blank}+(\\\\)$"
}
]
},
"link-macro": {
"patterns": [
{
"captures": {
"1": {
"name": "markup.link.asciidoc",
"patterns": [
{
"include": "#attribute-reference"
}
]
},
"2": {
"name": "string.unquoted.asciidoc"
}
},
"match": "(?:^|[]();<>\\[\\s])((?<!\\\\)(?:https?|file|ftp|irc)://[^]<\\[\\s]*[^]),.<\\[\\s])(?:\\[((?:\\\\]|[^]])*?)])?",
"name": "markup.other.url.asciidoc"
},
{
"captures": {
"1": {
"name": "markup.substitution.attribute-reference.asciidoc"
},
"2": {
"name": "string.unquoted.asciidoc"
}
},
"match": "(?:^|[]();<>\\[[:blank:]])((?<!\\\\)\\{uri-\\w+(?:-\\w+)*(?<!\\\\)})\\[((?:\\\\]|[^]])*?)]",
"name": "markup.other.url.asciidoc"
},
{
"captures": {
"1": {
"name": "entity.name.function.asciidoc"
},
"2": {
"name": "markup.link.asciidoc",
"patterns": [
{
"include": "#attribute-reference"
}
]
},
"3": {
"name": "string.unquoted.asciidoc"
}
},
"match": "(?<!\\\\)(link|mailto):([^\\[\\s]+)\\[((?:\\\\]|[^]])*?)]",
"name": "markup.other.url.asciidoc"
},
{
"match": "\\p{word}[-%+.[:word:]]*(@)\\p{alnum}[-.[:alnum:]]*(\\.)\\p{alpha}{2,4}\\b",
"name": "markup.link.email.asciidoc"
}
]
},
"list": {
"patterns": [
{
"captures": {
"1": {
"name": "markup.list.bullet.asciidoc"
},
"2": {
"name": "markup.todo.box.asciidoc"
}
},
"match": "^\\s*(-)\\p{blank}(\\[[*x[:blank:]]])(?=\\p{blank})",
"name": "markup.todo.asciidoc"
},
{
"captures": {
"1": {
"name": "markup.list.bullet.asciidoc"
}
},
"match": "^\\p{blank}*(-|\\*{1,5}|•{1,5})(?=\\p{blank})",
"name": "markup.list.asciidoc"
},
{
"captures": {
"1": {
"name": "markup.list.bullet.asciidoc"
}
},
"match": "^\\p{blank}*(\\.{1,5}|\\d+\\.|[A-Za-z]\\.|[IVXivx]+\\))(?=\\p{blank})",
"name": "markup.list.asciidoc"
},
{
"captures": {
"1": {
"patterns": [
{
"include": "#link-macro"
},
{
"include": "#attribute-reference"
}
]
},
"2": {
"name": "markup.list.bullet.asciidoc"
}
},
"match": "^\\p{blank}*(.*?\\S)(:{2,4}|;;)($|\\p{blank}+)",
"name": "markup.heading.list.asciidoc"
}
]
},
"listing-paragraph": {
"patterns": [
{
"begin": "(?=(?>^\\[(listing)([#%,.][^]]+)*]$))",
"end": "((?<=--)|^\\p{blank}*)$",
"name": "markup.block.listing.asciidoc",
"patterns": [
{
"captures": {
"0": {
"patterns": [
{
"include": "#block-attribute-inner"
}
]
}
},
"match": "^\\[(listing)([#%,.]([^],]+))*]$"
},
{
"include": "#block-title"
},
{
"begin": "^(-{4,})\\s*$",
"end": "^(\\1)$"
},
{
"begin": "^(-{2})\\s*$",
"end": "^(\\1)$"
},
{
"include": "#inlines"
}
]
}
]
},
"literal-paragraph": {
"patterns": [
{
"begin": "(?=(?>^\\[(literal)([#%,.][^]]+)*]$))",
"end": "((?<=--|\\.\\.)|^\\p{blank}*)$",
"name": "markup.block.literal.asciidoc",
"patterns": [
{
"captures": {
"0": {
"patterns": [
{
"include": "#block-attribute-inner"
}
]
}
},
"match": "^\\[(literal)([#%,.]([^],]+))*]$"
},
{
"include": "#block-title"
},
{
"begin": "^(\\.{4,})$",
"end": "^(\\1)$"
},
{
"begin": "^(-{2})\\s*$",
"end": "^(\\1)$"
},
{
"include": "#inlines"
}
]
},
{
"begin": "^(\\.{4,})$",
"end": "^(\\1)$",
"name": "markup.block.literal.asciidoc"
}
]
},
"mark": {
"patterns": [
{
"captures": {
"1": {
"name": "markup.meta.attribute-list.asciidoc"
},
"2": {
"name": "markup.mark.asciidoc"
},
"3": {
"name": "punctuation.definition.asciidoc"
},
"5": {
"name": "punctuation.definition.asciidoc"
}
},
"match": "(?<!\\\\\\\\)(\\[[^]]+?])((##)(.+?)(##))",
"name": "markup.mark.unconstrained.asciidoc"
},
{
"captures": {
"1": {
"name": "markup.highlight.asciidoc"
},
"2": {
"name": "punctuation.definition.asciidoc"
},
"4": {
"name": "punctuation.definition.asciidoc"
}
},
"match": "(?<!\\\\\\\\)((##)(.+?)(##))",
"name": "markup.mark.unconstrained.asciidoc"
},
{
"captures": {
"1": {
"name": "markup.meta.attribute-list.asciidoc"
},
"2": {
"name": "markup.mark.asciidoc"
},
"3": {
"name": "punctuation.definition.asciidoc"
},
"5": {
"name": "punctuation.definition.asciidoc"
}
},
"match": "(?<![#:;\\\\[:word:]])(\\[[^]]+?])((#)(\\S(?:|.*?\\S))(#)(?!\\p{word}))",
"name": "markup.mark.constrained.asciidoc"
},
{
"captures": {
"1": {
"name": "markup.meta.attribute-list.asciidoc"
},
"2": {
"name": "markup.highlight.asciidoc"
},
"3": {
"name": "punctuation.definition.asciidoc"
},
"5": {
"name": "punctuation.definition.asciidoc"
}
},
"match": "(?<![#:;\\\\[:word:]])(\\[[^]]+?])?((#)(\\S(?:|.*?\\S))(#)(?!\\p{word}))",
"name": "markup.mark.constrained.asciidoc"
}
]
},
"menu-macro": {
"patterns": [
{
"captures": {
"1": {
"name": "entity.name.function.asciidoc"
},
"2": {
"name": "markup.link.asciidoc"
},
"3": {
"name": "string.unquoted.asciidoc"
}
},
"match": "(?<!\\\\)(menu):(\\p{word}(?:|.*?\\S))\\[\\p{blank}*(.+?)?]",
"name": "markup.other.menu.asciidoc"
}
]
},
"monospace": {
"patterns": [
{
"captures": {
"1": {
"name": "markup.meta.attribute-list.asciidoc"
},
"2": {
"name": "markup.raw.monospace.asciidoc"
},
"3": {
"name": "punctuation.definition.asciidoc"
},
"5": {
"name": "punctuation.definition.asciidoc"
}
},
"match": "(?<!\\\\)(\\[.+?])?((``)(.+?)(``))",
"name": "markup.monospace.unconstrained.asciidoc"
},
{
"captures": {
"1": {
"name": "markup.meta.attribute-list.asciidoc"
},
"2": {
"name": "markup.raw.monospace.asciidoc"
},
"3": {
"name": "punctuation.definition.asciidoc"
},
"5": {
"name": "punctuation.definition.asciidoc"
}
},
"match": "(?<![\"':;\\\\`[:word:]])(\\[.+?])?((`)(\\S(?:|.*?\\S))(`))(?![\"'`[:word:]])",
"name": "markup.monospace.constrained.asciidoc"
}
]
},
"open-block": {
"patterns": [
{
"begin": "^(-{2})$",
"beginCaptures": {
"1": {
"name": "constant.other.symbol.asciidoc"
}
},
"end": "^(\\1)$",
"endCaptures": {
"1": {
"name": "constant.other.symbol.asciidoc"
}
},
"name": "markup.block.open.asciidoc",
"patterns": [
{
"include": "$self"
}
]
}
]
},
"passthrough-macro": {
"patterns": [
{
"captures": {
"1": {
"name": "markup.meta.attribute-list.asciidoc"
},
"3": {
"name": "support.constant.asciidoc"
},
"4": {
"name": "string.unquoted.asciidoc",
"patterns": [
{
"include": "text.html.basic"
}
]
},
"5": {
"name": "support.constant.asciidoc"
}
},
"match": "(?:(?<!\\\\)(\\[([^]]+?)]))?\\\\{0,2}(?<delim>\\+{2,3}|\\${2})(.*?)(\\k<delim>)",
"name": "markup.macro.inline.passthrough.asciidoc"
},
{
"begin": "(?<!\\\\)(pass:)([,a-z]*)(\\[)",
"beginCaptures": {
"1": {
"name": "entity.name.function.asciidoc"
},
"2": {
"name": "markup.meta.attribute-list.asciidoc"
}
},
"contentName": "string.unquoted.asciidoc",
"end": "]|^$",
"name": "markup.macro.inline.passthrough.asciidoc",
"patterns": [
{
"include": "text.html.basic"
}
]
}
]
},
"passthrough-paragraph": {
"patterns": [
{
"begin": "(?=(?>^\\[(pass)([#%,.][^]]+)*]$))",
"end": "((?<=--|\\+\\+)|^\\p{blank}*)$",
"name": "markup.block.passthrough.asciidoc",
"patterns": [
{
"captures": {
"0": {
"name": "markup.heading.asciidoc",
"patterns": [
{
"include": "#block-attribute-inner"
}
]
}
},
"match": "^\\[(pass)([#%,.]([^],]+))*]$"
},
{
"include": "#block-title"
},
{
"begin": "^(\\+{4,})\\s*$",
"end": "(?<=\\1)",
"patterns": [
{
"include": "text.html.basic"
}
]
},
{
"begin": "^(-{2})\\s*$",
"end": "(?<=\\1)",
"patterns": [
{
"include": "text.html.basic"
}
]
}
]
},
{
"begin": "^(\\+{4,})$",
"end": "\\1",
"name": "markup.block.passthrough.asciidoc",
"patterns": [
{
"include": "text.html.basic"
}
]
}
]
},
"quote-paragraph": {
"patterns": [
{
"begin": "(?=(?>^\\[(quote|verse)([#%,.]([^],]+))*]$))",
"end": "((?<=____|\"\"|--)|^\\p{blank}*)$",
"name": "markup.italic.quotes.asciidoc",
"patterns": [
{
"captures": {
"0": {
"patterns": [
{
"include": "#block-attribute-inner"
}
]
}
},
"match": "^\\[(quote|verse)([#%,.]([^],]+))*]$"
},
{
"include": "#block-title"
},
{
"include": "#inlines"
},
{
"begin": "^(_{4,})\\s*$",
"end": "(?<=\\1)",
"patterns": [
{
"include": "#inlines"
},
{
"include": "#list"
}
]
},
{
"begin": "^(\"{2})\\s*$",
"end": "(?<=\\1)",
"patterns": [
{
"include": "#inlines"
},
{
"include": "#list"
}
]
},
{
"begin": "^(-{2})\\s*$",
"end": "(?<=\\1)$",
"patterns": [
{
"include": "#inlines"
},
{
"include": "#list"
}
]
}
]
},
{
"begin": "^(\"\")$",
"end": "^\\1$",
"name": "markup.italic.quotes.asciidoc",
"patterns": [
{
"include": "#inlines"
},
{
"include": "#list"
}
]
},
{
"begin": "^\\p{blank}*(>) ",
"end": "^\\p{blank}*?$",
"name": "markup.italic.quotes.asciidoc",
"patterns": [
{
"include": "#inlines"
},
{
"include": "#list"
}
]
}
]
},
"sidebar-paragraph": {
"patterns": [
{
"begin": "(?=(?>^\\[(sidebar)([#%,.][^]]+)*]$))",
"end": "((?<=--|\\*\\*\\*\\*)|^\\p{blank}*)$",
"name": "markup.block.sidebar.asciidoc",
"patterns": [
{
"captures": {
"0": {
"patterns": [
{
"include": "#block-attribute-inner"
}
]
}
},
"match": "^\\[(sidebar)([#%,.]([^],]+))*]$"
},
{
"include": "#block-title"
},
{
"begin": "^(\\*{4,})$",
"end": "^(\\1)$",
"patterns": [
{
"include": "$self"
}
]
},
{
"begin": "^(-{2})$",
"end": "^(\\1)$",
"patterns": [
{
"include": "$self"
}
]
},
{
"include": "#inlines"
}
]
},
{
"begin": "^(\\*{4,})$",
"end": "^(\\1)$",
"name": "markup.block.sidebar.asciidoc",
"patterns": [
{
"include": "$self"
}
]
}
]
},
"source-asciidoctor": {
"patterns": [
{
"begin": "(?=(?>^\\[(source)[#,]\\p{blank}*(?i:(c))([#,][^]]+)*]$))",
"end": "((?<=--|\\.\\.\\.\\.)|^\\p{blank}*)$",
"name": "markup.code.c.asciidoc",
"patterns": [
{
"captures": {
"0": {
"name": "markup.heading.asciidoc",
"patterns": [
{
"include": "#block-attribute-inner"
}
]
}
},
"match": "^\\[(source)[#,]\\p{blank}*(?i:(c))([#,]([^],]+))*]$"
},
{
"include": "#inlines"
},
{
"include": "#block-title"
},
{
"begin": "^(-{4,})\\s*$",
"contentName": "source.embedded.c",
"end": "^(\\1)$",
"patterns": [
{
"include": "#block-callout"
},
{
"include": "#include-directive"
},
{
"include": "source.c"
}
]
},
{
"begin": "^(-{2})\\s*$",
"contentName": "source.embedded.c",
"end": "^(\\1)$",
"patterns": [
{
"include": "#block-callout"
},
{
"include": "#include-directive"
},
{
"include": "source.c"
}
]
},
{
"begin": "^(\\.{4})\\s*$",
"contentName": "source.embedded.c",
"end": "^(\\1)$",
"patterns": [
{
"include": "#block-callout"
},
{
"include": "#include-directive"
},
{
"include": "source.c"
}
]
}
]
},
{
"begin": "(?=(?>^\\[(source)[#,]\\p{blank}*(?i:(clojure))([#,][^]]+)*]$))",
"end": "((?<=--|\\.\\.\\.\\.)|^\\p{blank}*)$",
"name": "markup.code.clojure.asciidoc",
"patterns": [
{
"captures": {
"0": {
"name": "markup.heading.asciidoc",
"patterns": [
{
"include": "#block-attribute-inner"
}
]
}
},
"match": "^\\[(source)[#,]\\p{blank}*(?i:(clojure))([#,]([^],]+))*]$"
},
{
"include": "#inlines"
},
{
"include": "#block-title"
},
{
"begin": "^(-{4,})\\s*$",
"contentName": "source.embedded.clojure",
"end": "^(\\1)$",
"patterns": [
{
"include": "#block-callout"
},
{
"include": "#include-directive"
},
{
"include": "source.clojure"
}
]
},
{
"begin": "^(-{2})\\s*$",
"contentName": "source.embedded.clojure",
"end": "^(\\1)$",
"patterns": [
{
"include": "#block-callout"
},
{
"include": "#include-directive"
},
{
"include": "source.clojure"
}
]
},
{
"begin": "^(\\.{4})\\s*$",
"contentName": "source.embedded.clojure",
"end": "^(\\1)$",
"patterns": [
{
"include": "#block-callout"
},
{
"include": "#include-directive"
},
{
"include": "source.clojure"
}
]
}
]
},
{
"begin": "(?=(?>^\\[(source)[#,]\\p{blank}*(?i:(coffee-?(script)?))([#,][^]]+)*]$))",
"end": "((?<=--|\\.\\.\\.\\.)|^\\p{blank}*)$",
"name": "markup.code.coffee.asciidoc",
"patterns": [
{
"captures": {
"0": {
"name": "markup.heading.asciidoc",
"patterns": [
{
"include": "#block-attribute-inner"
}
]
}
},
"match": "^\\[(source)[#,]\\p{blank}*(?i:(coffee-?(script)?))([#,]([^],]+))*]$"
},
{
"include": "#inlines"
},
{
"include": "#block-title"
},
{
"begin": "^(-{4,})\\s*$",
"contentName": "source.embedded.coffee",
"end": "^(\\1)$",
"patterns": [
{
"include": "#block-callout"
},
{
"include": "#include-directive"
},
{
"include": "source.coffee"
}
]
},
{
"begin": "^(-{2})\\s*$",
"contentName": "source.embedded.coffee",
"end": "^(\\1)$",
"patterns": [
{
"include": "#block-callout"
},
{
"include": "#include-directive"
},
{
"include": "source.coffee"
}
]
},
{
"begin": "^(\\.{4})\\s*$",
"contentName": "source.embedded.coffee",
"end": "^(\\1)$",
"patterns": [
{
"include": "#block-callout"
},
{
"include": "#include-directive"
},
{
"include": "source.coffee"
}
]
}
]
},
{
"begin": "(?=(?>^\\[(source)[#,]\\p{blank}*(?i:(c(pp|\\+\\+)))([#,][^]]+)*]$))",
"end": "((?<=--|\\.\\.\\.\\.)|^\\p{blank}*)$",
"name": "markup.code.cpp.asciidoc",
"patterns": [
{
"captures": {
"0": {
"name": "markup.heading.asciidoc",
"patterns": [
{
"include": "#block-attribute-inner"
}
]
}
},
"match": "^\\[(source)[#,]\\p{blank}*(?i:(c(pp|\\+\\+)))([#,]([^],]+))*]$"
},
{
"include": "#inlines"
},
{
"include": "#block-title"
},
{
"begin": "^(-{4,})\\s*$",
"contentName": "source.embedded.cpp",
"end": "^(\\1)$",
"patterns": [
{
"include": "#block-callout"
},
{
"include": "#include-directive"
},
{
"include": "source.cpp"
}
]
},
{
"begin": "^(-{2})\\s*$",
"contentName": "source.embedded.cpp",
"end": "^(\\1)$",
"patterns": [
{
"include": "#block-callout"
},
{
"include": "#include-directive"
},
{
"include": "source.cpp"
}
]
},
{
"begin": "^(\\.{4})\\s*$",
"contentName": "source.embedded.cpp",
"end": "^(\\1)$",
"patterns": [
{
"include": "#block-callout"
},
{
"include": "#include-directive"
},
{
"include": "source.cpp"
}
]
}
]
},
{
"begin": "(?=(?>^\\[(source)[#,]\\p{blank}*(?i:(css))([#,][^]]+)*]$))",
"end": "((?<=--|\\.\\.\\.\\.)|^\\p{blank}*)$",
"name": "markup.code.css.asciidoc",
"patterns": [
{
"captures": {
"0": {
"name": "markup.heading.asciidoc",
"patterns": [
{
"include": "#block-attribute-inner"
}
]
}
},
"match": "^\\[(source)[#,]\\p{blank}*(?i:(css))([#,]([^],]+))*]$"
},
{
"include": "#inlines"
},
{
"include": "#block-title"
},
{
"begin": "^(-{4,})\\s*$",
"contentName": "source.embedded.css",
"end": "^(\\1)$",
"patterns": [
{
"include": "#block-callout"
},
{
"include": "#include-directive"
},
{
"include": "source.css"
}
]
},
{
"begin": "^(-{2})\\s*$",
"contentName": "source.embedded.css",
"end": "^(\\1)$",
"patterns": [
{
"include": "#block-callout"
},
{
"include": "#include-directive"
},
{
"include": "source.css"
}
]
},
{
"begin": "^(\\.{4})\\s*$",
"contentName": "source.embedded.css",
"end": "^(\\1)$",
"patterns": [
{
"include": "#block-callout"
},
{
"include": "#include-directive"
},
{
"include": "source.css"
}
]
}
]
},
{
"begin": "(?=(?>^\\[(source)[#,]\\p{blank}*(?i:(cs(harp)?))([#,][^]]+)*]$))",
"end": "((?<=--|\\.\\.\\.\\.)|^\\p{blank}*)$",
"name": "markup.code.cs.asciidoc",
"patterns": [
{
"captures": {
"0": {
"name": "markup.heading.asciidoc",
"patterns": [
{
"include": "#block-attribute-inner"
}
]
}
},
"match": "^\\[(source)[#,]\\p{blank}*(?i:(cs(harp)?))([#,]([^],]+))*]$"
},
{
"include": "#inlines"
},
{
"include": "#block-title"
},
{
"begin": "^(-{4,})\\s*$",
"contentName": "source.embedded.cs",
"end": "^(\\1)$",
"patterns": [
{
"include": "#block-callout"
},
{
"include": "#include-directive"
},