tm-grammars
Version:
Collecton of TextMate grammars in JSON
1,882 lines • 179 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})([\\p{Alpha}:_][\\p{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?)(:)([\\p{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})([\\p{Word}:][\\p{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}*[\\p{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": "^\\.([^\\p{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*$)(?<=^|[^\\p{Word};:])(\\[(?:[^\\]]+?)\\])?((_)(\\S|\\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": "(?<!\\\\)(image|icon):([^:\\[][^\\[]*)\\[((?:\\\\\\]|[^\\]])*?)\\]",
"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|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": "(?:^|<|[\\p{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}[\\p{Word}.%+-]*(@)\\p{Alnum}[\\p{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}(\\[[\\p{Blank}\\*x]\\])(?=\\p{Blank})",
"name": "markup.todo.asciidoc"
},
{
"captures": {
"1": {
"name": "markup.list.bullet.asciidoc"
}
},
"match": "^\\p{Blank}*(-|\\*{1,5}|\\u2022{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": "(?<![\\\\;:\\p{Word}#])(\\[[^\\]]+?\\])((#)(\\S|\\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": "(?<![\\\\;:\\p{Word}#])(\\[[^\\]]+?\\])?((#)(\\S|\\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}|\\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": "(?<![\\\\;:\\p{Word}\"'`])(\\[.+?\\])?((`)(\\S|\\S.*?\\S)(`))(?![\\p{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": "^\\[(s