{
"name": "AsciiDoc",
"scopeName": "text.html.asciidoc",
"patterns": [
{
"include": "#heading_inline"
},
{
"include": "#heading-block"
},
{
"include": "#heading-blockattr"
},
{
"name": "comment.block.passthrough.macro.doubledollar.asciidoc",
"begin": "\\$\\$(?!\\$)",
"end": "\\$\\$(?!\\$)"
},
{
"name": "comment.block.passthrough.macro.tripeplus.asciidoc",
"begin": "\\+\\+\\+(?!\\+)",
"end": "\\+\\+\\+(?!\\+)"
},
{
"name": "comment.line.double-slash.asciidoc",
"match": "(//).*$\\n?"
},
{
"name": "meta.block-level.asciidoc",
"begin": "(?x)^\n\t\t\t\t(?=\t([/+-.*_=]{4,})\\s*$\n\t\t\t\t|\t([ \\t]{1,})\n\t\t\t\t|\t[=]{1,6}\\s*+\n\t\t\t\t|\t[ ]{0,3}(?\u003cmarker\u003e[-*_])([ ]{0,2}\\k\u003cmarker\u003e){2,}[ \\t]*+$\n\t\t\t\t)",
"end": "(?x)^\n\t\t\t\t(?!\t\\1\n\t\t\t\t|\t([ \\t]{1,})\n\t\t\t\t|\t[=]{1,6}\\s*+\n\t\t\t\t|\t[ ]{0,3}(?\u003cmarker\u003e[-*_])([ ]{0,2}\\k\u003cmarker\u003e){2,}[ \\t]*+$\n\t\t\t\t)",
"patterns": [
{
"include": "#block_quote"
},
{
"include": "#block_raw"
},
{
"include": "#heading_inline"
},
{
"include": "#heading-block"
},
{
"include": "#separator"
}
]
},
{
"name": "markup.list.unnumbered.asciidoc",
"begin": "^[ ]{0,3}([*+-])(?=\\s)",
"end": "^(?=\\S)",
"patterns": [
{
"include": "#list-paragraph"
}
],
"captures": {
"1": {
"name": "punctuation.definition.list_item.asciidoc"
}
}
},
{
"name": "markup.list.numbered.asciidoc",
"begin": "^[ ]{0,3}[0-9]+(\\.)(?=\\s)",
"end": "^(?=\\S)",
"patterns": [
{
"include": "#list-paragraph"
}
],
"captures": {
"1": {
"name": "punctuation.definition.list_item.asciidoc"
}
}
},
{
"name": "comment.block.asciidoc",
"begin": "^([/+-.*_=]){4,}\\s*$",
"end": "^\\1{4,}\\s*$"
},
{
"name": "meta.disable-asciidoc",
"begin": "^([/+.]){4,}\\s*$",
"end": "^[/+.]{4,}\\s*$"
},
{
"name": "meta.paragraph.asciidoc",
"begin": "^(?=\\S)(?![=-]{3,}(?=$))(?!\\.\\S+)",
"end": "^(?:\\s*$|(?=[ ]{0,3}\u003e.))|(?=[ \\t]*\\n)(?\u003c=^===|^====|=====|^---|^----|-----)[ \\t]*\\n",
"patterns": [
{
"include": "#inline"
},
{
"include": "text.html.basic"
},
{
"name": "markup.heading.0.asciidoc",
"match": "^(={3,})(?=[ \\t]*$)",
"captures": {
"1": {
"name": "punctuation.definition.heading.asciidoc"
}
}
},
{
"name": "markup.heading.1.asciidoc",
"match": "^(-{3,})(?=[ \\t]*$)",
"captures": {
"1": {
"name": "punctuation.definition.heading.asciidoc"
}
}
},
{
"name": "markup.heading.2.asciidoc",
"match": "^(~{3,})(?=[ \\t]*$)",
"captures": {
"1": {
"name": "punctuation.definition.heading.asciidoc"
}
}
},
{
"name": "markup.heading.3.asciidoc",
"match": "^(\\^{3,})(?=[ \\t]*$)",
"captures": {
"1": {
"name": "punctuation.definition.heading.asciidoc"
}
}
},
{
"name": "markup.heading.4.asciidoc",
"match": "^(\\+{3,})(?=[ \\t]*$)",
"captures": {
"1": {
"name": "punctuation.definition.heading.asciidoc"
}
}
}
]
}
],
"repository": {
"attribute-entry": {
"name": "variable.other",
"match": "^:[-_. A-Za-z0-9]+:\\s*(.*)\\s*$"
},
"attribute-reference": {
"name": "variable.other",
"match": "{[-_. A-Za-z0-9]+}"
},
"attribute-reference-predefined": {
"name": "support.variable",
"match": "{(?i:amp|asciidoc-dir|asciidoc-file|asciidoc-version|author|authored|authorinitials|backend-docbook|backend-xhtml11|backend-html4|docbook-article|xhtml11-article|html4-article|docbook-book|xhtml11-book|html4-book|docbook-manpage|xhtml11-manpage|html4-manpage|backend|backslash|basebackend|brvbar|date|docdate|doctime|docname|docfile|docdir|doctitle|doctype-article|doctype-book|doctype-manpage|doctype|email|empty|encoding|filetype|firstname|gt|id|indir|infile|lastname|level|listindex|localdate|localtime|lt|manname|manpurpose|mantitle|manvolnum|middlename|nbsp|outdir|outfile|reftext|revision|sectnum|showcomments|title|two_colons|two_semicolons|user-dir|verbose)}"
},
"block_quote": {
"name": "comment.block.asciidoc",
"begin": "^([/+-.*_=]){4,}\\s*$",
"end": "^\\1{4,}\\s*$"
},
"block_raw": {
"name": "markup.raw.block.asciidoc",
"match": "\\G([ ]{4}|\\t).*$\\n?"
},
"bracket": {
"name": "meta.other.valid-bracket.asciidoc",
"match": "\u003c(?![a-z/?\\$!])"
},
"character-replacements": {
"name": "constant.character.asciidoc",
"match": "\\(C\\)|\\(R\\)|\\(TM\\)|--(?!-)|\\.\\.\\.(?!\\.)|-\u003e|\u003c-|=\u003e|\u003c="
},
"escape": {
"name": "constant.character.escape.asciidoc",
"match": "\\\\[-`*_#+.!(){}\\[\\]\\\\\u003e:]"
},
"heading": {
"name": "markup.heading.asciidoc",
"contentName": "entity.name.section.asciidoc",
"match": "(?m)^(\\S+)$([=-~^+])+\\s*$",
"captures": {
"1": {
"name": "punctuation.definition.heading.asciidoc"
}
}
},
"heading-block": {
"name": "markup.heading.asciidoc",
"match": "^\\.(\\w.*)$",
"captures": {
"1": {
"name": "punctuation.definition.heading.asciidoc"
}
}
},
"heading-blockattr": {
"name": "markup.heading.asciidoc",
"match": "^\\[\\[?(\\w.*)\\]$",
"captures": {
"1": {
"name": "punctuation.definition.heading.asciidoc"
}
}
},
"heading_inline": {
"name": "markup.heading.asciidoc",
"contentName": "entity.name.section.asciidoc",
"begin": "\\G(={1,6})(?!=)\\s*(?=\\S)",
"end": "\\s*(=*)$\\n?",
"patterns": [
{
"include": "#inline"
}
],
"captures": {
"1": {
"name": "punctuation.definition.heading.asciidoc"
}
}
},
"inline": {
"patterns": [
{
"include": "#line-break"
},
{
"include": "#line-page-break"
},
{
"include": "#line-ruler"
},
{
"include": "#escape"
},
{
"include": "#passthrough-macro-trippleplus-inline"
},
{
"include": "#passthrough-macro-doubledollar-inline"
},
{
"include": "#character-replacements"
},
{
"include": "#text-xref"
},
{
"include": "#bracket"
},
{
"include": "#raw"
},
{
"include": "#text-quote-single"
},
{
"include": "#text-quote-double"
},
{
"include": "#text-quote-other"
},
{
"include": "#text-bold-unconstrained"
},
{
"include": "#text-italic-unconstrained"
},
{
"include": "#text-monospace-unconstrained"
},
{
"include": "#text-unquoted-unconstrained"
},
{
"include": "#text-footnote"
},
{
"include": "#text-indexterm"
},
{
"include": "#text-macro"
},
{
"include": "#text-image"
},
{
"include": "#text-anchor"
},
{
"include": "#text-link"
},
{
"include": "#text-mail-link"
},
{
"include": "#text-bold"
},
{
"include": "#text-italic"
},
{
"include": "#text-monospace"
},
{
"include": "#text-unquoted"
},
{
"include": "#text-footnote"
},
{
"include": "#attribute-entry"
},
{
"include": "#attribute-reference-predefined"
},
{
"include": "#attribute-reference"
}
]
},
"line-break": {
"name": "constant.character.escape.asciidoc",
"match": "(?\u003c=\\S)\\s+\\+$"
},
"line-page-break": {
"name": "constant.character.escape.asciidoc",
"match": "^\u003c{3,}$"
},
"line-ruler": {
"name": "constant.character.escape.asciidoc",
"match": "^'{3,}$"
},
"list-paragraph": {
"patterns": [
{
"name": "meta.paragraph.list.asciidoc",
"begin": "\\G\\s+(?=\\S)",
"end": "^\\s*$",
"patterns": [
{
"include": "#inline"
}
]
}
]
},
"passthrough-macro-doubledollar-inline": {
"name": "comment.block.passthrough.asciidoc",
"match": "(?:\\[.*\\])?\\$\\$(?!\\$).+\\$\\$(?!\\$)"
},
"passthrough-macro-trippleplus-inline": {
"name": "comment.block.passthrough.asciidoc",
"match": "(?:\\[.*\\])?\\+\\+\\+(?!\\+).+\\+\\+\\+(?!\\+)"
},
"raw": {
"name": "markup.raw.inline.asciidoc",
"match": "(`+)([^`]|(?!(?\u003c!`)\\1(?!`))`)*+(\\1)",
"captures": {
"1": {
"name": "punctuation.definition.raw.asciidoc"
},
"3": {
"name": "punctuation.definition.raw.asciidoc"
}
}
},
"separator": {
"name": "meta.separator.asciidoc",
"match": "\\G[ ]{0,3}([-*_])([ ]{0,2}\\1){2,}[ \\t]*$\\n?"
},
"text-anchor": {
"name": "markup.underline.link.anchor.asciidoc",
"match": "(?:\\[\\[.*?\\]\\])|(?:\\banchor:[^\\[\\s]+(?:\\[.*?\\])?)"
},
"text-bold": {
"name": "markup.bold.asciidoc",
"begin": "(?\u003c!\\w)(\\*)(?=\\S)",
"end": "(?\u003c=\\S)(\\1)(?!\\w)",
"captures": {
"1": {
"name": "punctuation.definition.bold.asciidoc"
}
}
},
"text-bold-unconstrained": {
"name": "markup.bold.asciidoc",
"begin": "(\\*\\*)(?=\\S)",
"end": "(?\u003c=\\S)(\\1)",
"captures": {
"1": {
"name": "punctuation.definition.bold.asciidoc"
}
}
},
"text-footnote": {
"name": "string.quoted.single.asciidoc",
"match": "\\bfootnote(?:ref)?:\\[.*?\\]"
},
"text-image": {
"name": "markup.underline.link.image.asciidoc",
"match": "\\b(?:image|link):[^\\[\\s]+(?:\\[.*?\\])?"
},
"text-indexterm": {
"name": "string.quoted.single.asciidoc",
"match": "(?:\\bindexterm2?:\\[.*?\\])|(?:\\(\\(\\(?.*?\\)?\\)\\))"
},
"text-italic": {
"name": "markup.italic.asciidoc",
"begin": "(?\u003c!\\w)('|_)(?=\\S)",
"end": "(?\u003c=\\S)(\\1)((?!\\1)|(?=\\1\\1))(?!\\w)",
"captures": {
"1": {
"name": "punctuation.definition.italic.asciidoc"
}
}
},
"text-italic-unconstrained": {
"name": "markup.italic.asciidoc",
"begin": "(__)(?=\\S)",
"end": "(?\u003c=\\S)(\\1)",
"captures": {
"1": {
"name": "punctuation.definition.italic.asciidoc"
}
}
},
"text-link": {
"name": "markup.underline.link.inet.asciidoc",
"match": "\\b(?:http|mailto):[^\\[\\s]+(?:\\[.*?\\])?"
},
"text-macro": {
"name": "string.quoted.single.asciidoc",
"match": "\\S+::[^\\[\\s]+(?:\\[.*?\\])?"
},
"text-mail-link": {
"name": "markup.underline.link.email.asciidoc",
"match": "\\b[^@\\s]+@[^@\\s]+\\b"
},
"text-monospace": {
"name": "string.interpolated.asciidoc",
"match": "(?\u003c!\\w)([\\+`]).*(\\1)(?!\\w)"
},
"text-monospace-unconstrained": {
"name": "string.interpolated.asciidoc",
"match": "(\\+\\+).*(\\1)"
},
"text-quote-double": {
"name": "string.quoted.double.asciidoc",
"match": "(?\u003c!\\w)(?:\\[.*\\])?``(?!`).*''(?!')(?!\\w)"
},
"text-quote-other": {
"name": "string.quoted.single.asciidoc",
"match": "(?\u003c!\\w)(?:\\[.*\\])?([~^]).*(\\1)(?!\\w)"
},
"text-quote-single": {
"name": "string.quoted.single.asciidoc",
"match": "(?\u003c!\\w)(?:\\[.*\\])?`(?!`).*'(?!')(?!\\w)"
},
"text-unquoted": {
"name": "string.unquoted.asciidoc",
"match": "(?\u003c!\\w)(#).*(\\1)(?!\\w)"
},
"text-unquoted-unconstrained": {
"name": "string.unquoted.asciidoc",
"match": "(##).*(\\1)"
},
"text-xref": {
"name": "markup.underline.link.xref.asciidoc",
"match": "(?:\u003c\u003c.*?\u003e\u003e)|(?:\\bxref:[^\\[\\s]+(?:\\[.*?\\])?)"
}
}
}