{
  "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"
                },
                {
                  "include": "source.cs"
                }
              ]
            },
            {
              "begin": "^(-{2})\\s*$",
              "contentName": "source.embedded.cs",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.cs"
                }
              ]
            },
            {
              "begin": "^(\\.{4})\\s*$",
              "contentName": "source.embedded.cs",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.cs"
                }
              ]
            }
          ]
        },
        {
          "begin": "(?=(?>^\\[(source)[#,]\\p{blank}*(?i:(diff|patch|rej))([#,][^]]+)*]$))",
          "end": "((?<=--|\\.\\.\\.\\.)|^\\p{blank}*)$",
          "name": "markup.code.diff.asciidoc",
          "patterns": [
            {
              "captures": {
                "0": {
                  "name": "markup.heading.asciidoc",
                  "patterns": [
                    {
                      "include": "#block-attribute-inner"
                    }
                  ]
                }
              },
              "match": "^\\[(source)[#,]\\p{blank}*(?i:(diff|patch|rej))([#,]([^],]+))*]$"
            },
            {
              "include": "#inlines"
            },
            {
              "include": "#block-title"
            },
            {
              "begin": "^(-{4,})\\s*$",
              "contentName": "source.embedded.diff",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.diff"
                }
              ]
            },
            {
              "begin": "^(-{2})\\s*$",
              "contentName": "source.embedded.diff",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.diff"
                }
              ]
            },
            {
              "begin": "^(\\.{4})\\s*$",
              "contentName": "source.embedded.diff",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.diff"
                }
              ]
            }
          ]
        },
        {
          "begin": "(?=(?>^\\[(source)[#,]\\p{blank}*(?i:(docker(file)?))([#,][^]]+)*]$))",
          "end": "((?<=--|\\.\\.\\.\\.)|^\\p{blank}*)$",
          "name": "markup.code.dockerfile.asciidoc",
          "patterns": [
            {
              "captures": {
                "0": {
                  "name": "markup.heading.asciidoc",
                  "patterns": [
                    {
                      "include": "#block-attribute-inner"
                    }
                  ]
                }
              },
              "match": "^\\[(source)[#,]\\p{blank}*(?i:(docker(file)?))([#,]([^],]+))*]$"
            },
            {
              "include": "#inlines"
            },
            {
              "include": "#block-title"
            },
            {
              "begin": "^(-{4,})\\s*$",
              "contentName": "source.embedded.dockerfile",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.dockerfile"
                }
              ]
            },
            {
              "begin": "^(-{2})\\s*$",
              "contentName": "source.embedded.dockerfile",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.dockerfile"
                }
              ]
            },
            {
              "begin": "^(\\.{4})\\s*$",
              "contentName": "source.embedded.dockerfile",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.dockerfile"
                }
              ]
            }
          ]
        },
        {
          "begin": "(?=(?>^\\[(source)[#,]\\p{blank}*(?i:(elixir))([#,][^]]+)*]$))",
          "end": "((?<=--|\\.\\.\\.\\.)|^\\p{blank}*)$",
          "name": "markup.code.elixir.asciidoc",
          "patterns": [
            {
              "captures": {
                "0": {
                  "name": "markup.heading.asciidoc",
                  "patterns": [
                    {
                      "include": "#block-attribute-inner"
                    }
                  ]
                }
              },
              "match": "^\\[(source)[#,]\\p{blank}*(?i:(elixir))([#,]([^],]+))*]$"
            },
            {
              "include": "#inlines"
            },
            {
              "include": "#block-title"
            },
            {
              "begin": "^(-{4,})\\s*$",
              "contentName": "source.embedded.elixir",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.elixir"
                }
              ]
            },
            {
              "begin": "^(-{2})\\s*$",
              "contentName": "source.embedded.elixir",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.elixir"
                }
              ]
            },
            {
              "begin": "^(\\.{4})\\s*$",
              "contentName": "source.embedded.elixir",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.elixir"
                }
              ]
            }
          ]
        },
        {
          "begin": "(?=(?>^\\[(source)[#,]\\p{blank}*(?i:(elm))([#,][^]]+)*]$))",
          "end": "((?<=--|\\.\\.\\.\\.)|^\\p{blank}*)$",
          "name": "markup.code.elm.asciidoc",
          "patterns": [
            {
              "captures": {
                "0": {
                  "name": "markup.heading.asciidoc",
                  "patterns": [
                    {
                      "include": "#block-attribute-inner"
                    }
                  ]
                }
              },
              "match": "^\\[(source)[#,]\\p{blank}*(?i:(elm))([#,]([^],]+))*]$"
            },
            {
              "include": "#inlines"
            },
            {
              "include": "#block-title"
            },
            {
              "begin": "^(-{4,})\\s*$",
              "contentName": "source.embedded.elm",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.elm"
                }
              ]
            },
            {
              "begin": "^(-{2})\\s*$",
              "contentName": "source.embedded.elm",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.elm"
                }
              ]
            },
            {
              "begin": "^(\\.{4})\\s*$",
              "contentName": "source.embedded.elm",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.elm"
                }
              ]
            }
          ]
        },
        {
          "begin": "(?=(?>^\\[(source)[#,]\\p{blank}*(?i:(erlang))([#,][^]]+)*]$))",
          "end": "((?<=--|\\.\\.\\.\\.)|^\\p{blank}*)$",
          "name": "markup.code.erlang.asciidoc",
          "patterns": [
            {
              "captures": {
                "0": {
                  "name": "markup.heading.asciidoc",
                  "patterns": [
                    {
                      "include": "#block-attribute-inner"
                    }
                  ]
                }
              },
              "match": "^\\[(source)[#,]\\p{blank}*(?i:(erlang))([#,]([^],]+))*]$"
            },
            {
              "include": "#inlines"
            },
            {
              "include": "#block-title"
            },
            {
              "begin": "^(-{4,})\\s*$",
              "contentName": "source.embedded.erlang",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.erlang"
                }
              ]
            },
            {
              "begin": "^(-{2})\\s*$",
              "contentName": "source.embedded.erlang",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.erlang"
                }
              ]
            },
            {
              "begin": "^(\\.{4})\\s*$",
              "contentName": "source.embedded.erlang",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.erlang"
                }
              ]
            }
          ]
        },
        {
          "begin": "(?=(?>^\\[(source)[#,]\\p{blank}*(?i:(go(lang)?))([#,][^]]+)*]$))",
          "end": "((?<=--|\\.\\.\\.\\.)|^\\p{blank}*)$",
          "name": "markup.code.go.asciidoc",
          "patterns": [
            {
              "captures": {
                "0": {
                  "name": "markup.heading.asciidoc",
                  "patterns": [
                    {
                      "include": "#block-attribute-inner"
                    }
                  ]
                }
              },
              "match": "^\\[(source)[#,]\\p{blank}*(?i:(go(lang)?))([#,]([^],]+))*]$"
            },
            {
              "include": "#inlines"
            },
            {
              "include": "#block-title"
            },
            {
              "begin": "^(-{4,})\\s*$",
              "contentName": "source.embedded.go",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.go"
                }
              ]
            },
            {
              "begin": "^(-{2})\\s*$",
              "contentName": "source.embedded.go",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.go"
                }
              ]
            },
            {
              "begin": "^(\\.{4})\\s*$",
              "contentName": "source.embedded.go",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.go"
                }
              ]
            }
          ]
        },
        {
          "begin": "(?=(?>^\\[(source)[#,]\\p{blank}*(?i:(groovy))([#,][^]]+)*]$))",
          "end": "((?<=--|\\.\\.\\.\\.)|^\\p{blank}*)$",
          "name": "markup.code.groovy.asciidoc",
          "patterns": [
            {
              "captures": {
                "0": {
                  "name": "markup.heading.asciidoc",
                  "patterns": [
                    {
                      "include": "#block-attribute-inner"
                    }
                  ]
                }
              },
              "match": "^\\[(source)[#,]\\p{blank}*(?i:(groovy))([#,]([^],]+))*]$"
            },
            {
              "include": "#inlines"
            },
            {
              "include": "#block-title"
            },
            {
              "begin": "^(-{4,})\\s*$",
              "contentName": "source.embedded.groovy",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.groovy"
                }
              ]
            },
            {
              "begin": "^(-{2})\\s*$",
              "contentName": "source.embedded.groovy",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.groovy"
                }
              ]
            },
            {
              "begin": "^(\\.{4})\\s*$",
              "contentName": "source.embedded.groovy",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.groovy"
                }
              ]
            }
          ]
        },
        {
          "begin": "(?=(?>^\\[(source)[#,]\\p{blank}*(?i:(haskell))([#,][^]]+)*]$))",
          "end": "((?<=--|\\.\\.\\.\\.)|^\\p{blank}*)$",
          "name": "markup.code.haskell.asciidoc",
          "patterns": [
            {
              "captures": {
                "0": {
                  "name": "markup.heading.asciidoc",
                  "patterns": [
                    {
                      "include": "#block-attribute-inner"
                    }
                  ]
                }
              },
              "match": "^\\[(source)[#,]\\p{blank}*(?i:(haskell))([#,]([^],]+))*]$"
            },
            {
              "include": "#inlines"
            },
            {
              "include": "#block-title"
            },
            {
              "begin": "^(-{4,})\\s*$",
              "contentName": "source.embedded.haskell",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.haskell"
                }
              ]
            },
            {
              "begin": "^(-{2})\\s*$",
              "contentName": "source.embedded.haskell",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.haskell"
                }
              ]
            },
            {
              "begin": "^(\\.{4})\\s*$",
              "contentName": "source.embedded.haskell",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.haskell"
                }
              ]
            }
          ]
        },
        {
          "begin": "(?=(?>^\\[(source)[#,]\\p{blank}*(?i:(html))([#,][^]]+)*]$))",
          "end": "((?<=--|\\.\\.\\.\\.)|^\\p{blank}*)$",
          "name": "markup.code.html.basic.asciidoc",
          "patterns": [
            {
              "captures": {
                "0": {
                  "name": "markup.heading.asciidoc",
                  "patterns": [
                    {
                      "include": "#block-attribute-inner"
                    }
                  ]
                }
              },
              "match": "^\\[(source)[#,]\\p{blank}*(?i:(html))([#,]([^],]+))*]$"
            },
            {
              "include": "#inlines"
            },
            {
              "include": "#block-title"
            },
            {
              "begin": "^(-{4,})\\s*$",
              "contentName": "text.embedded.html.basic",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "text.html.basic"
                }
              ]
            },
            {
              "begin": "^(-{2})\\s*$",
              "contentName": "text.embedded.html.basic",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "text.html.basic"
                }
              ]
            },
            {
              "begin": "^(\\.{4})\\s*$",
              "contentName": "text.embedded.html.basic",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "text.html.basic"
                }
              ]
            }
          ]
        },
        {
          "begin": "(?=(?>^\\[(source)[#,]\\p{blank}*(?i:(java))([#,][^]]+)*]$))",
          "end": "((?<=--|\\.\\.\\.\\.)|^\\p{blank}*)$",
          "name": "markup.code.java.asciidoc",
          "patterns": [
            {
              "captures": {
                "0": {
                  "name": "markup.heading.asciidoc",
                  "patterns": [
                    {
                      "include": "#block-attribute-inner"
                    }
                  ]
                }
              },
              "match": "^\\[(source)[#,]\\p{blank}*(?i:(java))([#,]([^],]+))*]$"
            },
            {
              "include": "#inlines"
            },
            {
              "include": "#block-title"
            },
            {
              "begin": "^(-{4,})\\s*$",
              "contentName": "source.embedded.java",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.java"
                }
              ]
            },
            {
              "begin": "^(-{2})\\s*$",
              "contentName": "source.embedded.java",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.java"
                }
              ]
            },
            {
              "begin": "^(\\.{4})\\s*$",
              "contentName": "source.embedded.java",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.java"
                }
              ]
            }
          ]
        },
        {
          "begin": "(?=(?>^\\[(source)[#,]\\p{blank}*(?i:(j(?:avascript|s)))([#,][^]]+)*]$))",
          "end": "((?<=--|\\.\\.\\.\\.)|^\\p{blank}*)$",
          "name": "markup.code.js.asciidoc",
          "patterns": [
            {
              "captures": {
                "0": {
                  "name": "markup.heading.asciidoc",
                  "patterns": [
                    {
                      "include": "#block-attribute-inner"
                    }
                  ]
                }
              },
              "match": "^\\[(source)[#,]\\p{blank}*(?i:(j(?:avascript|s)))([#,]([^],]+))*]$"
            },
            {
              "include": "#inlines"
            },
            {
              "include": "#block-title"
            },
            {
              "begin": "^(-{4,})\\s*$",
              "contentName": "source.embedded.js",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.js"
                }
              ]
            },
            {
              "begin": "^(-{2})\\s*$",
              "contentName": "source.embedded.js",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.js"
                }
              ]
            },
            {
              "begin": "^(\\.{4})\\s*$",
              "contentName": "source.embedded.js",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.js"
                }
              ]
            }
          ]
        },
        {
          "begin": "(?=(?>^\\[(source)[#,]\\p{blank}*(?i:(json))([#,][^]]+)*]$))",
          "end": "((?<=--|\\.\\.\\.\\.)|^\\p{blank}*)$",
          "name": "markup.code.json.asciidoc",
          "patterns": [
            {
              "captures": {
                "0": {
                  "name": "markup.heading.asciidoc",
                  "patterns": [
                    {
                      "include": "#block-attribute-inner"
                    }
                  ]
                }
              },
              "match": "^\\[(source)[#,]\\p{blank}*(?i:(json))([#,]([^],]+))*]$"
            },
            {
              "include": "#inlines"
            },
            {
              "include": "#block-title"
            },
            {
              "begin": "^(-{4,})\\s*$",
              "contentName": "source.embedded.json",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.json"
                }
              ]
            },
            {
              "begin": "^(-{2})\\s*$",
              "contentName": "source.embedded.json",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.json"
                }
              ]
            },
            {
              "begin": "^(\\.{4})\\s*$",
              "contentName": "source.embedded.json",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.json"
                }
              ]
            }
          ]
        },
        {
          "begin": "(?=(?>^\\[(source)[#,]\\p{blank}*(?i:(jsx))([#,][^]]+)*]$))",
          "end": "((?<=--|\\.\\.\\.\\.)|^\\p{blank}*)$",
          "name": "markup.code.js.jsx.asciidoc",
          "patterns": [
            {
              "captures": {
                "0": {
                  "name": "markup.heading.asciidoc",
                  "patterns": [
                    {
                      "include": "#block-attribute-inner"
                    }
                  ]
                }
              },
              "match": "^\\[(source)[#,]\\p{blank}*(?i:(jsx))([#,]([^],]+))*]$"
            },
            {
              "include": "#inlines"
            },
            {
              "include": "#block-title"
            },
            {
              "begin": "^(-{4,})\\s*$",
              "contentName": "source.embedded.js.jsx",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.js.jsx"
                }
              ]
            },
            {
              "begin": "^(-{2})\\s*$",
              "contentName": "source.embedded.js.jsx",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.js.jsx"
                }
              ]
            },
            {
              "begin": "^(\\.{4})\\s*$",
              "contentName": "source.embedded.js.jsx",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.js.jsx"
                }
              ]
            }
          ]
        },
        {
          "begin": "(?=(?>^\\[(source)[#,]\\p{blank}*(?i:(julia))([#,][^]]+)*]$))",
          "end": "((?<=--|\\.\\.\\.\\.)|^\\p{blank}*)$",
          "name": "markup.code.julia.asciidoc",
          "patterns": [
            {
              "captures": {
                "0": {
                  "name": "markup.heading.asciidoc",
                  "patterns": [
                    {
                      "include": "#block-attribute-inner"
                    }
                  ]
                }
              },
              "match": "^\\[(source)[#,]\\p{blank}*(?i:(julia))([#,]([^],]+))*]$"
            },
            {
              "include": "#inlines"
            },
            {
              "include": "#block-title"
            },
            {
              "begin": "^(-{4,})\\s*$",
              "contentName": "source.embedded.julia",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.julia"
                }
              ]
            },
            {
              "begin": "^(-{2})\\s*$",
              "contentName": "source.embedded.julia",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.julia"
                }
              ]
            },
            {
              "begin": "^(\\.{4})\\s*$",
              "contentName": "source.embedded.julia",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.julia"
                }
              ]
            }
          ]
        },
        {
          "begin": "(?=(?>^\\[(source)[#,]\\p{blank}*(?i:(k(?:otlin|ts?)))([#,][^]]+)*]$))",
          "end": "((?<=--|\\.\\.\\.\\.)|^\\p{blank}*)$",
          "name": "markup.code.kotlin.asciidoc",
          "patterns": [
            {
              "captures": {
                "0": {
                  "name": "markup.heading.asciidoc",
                  "patterns": [
                    {
                      "include": "#block-attribute-inner"
                    }
                  ]
                }
              },
              "match": "^\\[(source)[#,]\\p{blank}*(?i:(k(?:otlin|ts?)))([#,]([^],]+))*]$"
            },
            {
              "include": "#inlines"
            },
            {
              "include": "#block-title"
            },
            {
              "begin": "^(-{4,})\\s*$",
              "contentName": "source.embedded.kotlin",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.kotlin"
                }
              ]
            },
            {
              "begin": "^(-{2})\\s*$",
              "contentName": "source.embedded.kotlin",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.kotlin"
                }
              ]
            },
            {
              "begin": "^(\\.{4})\\s*$",
              "contentName": "source.embedded.kotlin",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.kotlin"
                }
              ]
            }
          ]
        },
        {
          "begin": "(?=(?>^\\[(source)[#,]\\p{blank}*(?i:(less))([#,][^]]+)*]$))",
          "end": "((?<=--|\\.\\.\\.\\.)|^\\p{blank}*)$",
          "name": "markup.code.css.less.asciidoc",
          "patterns": [
            {
              "captures": {
                "0": {
                  "name": "markup.heading.asciidoc",
                  "patterns": [
                    {
                      "include": "#block-attribute-inner"
                    }
                  ]
                }
              },
              "match": "^\\[(source)[#,]\\p{blank}*(?i:(less))([#,]([^],]+))*]$"
            },
            {
              "include": "#inlines"
            },
            {
              "include": "#block-title"
            },
            {
              "begin": "^(-{4,})\\s*$",
              "contentName": "source.embedded.css.less",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.css.less"
                }
              ]
            },
            {
              "begin": "^(-{2})\\s*$",
              "contentName": "source.embedded.css.less",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.css.less"
                }
              ]
            },
            {
              "begin": "^(\\.{4})\\s*$",
              "contentName": "source.embedded.css.less",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.css.less"
                }
              ]
            }
          ]
        },
        {
          "begin": "(?=(?>^\\[(source)[#,]\\p{blank}*(?i:(make(file)?))([#,][^]]+)*]$))",
          "end": "((?<=--|\\.\\.\\.\\.)|^\\p{blank}*)$",
          "name": "markup.code.makefile.asciidoc",
          "patterns": [
            {
              "captures": {
                "0": {
                  "name": "markup.heading.asciidoc",
                  "patterns": [
                    {
                      "include": "#block-attribute-inner"
                    }
                  ]
                }
              },
              "match": "^\\[(source)[#,]\\p{blank}*(?i:(make(file)?))([#,]([^],]+))*]$"
            },
            {
              "include": "#inlines"
            },
            {
              "include": "#block-title"
            },
            {
              "begin": "^(-{4,})\\s*$",
              "contentName": "source.embedded.makefile",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.makefile"
                }
              ]
            },
            {
              "begin": "^(-{2})\\s*$",
              "contentName": "source.embedded.makefile",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.makefile"
                }
              ]
            },
            {
              "begin": "^(\\.{4})\\s*$",
              "contentName": "source.embedded.makefile",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.makefile"
                }
              ]
            }
          ]
        },
        {
          "begin": "(?=(?>^\\[(source)[#,]\\p{blank}*(?i:(m(?:arkdown|down|d)))([#,][^]]+)*]$))",
          "end": "((?<=--|\\.\\.\\.\\.)|^\\p{blank}*)$",
          "name": "markup.code.gfm.asciidoc",
          "patterns": [
            {
              "captures": {
                "0": {
                  "name": "markup.heading.asciidoc",
                  "patterns": [
                    {
                      "include": "#block-attribute-inner"
                    }
                  ]
                }
              },
              "match": "^\\[(source)[#,]\\p{blank}*(?i:(m(?:arkdown|down|d)))([#,]([^],]+))*]$"
            },
            {
              "include": "#inlines"
            },
            {
              "include": "#block-title"
            },
            {
              "begin": "^(-{4,})\\s*$",
              "contentName": "source.embedded.gfm",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.gfm"
                }
              ]
            },
            {
              "begin": "^(-{2})\\s*$",
              "contentName": "source.embedded.gfm",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.gfm"
                }
              ]
            },
            {
              "begin": "^(\\.{4})\\s*$",
              "contentName": "source.embedded.gfm",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.gfm"
                }
              ]
            }
          ]
        },
        {
          "begin": "(?=(?>^\\[(source)[#,]\\p{blank}*(?i:(mustache))([#,][^]]+)*]$))",
          "end": "((?<=--|\\.\\.\\.\\.)|^\\p{blank}*)$",
          "name": "markup.code.html.mustache.asciidoc",
          "patterns": [
            {
              "captures": {
                "0": {
                  "name": "markup.heading.asciidoc",
                  "patterns": [
                    {
                      "include": "#block-attribute-inner"
                    }
                  ]
                }
              },
              "match": "^\\[(source)[#,]\\p{blank}*(?i:(mustache))([#,]([^],]+))*]$"
            },
            {
              "include": "#inlines"
            },
            {
              "include": "#block-title"
            },
            {
              "begin": "^(-{4,})\\s*$",
              "contentName": "text.embedded.html.mustache",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "text.html.mustache"
                }
              ]
            },
            {
              "begin": "^(-{2})\\s*$",
              "contentName": "text.embedded.html.mustache",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "text.html.mustache"
                }
              ]
            },
            {
              "begin": "^(\\.{4})\\s*$",
              "contentName": "text.embedded.html.mustache",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "text.html.mustache"
                }
              ]
            }
          ]
        },
        {
          "begin": "(?=(?>^\\[(source)[#,]\\p{blank}*(?i:(obj(?:c|ective-c)))([#,][^]]+)*]$))",
          "end": "((?<=--|\\.\\.\\.\\.)|^\\p{blank}*)$",
          "name": "markup.code.objc.asciidoc",
          "patterns": [
            {
              "captures": {
                "0": {
                  "name": "markup.heading.asciidoc",
                  "patterns": [
                    {
                      "include": "#block-attribute-inner"
                    }
                  ]
                }
              },
              "match": "^\\[(source)[#,]\\p{blank}*(?i:(obj(?:c|ective-c)))([#,]([^],]+))*]$"
            },
            {
              "include": "#inlines"
            },
            {
              "include": "#block-title"
            },
            {
              "begin": "^(-{4,})\\s*$",
              "contentName": "source.embedded.objc",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.objc"
                }
              ]
            },
            {
              "begin": "^(-{2})\\s*$",
              "contentName": "source.embedded.objc",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.objc"
                }
              ]
            },
            {
              "begin": "^(\\.{4})\\s*$",
              "contentName": "source.embedded.objc",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.objc"
                }
              ]
            }
          ]
        },
        {
          "begin": "(?=(?>^\\[(source)[#,]\\p{blank}*(?i:(ocaml))([#,][^]]+)*]$))",
          "end": "((?<=--|\\.\\.\\.\\.)|^\\p{blank}*)$",
          "name": "markup.code.ocaml.asciidoc",
          "patterns": [
            {
              "captures": {
                "0": {
                  "name": "markup.heading.asciidoc",
                  "patterns": [
                    {
                      "include": "#block-attribute-inner"
                    }
                  ]
                }
              },
              "match": "^\\[(source)[#,]\\p{blank}*(?i:(ocaml))([#,]([^],]+))*]$"
            },
            {
              "include": "#inlines"
            },
            {
              "include": "#block-title"
            },
            {
              "begin": "^(-{4,})\\s*$",
              "contentName": "source.embedded.ocaml",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.ocaml"
                }
              ]
            },
            {
              "begin": "^(-{2})\\s*$",
              "contentName": "source.embedded.ocaml",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.ocaml"
                }
              ]
            },
            {
              "begin": "^(\\.{4})\\s*$",
              "contentName": "source.embedded.ocaml",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.ocaml"
                }
              ]
            }
          ]
        },
        {
          "begin": "(?=(?>^\\[(source)[#,]\\p{blank}*(?i:(perl))([#,][^]]+)*]$))",
          "end": "((?<=--|\\.\\.\\.\\.)|^\\p{blank}*)$",
          "name": "markup.code.perl.asciidoc",
          "patterns": [
            {
              "captures": {
                "0": {
                  "name": "markup.heading.asciidoc",
                  "patterns": [
                    {
                      "include": "#block-attribute-inner"
                    }
                  ]
                }
              },
              "match": "^\\[(source)[#,]\\p{blank}*(?i:(perl))([#,]([^],]+))*]$"
            },
            {
              "include": "#inlines"
            },
            {
              "include": "#block-title"
            },
            {
              "begin": "^(-{4,})\\s*$",
              "contentName": "source.embedded.perl",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.perl"
                }
              ]
            },
            {
              "begin": "^(-{2})\\s*$",
              "contentName": "source.embedded.perl",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.perl"
                }
              ]
            },
            {
              "begin": "^(\\.{4})\\s*$",
              "contentName": "source.embedded.perl",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.perl"
                }
              ]
            }
          ]
        },
        {
          "begin": "(?=(?>^\\[(source)[#,]\\p{blank}*(?i:(perl6))([#,][^]]+)*]$))",
          "end": "((?<=--|\\.\\.\\.\\.)|^\\p{blank}*)$",
          "name": "markup.code.perl6.asciidoc",
          "patterns": [
            {
              "captures": {
                "0": {
                  "name": "markup.heading.asciidoc",
                  "patterns": [
                    {
                      "include": "#block-attribute-inner"
                    }
                  ]
                }
              },
              "match": "^\\[(source)[#,]\\p{blank}*(?i:(perl6))([#,]([^],]+))*]$"
            },
            {
              "include": "#inlines"
            },
            {
              "include": "#block-title"
            },
            {
              "begin": "^(-{4,})\\s*$",
              "contentName": "source.embedded.perl6",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.perl6"
                }
              ]
            },
            {
              "begin": "^(-{2})\\s*$",
              "contentName": "source.embedded.perl6",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.perl6"
                }
              ]
            },
            {
              "begin": "^(\\.{4})\\s*$",
              "contentName": "source.embedded.perl6",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.perl6"
                }
              ]
            }
          ]
        },
        {
          "begin": "(?=(?>^\\[(source)[#,]\\p{blank}*(?i:(php))([#,][^]]+)*]$))",
          "end": "((?<=--|\\.\\.\\.\\.)|^\\p{blank}*)$",
          "name": "markup.code.html.php.asciidoc",
          "patterns": [
            {
              "captures": {
                "0": {
                  "name": "markup.heading.asciidoc",
                  "patterns": [
                    {
                      "include": "#block-attribute-inner"
                    }
                  ]
                }
              },
              "match": "^\\[(source)[#,]\\p{blank}*(?i:(php))([#,]([^],]+))*]$"
            },
            {
              "include": "#inlines"
            },
            {
              "include": "#block-title"
            },
            {
              "begin": "^(-{4,})\\s*$",
              "contentName": "text.embedded.html.php",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "text.html.php"
                }
              ]
            },
            {
              "begin": "^(-{2})\\s*$",
              "contentName": "text.embedded.html.php",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "text.html.php"
                }
              ]
            },
            {
              "begin": "^(\\.{4})\\s*$",
              "contentName": "text.embedded.html.php",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "text.html.php"
                }
              ]
            }
          ]
        },
        {
          "begin": "(?=(?>^\\[(source)[#,]\\p{blank}*(?i:(properties))([#,][^]]+)*]$))",
          "end": "((?<=--|\\.\\.\\.\\.)|^\\p{blank}*)$",
          "name": "markup.code.asciidoc.properties.asciidoc",
          "patterns": [
            {
              "captures": {
                "0": {
                  "name": "markup.heading.asciidoc",
                  "patterns": [
                    {
                      "include": "#block-attribute-inner"
                    }
                  ]
                }
              },
              "match": "^\\[(source)[#,]\\p{blank}*(?i:(properties))([#,]([^],]+))*]$"
            },
            {
              "include": "#inlines"
            },
            {
              "include": "#block-title"
            },
            {
              "begin": "^(-{4,})\\s*$",
              "contentName": "source.embedded.asciidoc.properties",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.asciidoc.properties"
                }
              ]
            },
            {
              "begin": "^(-{2})\\s*$",
              "contentName": "source.embedded.asciidoc.properties",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.asciidoc.properties"
                }
              ]
            },
            {
              "begin": "^(\\.{4})\\s*$",
              "contentName": "source.embedded.asciidoc.properties",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.asciidoc.properties"
                }
              ]
            }
          ]
        },
        {
          "begin": "(?=(?>^\\[(source)[#,]\\p{blank}*(?i:(py(thon)?))([#,][^]]+)*]$))",
          "end": "((?<=--|\\.\\.\\.\\.)|^\\p{blank}*)$",
          "name": "markup.code.python.asciidoc",
          "patterns": [
            {
              "captures": {
                "0": {
                  "name": "markup.heading.asciidoc",
                  "patterns": [
                    {
                      "include": "#block-attribute-inner"
                    }
                  ]
                }
              },
              "match": "^\\[(source)[#,]\\p{blank}*(?i:(py(thon)?))([#,]([^],]+))*]$"
            },
            {
              "include": "#inlines"
            },
            {
              "include": "#block-title"
            },
            {
              "begin": "^(-{4,})\\s*$",
              "contentName": "source.embedded.python",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.python"
                }
              ]
            },
            {
              "begin": "^(-{2})\\s*$",
              "contentName": "source.embedded.python",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.python"
                }
              ]
            },
            {
              "begin": "^(\\.{4})\\s*$",
              "contentName": "source.embedded.python",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.python"
                }
              ]
            }
          ]
        },
        {
          "begin": "(?=(?>^\\[(source)[#,]\\p{blank}*(?i:(r))([#,][^]]+)*]$))",
          "end": "((?<=--|\\.\\.\\.\\.)|^\\p{blank}*)$",
          "name": "markup.code.r.asciidoc",
          "patterns": [
            {
              "captures": {
                "0": {
                  "name": "markup.heading.asciidoc",
                  "patterns": [
                    {
                      "include": "#block-attribute-inner"
                    }
                  ]
                }
              },
              "match": "^\\[(source)[#,]\\p{blank}*(?i:(r))([#,]([^],]+))*]$"
            },
            {
              "include": "#inlines"
            },
            {
              "include": "#block-title"
            },
            {
              "begin": "^(-{4,})\\s*$",
              "contentName": "source.embedded.r",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.r"
                }
              ]
            },
            {
              "begin": "^(-{2})\\s*$",
              "contentName": "source.embedded.r",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.r"
                }
              ]
            },
            {
              "begin": "^(\\.{4})\\s*$",
              "contentName": "source.embedded.r",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.r"
                }
              ]
            }
          ]
        },
        {
          "begin": "(?=(?>^\\[(source)[#,]\\p{blank}*(?i:(r(?:uby|b)))([#,][^]]+)*]$))",
          "end": "((?<=--|\\.\\.\\.\\.)|^\\p{blank}*)$",
          "name": "markup.code.ruby.asciidoc",
          "patterns": [
            {
              "captures": {
                "0": {
                  "name": "markup.heading.asciidoc",
                  "patterns": [
                    {
                      "include": "#block-attribute-inner"
                    }
                  ]
                }
              },
              "match": "^\\[(source)[#,]\\p{blank}*(?i:(r(?:uby|b)))([#,]([^],]+))*]$"
            },
            {
              "include": "#inlines"
            },
            {
              "include": "#block-title"
            },
            {
              "begin": "^(-{4,})\\s*$",
              "contentName": "source.embedded.ruby",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.ruby"
                }
              ]
            },
            {
              "begin": "^(-{2})\\s*$",
              "contentName": "source.embedded.ruby",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.ruby"
                }
              ]
            },
            {
              "begin": "^(\\.{4})\\s*$",
              "contentName": "source.embedded.ruby",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.ruby"
                }
              ]
            }
          ]
        },
        {
          "begin": "(?=(?>^\\[(source)[#,]\\p{blank}*(?i:(r(?:ust|s)))([#,][^]]+)*]$))",
          "end": "((?<=--|\\.\\.\\.\\.)|^\\p{blank}*)$",
          "name": "markup.code.rust.asciidoc",
          "patterns": [
            {
              "captures": {
                "0": {
                  "name": "markup.heading.asciidoc",
                  "patterns": [
                    {
                      "include": "#block-attribute-inner"
                    }
                  ]
                }
              },
              "match": "^\\[(source)[#,]\\p{blank}*(?i:(r(?:ust|s)))([#,]([^],]+))*]$"
            },
            {
              "include": "#inlines"
            },
            {
              "include": "#block-title"
            },
            {
              "begin": "^(-{4,})\\s*$",
              "contentName": "source.embedded.rust",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.rust"
                }
              ]
            },
            {
              "begin": "^(-{2})\\s*$",
              "contentName": "source.embedded.rust",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.rust"
                }
              ]
            },
            {
              "begin": "^(\\.{4})\\s*$",
              "contentName": "source.embedded.rust",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.rust"
                }
              ]
            }
          ]
        },
        {
          "begin": "(?=(?>^\\[(source)[#,]\\p{blank}*(?i:(sass))([#,][^]]+)*]$))",
          "end": "((?<=--|\\.\\.\\.\\.)|^\\p{blank}*)$",
          "name": "markup.code.sass.asciidoc",
          "patterns": [
            {
              "captures": {
                "0": {
                  "name": "markup.heading.asciidoc",
                  "patterns": [
                    {
                      "include": "#block-attribute-inner"
                    }
                  ]
                }
              },
              "match": "^\\[(source)[#,]\\p{blank}*(?i:(sass))([#,]([^],]+))*]$"
            },
            {
              "include": "#inlines"
            },
            {
              "include": "#block-title"
            },
            {
              "begin": "^(-{4,})\\s*$",
              "contentName": "source.embedded.sass",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.sass"
                }
              ]
            },
            {
              "begin": "^(-{2})\\s*$",
              "contentName": "source.embedded.sass",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.sass"
                }
              ]
            },
            {
              "begin": "^(\\.{4})\\s*$",
              "contentName": "source.embedded.sass",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.sass"
                }
              ]
            }
          ]
        },
        {
          "begin": "(?=(?>^\\[(source)[#,]\\p{blank}*(?i:(scala))([#,][^]]+)*]$))",
          "end": "((?<=--|\\.\\.\\.\\.)|^\\p{blank}*)$",
          "name": "markup.code.scala.asciidoc",
          "patterns": [
            {
              "captures": {
                "0": {
                  "name": "markup.heading.asciidoc",
                  "patterns": [
                    {
                      "include": "#block-attribute-inner"
                    }
                  ]
                }
              },
              "match": "^\\[(source)[#,]\\p{blank}*(?i:(scala))([#,]([^],]+))*]$"
            },
            {
              "include": "#inlines"
            },
            {
              "include": "#block-title"
            },
            {
              "begin": "^(-{4,})\\s*$",
              "contentName": "source.embedded.scala",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.scala"
                }
              ]
            },
            {
              "begin": "^(-{2})\\s*$",
              "contentName": "source.embedded.scala",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.scala"
                }
              ]
            },
            {
              "begin": "^(\\.{4})\\s*$",
              "contentName": "source.embedded.scala",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.scala"
                }
              ]
            }
          ]
        },
        {
          "begin": "(?=(?>^\\[(source)[#,]\\p{blank}*(?i:(scss))([#,][^]]+)*]$))",
          "end": "((?<=--|\\.\\.\\.\\.)|^\\p{blank}*)$",
          "name": "markup.code.css.scss.asciidoc",
          "patterns": [
            {
              "captures": {
                "0": {
                  "name": "markup.heading.asciidoc",
                  "patterns": [
                    {
                      "include": "#block-attribute-inner"
                    }
                  ]
                }
              },
              "match": "^\\[(source)[#,]\\p{blank}*(?i:(scss))([#,]([^],]+))*]$"
            },
            {
              "include": "#inlines"
            },
            {
              "include": "#block-title"
            },
            {
              "begin": "^(-{4,})\\s*$",
              "contentName": "source.embedded.css.scss",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.css.scss"
                }
              ]
            },
            {
              "begin": "^(-{2})\\s*$",
              "contentName": "source.embedded.css.scss",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.css.scss"
                }
              ]
            },
            {
              "begin": "^(\\.{4})\\s*$",
              "contentName": "source.embedded.css.scss",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.css.scss"
                }
              ]
            }
          ]
        },
        {
          "begin": "(?=(?>^\\[(source)[#,]\\p{blank}*(?i:(sh|bash|shell))([#,][^]]+)*]$))",
          "end": "((?<=--|\\.\\.\\.\\.)|^\\p{blank}*)$",
          "name": "markup.code.shell.asciidoc",
          "patterns": [
            {
              "captures": {
                "0": {
                  "name": "markup.heading.asciidoc",
                  "patterns": [
                    {
                      "include": "#block-attribute-inner"
                    }
                  ]
                }
              },
              "match": "^\\[(source)[#,]\\p{blank}*(?i:(sh|bash|shell))([#,]([^],]+))*]$"
            },
            {
              "include": "#inlines"
            },
            {
              "include": "#block-title"
            },
            {
              "begin": "^(-{4,})\\s*$",
              "contentName": "source.embedded.shell",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.shell"
                }
              ]
            },
            {
              "begin": "^(-{2})\\s*$",
              "contentName": "source.embedded.shell",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.shell"
                }
              ]
            },
            {
              "begin": "^(\\.{4})\\s*$",
              "contentName": "source.embedded.shell",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.shell"
                }
              ]
            }
          ]
        },
        {
          "begin": "(?=(?>^\\[(source)[#,]\\p{blank}*(?i:(sql))([#,][^]]+)*]$))",
          "end": "((?<=--|\\.\\.\\.\\.)|^\\p{blank}*)$",
          "name": "markup.code.sql.asciidoc",
          "patterns": [
            {
              "captures": {
                "0": {
                  "name": "markup.heading.asciidoc",
                  "patterns": [
                    {
                      "include": "#block-attribute-inner"
                    }
                  ]
                }
              },
              "match": "^\\[(source)[#,]\\p{blank}*(?i:(sql))([#,]([^],]+))*]$"
            },
            {
              "include": "#inlines"
            },
            {
              "include": "#block-title"
            },
            {
              "begin": "^(-{4,})\\s*$",
              "contentName": "source.embedded.sql",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.sql"
                }
              ]
            },
            {
              "begin": "^(-{2})\\s*$",
              "contentName": "source.embedded.sql",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.sql"
                }
              ]
            },
            {
              "begin": "^(\\.{4})\\s*$",
              "contentName": "source.embedded.sql",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.sql"
                }
              ]
            }
          ]
        },
        {
          "begin": "(?=(?>^\\[(source)[#,]\\p{blank}*(?i:(swift))([#,][^]]+)*]$))",
          "end": "((?<=--|\\.\\.\\.\\.)|^\\p{blank}*)$",
          "name": "markup.code.swift.asciidoc",
          "patterns": [
            {
              "captures": {
                "0": {
                  "name": "markup.heading.asciidoc",
                  "patterns": [
                    {
                      "include": "#block-attribute-inner"
                    }
                  ]
                }
              },
              "match": "^\\[(source)[#,]\\p{blank}*(?i:(swift))([#,]([^],]+))*]$"
            },
            {
              "include": "#inlines"
            },
            {
              "include": "#block-title"
            },
            {
              "begin": "^(-{4,})\\s*$",
              "contentName": "source.embedded.swift",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.swift"
                }
              ]
            },
            {
              "begin": "^(-{2})\\s*$",
              "contentName": "source.embedded.swift",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.swift"
                }
              ]
            },
            {
              "begin": "^(\\.{4})\\s*$",
              "contentName": "source.embedded.swift",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.swift"
                }
              ]
            }
          ]
        },
        {
          "begin": "(?=(?>^\\[(source)[#,]\\p{blank}*(?i:(toml))([#,][^]]+)*]$))",
          "end": "((?<=--|\\.\\.\\.\\.)|^\\p{blank}*)$",
          "name": "markup.code.toml.asciidoc",
          "patterns": [
            {
              "captures": {
                "0": {
                  "name": "markup.heading.asciidoc",
                  "patterns": [
                    {
                      "include": "#block-attribute-inner"
                    }
                  ]
                }
              },
              "match": "^\\[(source)[#,]\\p{blank}*(?i:(toml))([#,]([^],]+))*]$"
            },
            {
              "include": "#inlines"
            },
            {
              "include": "#block-title"
            },
            {
              "begin": "^(-{4,})\\s*$",
              "contentName": "source.embedded.toml",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.toml"
                }
              ]
            },
            {
              "begin": "^(-{2})\\s*$",
              "contentName": "source.embedded.toml",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.toml"
                }
              ]
            },
            {
              "begin": "^(\\.{4})\\s*$",
              "contentName": "source.embedded.toml",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.toml"
                }
              ]
            }
          ]
        },
        {
          "begin": "(?=(?>^\\[(source)[#,]\\p{blank}*(?i:(t(?:ypescript|s)))([#,][^]]+)*]$))",
          "end": "((?<=--|\\.\\.\\.\\.)|^\\p{blank}*)$",
          "name": "markup.code.ts.asciidoc",
          "patterns": [
            {
              "captures": {
                "0": {
                  "name": "markup.heading.asciidoc",
                  "patterns": [
                    {
                      "include": "#block-attribute-inner"
                    }
                  ]
                }
              },
              "match": "^\\[(source)[#,]\\p{blank}*(?i:(t(?:ypescript|s)))([#,]([^],]+))*]$"
            },
            {
              "include": "#inlines"
            },
            {
              "include": "#block-title"
            },
            {
              "begin": "^(-{4,})\\s*$",
              "contentName": "source.embedded.ts",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.ts"
                }
              ]
            },
            {
              "begin": "^(-{2})\\s*$",
              "contentName": "source.embedded.ts",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.ts"
                }
              ]
            },
            {
              "begin": "^(\\.{4})\\s*$",
              "contentName": "source.embedded.ts",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.ts"
                }
              ]
            }
          ]
        },
        {
          "begin": "(?=(?>^\\[(source)[#,]\\p{blank}*(?i:(xml))([#,][^]]+)*]$))",
          "end": "((?<=--|\\.\\.\\.\\.)|^\\p{blank}*)$",
          "name": "markup.code.xml.asciidoc",
          "patterns": [
            {
              "captures": {
                "0": {
                  "name": "markup.heading.asciidoc",
                  "patterns": [
                    {
                      "include": "#block-attribute-inner"
                    }
                  ]
                }
              },
              "match": "^\\[(source)[#,]\\p{blank}*(?i:(xml))([#,]([^],]+))*]$"
            },
            {
              "include": "#inlines"
            },
            {
              "include": "#block-title"
            },
            {
              "begin": "^(-{4,})\\s*$",
              "contentName": "text.embedded.xml",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "text.xml"
                }
              ]
            },
            {
              "begin": "^(-{2})\\s*$",
              "contentName": "text.embedded.xml",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "text.xml"
                }
              ]
            },
            {
              "begin": "^(\\.{4})\\s*$",
              "contentName": "text.embedded.xml",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "text.xml"
                }
              ]
            }
          ]
        },
        {
          "begin": "(?=(?>^\\[(source)[#,]\\p{blank}*(?i:(ya?ml))([#,][^]]+)*]$))",
          "end": "((?<=--|\\.\\.\\.\\.)|^\\p{blank}*)$",
          "name": "markup.code.yaml.asciidoc",
          "patterns": [
            {
              "captures": {
                "0": {
                  "name": "markup.heading.asciidoc",
                  "patterns": [
                    {
                      "include": "#block-attribute-inner"
                    }
                  ]
                }
              },
              "match": "^\\[(source)[#,]\\p{blank}*(?i:(ya?ml))([#,]([^],]+))*]$"
            },
            {
              "include": "#inlines"
            },
            {
              "include": "#block-title"
            },
            {
              "begin": "^(-{4,})\\s*$",
              "contentName": "source.embedded.yaml",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.yaml"
                }
              ]
            },
            {
              "begin": "^(-{2})\\s*$",
              "contentName": "source.embedded.yaml",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.yaml"
                }
              ]
            },
            {
              "begin": "^(\\.{4})\\s*$",
              "contentName": "source.embedded.yaml",
              "end": "^(\\1)$",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                },
                {
                  "include": "source.yaml"
                }
              ]
            }
          ]
        },
        {
          "begin": "(?=(?>^\\[(source)([#,][^]]+)*]$))",
          "end": "((?<=--|\\.\\.\\.\\.)|^\\p{blank}*)$",
          "patterns": [
            {
              "captures": {
                "0": {
                  "name": "markup.heading.asciidoc",
                  "patterns": [
                    {
                      "include": "#block-attribute-inner"
                    }
                  ]
                }
              },
              "match": "^\\[(source)([#,]([^],]+))*]$"
            },
            {
              "include": "#inlines"
            },
            {
              "include": "#block-title"
            },
            {
              "begin": "^(-{4,})\\s*$",
              "end": "^(\\1)$",
              "name": "markup.raw.asciidoc",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                }
              ]
            },
            {
              "begin": "^(-{2})\\s*$",
              "end": "^(\\1)$",
              "name": "markup.raw.asciidoc",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                }
              ]
            },
            {
              "begin": "^(\\.{4})\\s*$",
              "end": "^(\\1)$",
              "name": "markup.raw.asciidoc",
              "patterns": [
                {
                  "include": "#block-callout"
                },
                {
                  "include": "#include-directive"
                }
              ]
            }
          ]
        },
        {
          "begin": "^(-{4,})\\s*$",
          "beginCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "end": "^(\\1)$",
          "endCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "name": "markup.raw.asciidoc",
          "patterns": [
            {
              "include": "#block-callout"
            },
            {
              "include": "#include-directive"
            }
          ]
        }
      ]
    },
    "source-markdown": {
      "patterns": [
        {
          "begin": "^\\s*(`{3,})\\s*(?i:(c))\\s*$",
          "beginCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "contentName": "source.embedded.c",
          "end": "^\\s*\\1\\s*$",
          "endCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "name": "markup.code.c.asciidoc",
          "patterns": [
            {
              "include": "#block-callout"
            },
            {
              "include": "source.c"
            }
          ]
        },
        {
          "begin": "^\\s*(`{3,})\\s*(?i:(clojure))\\s*$",
          "beginCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "contentName": "source.embedded.clojure",
          "end": "^\\s*\\1\\s*$",
          "endCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "name": "markup.code.clojure.asciidoc",
          "patterns": [
            {
              "include": "#block-callout"
            },
            {
              "include": "source.clojure"
            }
          ]
        },
        {
          "begin": "^\\s*(`{3,})\\s*(?i:(coffee-?(script)?))\\s*$",
          "beginCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "contentName": "source.embedded.coffee",
          "end": "^\\s*\\1\\s*$",
          "endCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "name": "markup.code.coffee.asciidoc",
          "patterns": [
            {
              "include": "#block-callout"
            },
            {
              "include": "source.coffee"
            }
          ]
        },
        {
          "begin": "^\\s*(`{3,})\\s*(?i:(c(pp|\\+\\+)))\\s*$",
          "beginCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "contentName": "source.embedded.cpp",
          "end": "^\\s*\\1\\s*$",
          "endCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "name": "markup.code.cpp.asciidoc",
          "patterns": [
            {
              "include": "#block-callout"
            },
            {
              "include": "source.cpp"
            }
          ]
        },
        {
          "begin": "^\\s*(`{3,})\\s*(?i:(css))\\s*$",
          "beginCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "contentName": "source.embedded.css",
          "end": "^\\s*\\1\\s*$",
          "endCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "name": "markup.code.css.asciidoc",
          "patterns": [
            {
              "include": "#block-callout"
            },
            {
              "include": "source.css"
            }
          ]
        },
        {
          "begin": "^\\s*(`{3,})\\s*(?i:(cs(harp)?))\\s*$",
          "beginCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "contentName": "source.embedded.cs",
          "end": "^\\s*\\1\\s*$",
          "endCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "name": "markup.code.cs.asciidoc",
          "patterns": [
            {
              "include": "#block-callout"
            },
            {
              "include": "source.cs"
            }
          ]
        },
        {
          "begin": "^\\s*(`{3,})\\s*(?i:(diff|patch|rej))\\s*$",
          "beginCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "contentName": "source.embedded.diff",
          "end": "^\\s*\\1\\s*$",
          "endCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "name": "markup.code.diff.asciidoc",
          "patterns": [
            {
              "include": "#block-callout"
            },
            {
              "include": "source.diff"
            }
          ]
        },
        {
          "begin": "^\\s*(`{3,})\\s*(?i:(docker(file)?))\\s*$",
          "beginCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "contentName": "source.embedded.dockerfile",
          "end": "^\\s*\\1\\s*$",
          "endCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "name": "markup.code.dockerfile.asciidoc",
          "patterns": [
            {
              "include": "#block-callout"
            },
            {
              "include": "source.dockerfile"
            }
          ]
        },
        {
          "begin": "^\\s*(`{3,})\\s*(?i:(elixir))\\s*$",
          "beginCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "contentName": "source.embedded.elixir",
          "end": "^\\s*\\1\\s*$",
          "endCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "name": "markup.code.elixir.asciidoc",
          "patterns": [
            {
              "include": "#block-callout"
            },
            {
              "include": "source.elixir"
            }
          ]
        },
        {
          "begin": "^\\s*(`{3,})\\s*(?i:(elm))\\s*$",
          "beginCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "contentName": "source.embedded.elm",
          "end": "^\\s*\\1\\s*$",
          "endCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "name": "markup.code.elm.asciidoc",
          "patterns": [
            {
              "include": "#block-callout"
            },
            {
              "include": "source.elm"
            }
          ]
        },
        {
          "begin": "^\\s*(`{3,})\\s*(?i:(erlang))\\s*$",
          "beginCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "contentName": "source.embedded.erlang",
          "end": "^\\s*\\1\\s*$",
          "endCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "name": "markup.code.erlang.asciidoc",
          "patterns": [
            {
              "include": "#block-callout"
            },
            {
              "include": "source.erlang"
            }
          ]
        },
        {
          "begin": "^\\s*(`{3,})\\s*(?i:(go(lang)?))\\s*$",
          "beginCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "contentName": "source.embedded.go",
          "end": "^\\s*\\1\\s*$",
          "endCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "name": "markup.code.go.asciidoc",
          "patterns": [
            {
              "include": "#block-callout"
            },
            {
              "include": "source.go"
            }
          ]
        },
        {
          "begin": "^\\s*(`{3,})\\s*(?i:(groovy))\\s*$",
          "beginCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "contentName": "source.embedded.groovy",
          "end": "^\\s*\\1\\s*$",
          "endCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "name": "markup.code.groovy.asciidoc",
          "patterns": [
            {
              "include": "#block-callout"
            },
            {
              "include": "source.groovy"
            }
          ]
        },
        {
          "begin": "^\\s*(`{3,})\\s*(?i:(haskell))\\s*$",
          "beginCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "contentName": "source.embedded.haskell",
          "end": "^\\s*\\1\\s*$",
          "endCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "name": "markup.code.haskell.asciidoc",
          "patterns": [
            {
              "include": "#block-callout"
            },
            {
              "include": "source.haskell"
            }
          ]
        },
        {
          "begin": "^\\s*(`{3,})\\s*(?i:(html))\\s*$",
          "beginCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "contentName": "text.embedded.html.basic",
          "end": "^\\s*\\1\\s*$",
          "endCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "name": "markup.code.html.basic.asciidoc",
          "patterns": [
            {
              "include": "#block-callout"
            },
            {
              "include": "text.html.basic"
            }
          ]
        },
        {
          "begin": "^\\s*(`{3,})\\s*(?i:(java))\\s*$",
          "beginCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "contentName": "source.embedded.java",
          "end": "^\\s*\\1\\s*$",
          "endCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "name": "markup.code.java.asciidoc",
          "patterns": [
            {
              "include": "#block-callout"
            },
            {
              "include": "source.java"
            }
          ]
        },
        {
          "begin": "^\\s*(`{3,})\\s*(?i:(j(?:avascript|s)))\\s*$",
          "beginCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "contentName": "source.embedded.js",
          "end": "^\\s*\\1\\s*$",
          "endCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "name": "markup.code.js.asciidoc",
          "patterns": [
            {
              "include": "#block-callout"
            },
            {
              "include": "source.js"
            }
          ]
        },
        {
          "begin": "^\\s*(`{3,})\\s*(?i:(json))\\s*$",
          "beginCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "contentName": "source.embedded.json",
          "end": "^\\s*\\1\\s*$",
          "endCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "name": "markup.code.json.asciidoc",
          "patterns": [
            {
              "include": "#block-callout"
            },
            {
              "include": "source.json"
            }
          ]
        },
        {
          "begin": "^\\s*(`{3,})\\s*(?i:(jsx))\\s*$",
          "beginCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "contentName": "source.embedded.js.jsx",
          "end": "^\\s*\\1\\s*$",
          "endCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "name": "markup.code.js.jsx.asciidoc",
          "patterns": [
            {
              "include": "#block-callout"
            },
            {
              "include": "source.js.jsx"
            }
          ]
        },
        {
          "begin": "^\\s*(`{3,})\\s*(?i:(julia))\\s*$",
          "beginCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "contentName": "source.embedded.julia",
          "end": "^\\s*\\1\\s*$",
          "endCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "name": "markup.code.julia.asciidoc",
          "patterns": [
            {
              "include": "#block-callout"
            },
            {
              "include": "source.julia"
            }
          ]
        },
        {
          "begin": "^\\s*(`{3,})\\s*(?i:(k(?:otlin|ts?)))\\s*$",
          "beginCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "contentName": "source.embedded.kotlin",
          "end": "^\\s*\\1\\s*$",
          "endCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "name": "markup.code.kotlin.asciidoc",
          "patterns": [
            {
              "include": "#block-callout"
            },
            {
              "include": "source.kotlin"
            }
          ]
        },
        {
          "begin": "^\\s*(`{3,})\\s*(?i:(less))\\s*$",
          "beginCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "contentName": "source.embedded.css.less",
          "end": "^\\s*\\1\\s*$",
          "endCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "name": "markup.code.css.less.asciidoc",
          "patterns": [
            {
              "include": "#block-callout"
            },
            {
              "include": "source.css.less"
            }
          ]
        },
        {
          "begin": "^\\s*(`{3,})\\s*(?i:(make(file)?))\\s*$",
          "beginCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "contentName": "source.embedded.makefile",
          "end": "^\\s*\\1\\s*$",
          "endCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "name": "markup.code.makefile.asciidoc",
          "patterns": [
            {
              "include": "#block-callout"
            },
            {
              "include": "source.makefile"
            }
          ]
        },
        {
          "begin": "^\\s*(`{3,})\\s*(?i:(m(?:arkdown|down|d)))\\s*$",
          "beginCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "contentName": "source.embedded.gfm",
          "end": "^\\s*\\1\\s*$",
          "endCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "name": "markup.code.gfm.asciidoc",
          "patterns": [
            {
              "include": "#block-callout"
            },
            {
              "include": "source.gfm"
            }
          ]
        },
        {
          "begin": "^\\s*(`{3,})\\s*(?i:(mustache))\\s*$",
          "beginCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "contentName": "text.embedded.html.mustache",
          "end": "^\\s*\\1\\s*$",
          "endCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "name": "markup.code.html.mustache.asciidoc",
          "patterns": [
            {
              "include": "#block-callout"
            },
            {
              "include": "text.html.mustache"
            }
          ]
        },
        {
          "begin": "^\\s*(`{3,})\\s*(?i:(obj(?:c|ective-c)))\\s*$",
          "beginCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "contentName": "source.embedded.objc",
          "end": "^\\s*\\1\\s*$",
          "endCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "name": "markup.code.objc.asciidoc",
          "patterns": [
            {
              "include": "#block-callout"
            },
            {
              "include": "source.objc"
            }
          ]
        },
        {
          "begin": "^\\s*(`{3,})\\s*(?i:(ocaml))\\s*$",
          "beginCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "contentName": "source.embedded.ocaml",
          "end": "^\\s*\\1\\s*$",
          "endCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "name": "markup.code.ocaml.asciidoc",
          "patterns": [
            {
              "include": "#block-callout"
            },
            {
              "include": "source.ocaml"
            }
          ]
        },
        {
          "begin": "^\\s*(`{3,})\\s*(?i:(perl))\\s*$",
          "beginCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "contentName": "source.embedded.perl",
          "end": "^\\s*\\1\\s*$",
          "endCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "name": "markup.code.perl.asciidoc",
          "patterns": [
            {
              "include": "#block-callout"
            },
            {
              "include": "source.perl"
            }
          ]
        },
        {
          "begin": "^\\s*(`{3,})\\s*(?i:(perl6))\\s*$",
          "beginCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "contentName": "source.embedded.perl6",
          "end": "^\\s*\\1\\s*$",
          "endCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "name": "markup.code.perl6.asciidoc",
          "patterns": [
            {
              "include": "#block-callout"
            },
            {
              "include": "source.perl6"
            }
          ]
        },
        {
          "begin": "^\\s*(`{3,})\\s*(?i:(php))\\s*$",
          "beginCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "contentName": "text.embedded.html.php",
          "end": "^\\s*\\1\\s*$",
          "endCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "name": "markup.code.html.php.asciidoc",
          "patterns": [
            {
              "include": "#block-callout"
            },
            {
              "include": "text.html.php"
            }
          ]
        },
        {
          "begin": "^\\s*(`{3,})\\s*(?i:(properties))\\s*$",
          "beginCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "contentName": "source.embedded.asciidoc.properties",
          "end": "^\\s*\\1\\s*$",
          "endCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "name": "markup.code.asciidoc.properties.asciidoc",
          "patterns": [
            {
              "include": "#block-callout"
            },
            {
              "include": "source.asciidoc.properties"
            }
          ]
        },
        {
          "begin": "^\\s*(`{3,})\\s*(?i:(py(thon)?))\\s*$",
          "beginCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "contentName": "source.embedded.python",
          "end": "^\\s*\\1\\s*$",
          "endCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "name": "markup.code.python.asciidoc",
          "patterns": [
            {
              "include": "#block-callout"
            },
            {
              "include": "source.python"
            }
          ]
        },
        {
          "begin": "^\\s*(`{3,})\\s*(?i:(r))\\s*$",
          "beginCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "contentName": "source.embedded.r",
          "end": "^\\s*\\1\\s*$",
          "endCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "name": "markup.code.r.asciidoc",
          "patterns": [
            {
              "include": "#block-callout"
            },
            {
              "include": "source.r"
            }
          ]
        },
        {
          "begin": "^\\s*(`{3,})\\s*(?i:(r(?:uby|b)))\\s*$",
          "beginCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "contentName": "source.embedded.ruby",
          "end": "^\\s*\\1\\s*$",
          "endCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "name": "markup.code.ruby.asciidoc",
          "patterns": [
            {
              "include": "#block-callout"
            },
            {
              "include": "source.ruby"
            }
          ]
        },
        {
          "begin": "^\\s*(`{3,})\\s*(?i:(r(?:ust|s)))\\s*$",
          "beginCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "contentName": "source.embedded.rust",
          "end": "^\\s*\\1\\s*$",
          "endCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "name": "markup.code.rust.asciidoc",
          "patterns": [
            {
              "include": "#block-callout"
            },
            {
              "include": "source.rust"
            }
          ]
        },
        {
          "begin": "^\\s*(`{3,})\\s*(?i:(sass))\\s*$",
          "beginCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "contentName": "source.embedded.sass",
          "end": "^\\s*\\1\\s*$",
          "endCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "name": "markup.code.sass.asciidoc",
          "patterns": [
            {
              "include": "#block-callout"
            },
            {
              "include": "source.sass"
            }
          ]
        },
        {
          "begin": "^\\s*(`{3,})\\s*(?i:(scala))\\s*$",
          "beginCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "contentName": "source.embedded.scala",
          "end": "^\\s*\\1\\s*$",
          "endCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "name": "markup.code.scala.asciidoc",
          "patterns": [
            {
              "include": "#block-callout"
            },
            {
              "include": "source.scala"
            }
          ]
        },
        {
          "begin": "^\\s*(`{3,})\\s*(?i:(scss))\\s*$",
          "beginCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "contentName": "source.embedded.css.scss",
          "end": "^\\s*\\1\\s*$",
          "endCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "name": "markup.code.css.scss.asciidoc",
          "patterns": [
            {
              "include": "#block-callout"
            },
            {
              "include": "source.css.scss"
            }
          ]
        },
        {
          "begin": "^\\s*(`{3,})\\s*(?i:(sh|bash|shell))\\s*$",
          "beginCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "contentName": "source.embedded.shell",
          "end": "^\\s*\\1\\s*$",
          "endCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "name": "markup.code.shell.asciidoc",
          "patterns": [
            {
              "include": "#block-callout"
            },
            {
              "include": "source.shell"
            }
          ]
        },
        {
          "begin": "^\\s*(`{3,})\\s*(?i:(sql))\\s*$",
          "beginCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "contentName": "source.embedded.sql",
          "end": "^\\s*\\1\\s*$",
          "endCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "name": "markup.code.sql.asciidoc",
          "patterns": [
            {
              "include": "#block-callout"
            },
            {
              "include": "source.sql"
            }
          ]
        },
        {
          "begin": "^\\s*(`{3,})\\s*(?i:(swift))\\s*$",
          "beginCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "contentName": "source.embedded.swift",
          "end": "^\\s*\\1\\s*$",
          "endCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "name": "markup.code.swift.asciidoc",
          "patterns": [
            {
              "include": "#block-callout"
            },
            {
              "include": "source.swift"
            }
          ]
        },
        {
          "begin": "^\\s*(`{3,})\\s*(?i:(toml))\\s*$",
          "beginCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "contentName": "source.embedded.toml",
          "end": "^\\s*\\1\\s*$",
          "endCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "name": "markup.code.toml.asciidoc",
          "patterns": [
            {
              "include": "#block-callout"
            },
            {
              "include": "source.toml"
            }
          ]
        },
        {
          "begin": "^\\s*(`{3,})\\s*(?i:(t(?:ypescript|s)))\\s*$",
          "beginCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "contentName": "source.embedded.ts",
          "end": "^\\s*\\1\\s*$",
          "endCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "name": "markup.code.ts.asciidoc",
          "patterns": [
            {
              "include": "#block-callout"
            },
            {
              "include": "source.ts"
            }
          ]
        },
        {
          "begin": "^\\s*(`{3,})\\s*(?i:(xml))\\s*$",
          "beginCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "contentName": "text.embedded.xml",
          "end": "^\\s*\\1\\s*$",
          "endCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "name": "markup.code.xml.asciidoc",
          "patterns": [
            {
              "include": "#block-callout"
            },
            {
              "include": "text.xml"
            }
          ]
        },
        {
          "begin": "^\\s*(`{3,})\\s*(?i:(ya?ml))\\s*$",
          "beginCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "contentName": "source.embedded.yaml",
          "end": "^\\s*\\1\\s*$",
          "endCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "name": "markup.code.yaml.asciidoc",
          "patterns": [
            {
              "include": "#block-callout"
            },
            {
              "include": "source.yaml"
            }
          ]
        },
        {
          "begin": "^\\s*(`{3,}).*$",
          "beginCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "end": "^\\s*\\1\\s*$",
          "endCaptures": {
            "0": {
              "name": "support.asciidoc"
            }
          },
          "name": "markup.raw.asciidoc",
          "patterns": [
            {
              "include": "#block-callout"
            }
          ]
        }
      ]
    },
    "source-paragraphs": {
      "patterns": [
        {
          "include": "#source-asciidoctor"
        },
        {
          "include": "#source-markdown"
        }
      ]
    },
    "stem-macro": {
      "patterns": [
        {
          "begin": "(?<!\\\\)(stem|(?:latex|ascii)math):([,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.stem.asciidoc"
        }
      ]
    },
    "strong": {
      "patterns": [
        {
          "captures": {
            "1": {
              "name": "markup.meta.attribute-list.asciidoc"
            },
            "2": {
              "name": "markup.bold.asciidoc"
            },
            "3": {
              "name": "punctuation.definition.asciidoc"
            },
            "5": {
              "name": "punctuation.definition.asciidoc"
            }
          },
          "match": "(?<!\\\\\\\\)(\\[.+?])?((\\*\\*)(.+?)(\\*\\*))",
          "name": "markup.strong.unconstrained.asciidoc"
        },
        {
          "captures": {
            "1": {
              "name": "markup.meta.attribute-list.asciidoc"
            },
            "2": {
              "name": "markup.bold.asciidoc"
            },
            "3": {
              "name": "punctuation.definition.asciidoc"
            },
            "5": {
              "name": "punctuation.definition.asciidoc"
            }
          },
          "match": "(?<![*:;\\\\[:word:]])(\\[.+?])?((\\*)(\\S(?:|.*?\\S))(\\*)(?!\\p{word}))",
          "name": "markup.strong.constrained.asciidoc"
        }
      ]
    },
    "subscript": {
      "patterns": [
        {
          "captures": {
            "1": {
              "name": "markup.meta.sub.attribute-list.asciidoc"
            },
            "2": {
              "name": "markup.sub.subscript.asciidoc"
            },
            "3": {
              "name": "punctuation.definition.asciidoc"
            },
            "5": {
              "name": "punctuation.definition.asciidoc"
            }
          },
          "match": "(?<!\\\\)(\\[.+?])?((~)(\\S+?)(~))",
          "name": "markup.subscript.asciidoc"
        }
      ]
    },
    "superscript": {
      "patterns": [
        {
          "captures": {
            "1": {
              "name": "markup.meta.super.attribute-list.asciidoc"
            },
            "2": {
              "name": "markup.super.superscript.asciidoc"
            },
            "3": {
              "name": "punctuation.definition.asciidoc"
            },
            "5": {
              "name": "punctuation.definition.asciidoc"
            }
          },
          "match": "(?<!\\\\)(\\[.+?])?((\\^)(\\S+?)(\\^))",
          "name": "markup.superscript.asciidoc"
        }
      ]
    },
    "table-csv": {
      "patterns": [
        {
          "begin": "^(,===)$",
          "beginCaptures": {
            "0": {
              "name": "markup.table.delimiter.asciidoc"
            }
          },
          "contentName": "string.unquoted.asciidoc",
          "end": "^(\\1)$",
          "endCaptures": {
            "0": {
              "name": "markup.table.delimiter.asciidoc"
            }
          },
          "name": "markup.table.csv.asciidoc",
          "patterns": [
            {
              "include": "text.csv"
            },
            {
              "captures": {
                "0": {
                  "name": "markup.table.cell.delimiter.asciidoc"
                }
              },
              "match": ","
            },
            {
              "include": "#general-block-macro"
            }
          ]
        }
      ]
    },
    "table-dsv": {
      "patterns": [
        {
          "begin": "^(:===)$",
          "beginCaptures": {
            "0": {
              "name": "markup.table.delimiter.asciidoc"
            }
          },
          "contentName": "string.unquoted.asciidoc",
          "end": "^(\\1)$",
          "endCaptures": {
            "0": {
              "name": "markup.table.delimiter.asciidoc"
            }
          },
          "name": "markup.table.dsv.asciidoc",
          "patterns": [
            {
              "captures": {
                "0": {
                  "name": "markup.table.cell.delimiter.asciidoc"
                }
              },
              "match": ":"
            },
            {
              "include": "#general-block-macro"
            }
          ]
        }
      ]
    },
    "table-nested": {
      "patterns": [
        {
          "begin": "^(!===)$",
          "beginCaptures": {
            "0": {
              "name": "markup.table.delimiter.asciidoc"
            }
          },
          "contentName": "markup.table.content.asciidoc",
          "end": "^(\\1)$",
          "endCaptures": {
            "0": {
              "name": "markup.table.delimiter.asciidoc"
            }
          },
          "name": "markup.table.nested.asciidoc",
          "patterns": [
            {
              "captures": {
                "1": {
                  "name": "markup.meta.attribute-list.asciidoc"
                },
                "2": {
                  "name": "markup.table.cell.delimiter.asciidoc"
                }
              },
              "match": "(^|[^\\\\[:blank:]]*)(?<!\\\\)(!)"
            },
            {
              "include": "#tables-includes"
            }
          ]
        }
      ]
    },
    "table-psv": {
      "patterns": [
        {
          "begin": "^(\\|===)\\s*$",
          "beginCaptures": {
            "0": {
              "name": "markup.table.delimiter.asciidoc"
            }
          },
          "contentName": "markup.table.content.asciidoc",
          "end": "^(\\1)\\s*$",
          "endCaptures": {
            "0": {
              "name": "markup.table.delimiter.asciidoc"
            }
          },
          "name": "markup.table.asciidoc",
          "patterns": [
            {
              "captures": {
                "1": {
                  "name": "markup.meta.attribute-list.asciidoc"
                },
                "2": {
                  "name": "markup.table.cell.delimiter.asciidoc"
                }
              },
              "match": "(^|[^\\\\[:blank:]]*)(?<!\\\\)(\\|)"
            },
            {
              "include": "#tables-includes"
            }
          ]
        }
      ]
    },
    "tables": {
      "patterns": [
        {
          "include": "#table-psv"
        },
        {
          "include": "#table-nested"
        },
        {
          "include": "#table-csv"
        },
        {
          "include": "#table-dsv"
        }
      ]
    },
    "tables-includes": {
      "patterns": [
        {
          "include": "#comment"
        },
        {
          "include": "#callout-list-item"
        },
        {
          "include": "#attribute-entry"
        },
        {
          "include": "#block-title"
        },
        {
          "include": "#explicit-paragraph"
        },
        {
          "include": "#section"
        },
        {
          "include": "#blocks"
        },
        {
          "include": "#list"
        },
        {
          "include": "#inlines"
        },
        {
          "include": "#line-break"
        }
      ]
    },
    "titles": {
      "patterns": [
        {
          "begin": "^([#=]{6})(\\p{blank}+)(?=\\S+)",
          "beginCaptures": {
            "1": {
              "name": "markup.heading.marker.asciidoc"
            },
            "2": {
              "name": "markup.heading.space.asciidoc"
            }
          },
          "end": "$",
          "name": "markup.heading.heading-5.asciidoc",
          "patterns": [
            {
              "include": "$self"
            }
          ]
        },
        {
          "begin": "^([#=]{5})(\\p{blank}+)(?=\\S+)",
          "beginCaptures": {
            "1": {
              "name": "markup.heading.marker.asciidoc"
            },
            "2": {
              "name": "markup.heading.space.asciidoc"
            }
          },
          "end": "$",
          "name": "markup.heading.heading-4.asciidoc",
          "patterns": [
            {
              "include": "$self"
            }
          ]
        },
        {
          "begin": "^([#=]{4})(\\p{blank}+)(?=\\S+)",
          "beginCaptures": {
            "1": {
              "name": "markup.heading.marker.asciidoc"
            },
            "2": {
              "name": "markup.heading.space.asciidoc"
            }
          },
          "end": "$",
          "name": "markup.heading.heading-3.asciidoc",
          "patterns": [
            {
              "include": "$self"
            }
          ]
        },
        {
          "begin": "^([#=]{3})(\\p{blank}+)(?=\\S+)",
          "beginCaptures": {
            "1": {
              "name": "markup.heading.marker.asciidoc"
            },
            "2": {
              "name": "markup.heading.space.asciidoc"
            }
          },
          "end": "$",
          "name": "markup.heading.heading-2.asciidoc",
          "patterns": [
            {
              "include": "$self"
            }
          ]
        },
        {
          "begin": "^([#=]{2})(\\p{blank}+)(?=\\S+)",
          "beginCaptures": {
            "1": {
              "name": "markup.heading.marker.asciidoc"
            },
            "2": {
              "name": "markup.heading.space.asciidoc"
            }
          },
          "end": "$",
          "name": "markup.heading.heading-1.asciidoc",
          "patterns": [
            {
              "include": "$self"
            }
          ]
        },
        {
          "begin": "^([#=]{1})(\\p{blank}+)(?=\\S+)",
          "beginCaptures": {
            "1": {
              "name": "markup.heading.marker.asciidoc"
            },
            "2": {
              "name": "markup.heading.space.asciidoc"
            }
          },
          "end": "$",
          "name": "markup.heading.heading-0.asciidoc",
          "patterns": [
            {
              "include": "$self"
            }
          ]
        }
      ]
    },
    "typographic-quotes": {
      "patterns": [
        {
          "captures": {
            "1": {
              "name": "markup.meta.attribute-list.asciidoc"
            },
            "3": {
              "name": "punctuation.definition.asciidoc"
            },
            "5": {
              "name": "punctuation.definition.asciidoc"
            }
          },
          "match": "(?:^|(?<![:;[:word:]]))(\\[([^]]+?)])?(\"`)(\\S(?:|.*?\\S))(`\")(?!\\p{word})",
          "name": "markup.italic.quote.typographic-quotes.asciidoc"
        },
        {
          "captures": {
            "1": {
              "name": "markup.meta.attribute-list.asciidoc"
            },
            "3": {
              "name": "punctuation.definition.asciidoc"
            },
            "5": {
              "name": "punctuation.definition.asciidoc"
            }
          },
          "match": "(?:^|(?<![:;[:word:]]))(\\[([^]]+?)])?('`)(\\S(?:|.*?\\S))(`')(?!\\p{word})",
          "name": "markup.italic.quote.typographic-quotes.asciidoc"
        }
      ]
    },
    "xref-macro": {
      "patterns": [
        {
          "captures": {
            "1": {
              "name": "constant.asciidoc"
            },
            "2": {
              "name": "markup.meta.attribute-list.asciidoc"
            },
            "3": {
              "name": "string.unquoted.asciidoc"
            },
            "4": {
              "name": "constant.asciidoc"
            }
          },
          "match": "(?<!\\\\)(<<)([\"./:[:word:]]+,)?(.*?)(>>)",
          "name": "markup.reference.xref.asciidoc"
        },
        {
          "begin": "(?<!\\\\)(xref:)([\"./:[:word:]].*?)(\\[)",
          "beginCaptures": {
            "1": {
              "name": "entity.name.function.asciidoc"
            },
            "2": {
              "name": "markup.meta.attribute-list.asciidoc"
            }
          },
          "contentName": "string.unquoted.asciidoc",
          "end": "]|^$",
          "name": "markup.reference.xref.asciidoc"
        }
      ]
    }
  },
  "scopeName": "text.asciidoc"
}
