{
"name": "AsDoc",
"scopeName": "text.html.asdoc",
"patterns": [
{
"name": "comment.block.documentation.asdoc",
"begin": "(/\\*\\*)\\s*$",
"end": "\\*/",
"patterns": [
{
"include": "#invalid"
},
{
"include": "#left-margin"
},
{
"name": "meta.documentation.comment.asdoc",
"begin": "\\*\\s*\\w",
"end": "(?=\\s*\\*\\s*@)|(?=\\s*\\*\\s*/)",
"patterns": [
{
"include": "#inline"
}
]
},
{
"name": "meta.documentation.tag.param.asdoc",
"begin": "\\*\\s*((\\@)param)",
"end": "(?=\\s*\\*\\s*@)|(?=\\s*\\*\\s*/)",
"patterns": [
{
"include": "#inline"
}
],
"beginCaptures": {
"1": {
"name": "keyword.other.documentation.param.asdoc"
},
"2": {
"name": "punctuation.definition.keyword.asdoc"
}
}
},
{
"name": "meta.documentation.tag.return.asdoc",
"begin": "\\*\\s*((\\@)return)",
"end": "(?=\\s*\\*\\s*@)|(?=\\s*\\*\\s*/)",
"patterns": [
{
"include": "#inline"
}
],
"beginCaptures": {
"1": {
"name": "keyword.other.documentation.return.asdoc"
},
"2": {
"name": "punctuation.definition.keyword.asdoc"
}
}
},
{
"name": "meta.documentation.tag.throws.asdoc",
"begin": "\\*\\s*((\\@)throws)",
"end": "(?=\\s*\\*\\s*@)|(?=\\s*\\*\\s*/)",
"patterns": [
{
"include": "#inline"
}
],
"beginCaptures": {
"1": {
"name": "keyword.other.documentation.throws.asdoc"
},
"2": {
"name": "punctuation.definition.keyword.asdoc"
}
}
},
{
"name": "meta.documentation.tag.see.asdoc",
"begin": "\\*\\s*((\\@)see)",
"end": "(?=\\s*\\*\\s*@)|(?=\\s*\\*\\s*/)",
"patterns": [
{
"include": "#inline"
}
],
"beginCaptures": {
"1": {
"name": "keyword.other.documentation.see.asdoc"
},
"2": {
"name": "punctuation.definition.keyword.asdoc"
}
}
},
{
"name": "meta.documentation.tag.author.asdoc",
"begin": "\\*\\s*((\\@)author)",
"end": "(?=\\s*\\*\\s*@)|(?=\\s*\\*\\s*/)",
"patterns": [
{
"include": "#inline"
}
],
"beginCaptures": {
"1": {
"name": "keyword.other.documentation.author.asdoc"
},
"2": {
"name": "punctuation.definition.keyword.asdoc"
}
}
},
{
"name": "meta.documentation.tag.version.asdoc",
"begin": "\\*\\s*((\\@)version)",
"end": "(?=\\s*\\*\\s*@)|(?=\\s*\\*\\s*/)",
"patterns": [
{
"include": "#inline"
}
],
"beginCaptures": {
"1": {
"name": "keyword.other.documentation.version.asdoc"
},
"2": {
"name": "punctuation.definition.keyword.asdoc"
}
}
},
{
"name": "meta.documentation.tag.see.asdoc",
"begin": "\\*\\s*((\\@)see)",
"end": "(?=\\s*\\*\\s*@)|(?=\\s*\\*\\s*/)",
"patterns": [
{
"include": "#inline"
}
],
"beginCaptures": {
"1": {
"name": "keyword.other.documentation.see.asdoc"
},
"2": {
"name": "punctuation.definition.keyword.asdoc"
}
}
},
{
"name": "meta.documentation.tag.since.asdoc",
"begin": "\\*\\s*((\\@)since)",
"end": "(?=\\s*\\*\\s*@)|(?=\\s*\\*\\s*/)",
"patterns": [
{
"include": "#inline"
}
],
"beginCaptures": {
"1": {
"name": "keyword.other.documentation.since.asdoc"
},
"2": {
"name": "punctuation.definition.keyword.asdoc"
}
}
},
{
"name": "meta.documentation.tag.inheritDoc.asdoc",
"begin": "\\*\\s*((\\@)inheritDoc)",
"end": "(?=\\s*\\*\\s*@)|(?=\\s*\\*\\s*/)",
"patterns": [
{
"include": "#inline"
}
],
"beginCaptures": {
"1": {
"name": "keyword.other.documentation.inheritDoc.asdoc"
},
"2": {
"name": "punctuation.definition.keyword.asdoc"
}
}
},
{
"name": "meta.documentation.tag.example.asdoc",
"begin": "\\*\\s*((\\@)example)",
"end": "(?=\\s*\\*\\s*@)|(?=\\s*\\*\\s*/)",
"patterns": [
{
"include": "#inline"
}
],
"beginCaptures": {
"1": {
"name": "keyword.other.documentation.example.asdoc"
},
"2": {
"name": "punctuation.definition.keyword.asdoc"
}
}
},
{
"name": "meta.documentation.tag.exampleText.asdoc",
"begin": "\\*\\s*((\\@)exampleText)",
"end": "(?=\\s*\\*\\s*@)|(?=\\s*\\*\\s*/)",
"patterns": [
{
"include": "#inline"
}
],
"beginCaptures": {
"1": {
"name": "keyword.other.documentation.exampleText.asdoc"
},
"2": {
"name": "punctuation.definition.keyword.asdoc"
}
}
},
{
"name": "meta.documentation.tag.eventType.asdoc",
"begin": "\\*\\s*((\\@)eventType)",
"end": "(?=\\s*\\*\\s*@)|(?=\\s*\\*\\s*/)",
"patterns": [
{
"include": "#inline"
}
],
"beginCaptures": {
"1": {
"name": "keyword.other.documentation.eventType.asdoc"
},
"2": {
"name": "punctuation.definition.keyword.asdoc"
}
}
},
{
"name": "meta.documentation.tag.internal.asdoc",
"begin": "\\*\\s*((\\@)internal)",
"end": "(?=\\s*\\*\\s*@)|(?=\\s*\\*\\s*/)",
"patterns": [
{
"include": "#inline"
}
],
"beginCaptures": {
"1": {
"name": "keyword.other.documentation.internal.asdoc"
},
"2": {
"name": "punctuation.definition.keyword.asdoc"
}
}
},
{
"name": "meta.documentation.tag.deprecated.asdoc",
"begin": "\\*\\s*((\\@)deprecated)",
"end": "(?=\\s*\\*\\s*@)|(?=\\s*\\*\\s*/)",
"patterns": [
{
"include": "#inline"
}
],
"beginCaptures": {
"1": {
"name": "keyword.other.documentation.deprecated.asdoc"
},
"2": {
"name": "punctuation.definition.keyword.asdoc"
}
}
},
{
"name": "meta.documentation.tag.playerversion.asdoc",
"begin": "\\*\\s*((\\@)playerversion)",
"end": "(?=\\s*\\*\\s*@)|(?=\\s*\\*\\s*/)",
"patterns": [
{
"include": "#inline"
}
],
"beginCaptures": {
"1": {
"name": "keyword.other.documentation.playerversion.asdoc"
},
"2": {
"name": "punctuation.definition.keyword.asdoc"
}
}
},
{
"name": "meta.documentation.tag.langversion.asdoc",
"begin": "\\*\\s*((\\@)langversion)",
"end": "(?=\\s*\\*\\s*@)|(?=\\s*\\*\\s*/)",
"patterns": [
{
"include": "#inline"
}
],
"beginCaptures": {
"1": {
"name": "keyword.other.documentation.langversion.asdoc"
},
"2": {
"name": "punctuation.definition.keyword.asdoc"
}
}
},
{
"match": "\\*\\s*((\\@)\\w+)\\s",
"captures": {
"1": {
"name": "keyword.other.documentation.custom.asdoc"
},
"2": {
"name": "punctuation.definition.keyword.asdoc"
}
}
}
],
"beginCaptures": {
"1": {
"name": "punctuation.definition.comment.begin.asdoc"
}
},
"endCaptures": {
"0": {
"name": "punctuation.definition.comment.asdoc"
}
}
}
],
"repository": {
"inline": {
"patterns": [
{
"include": "#left-margin"
},
{
"include": "#invalid"
},
{
"include": "#inline-formatting"
},
{
"include": "text.html.basic"
},
{
"name": "markup.underline.link",
"match": "((https?|s?ftp|ftps|file|smb|afp|nfs|(x-)?man|gopher|txmt)://|mailto:)[-:@a-zA-Z0-9_.~%+/?=\u0026#]+(?\u003c![.?:])"
}
]
},
"inline-formatting": {
"patterns": [
{
"name": "meta.directive.code.asdoc",
"contentName": "markup.raw.code.asdoc",
"begin": "(\\{)((\\@)code)",
"end": "\\}",
"beginCaptures": {
"1": {
"name": "punctuation.definition.directive.begin.asdoc"
},
"2": {
"name": "keyword.other.documentation.directive.code.asdoc"
},
"3": {
"name": "punctuation.definition.keyword.asdoc"
}
},
"endCaptures": {
"0": {
"name": "punctuation.definition.directive.end.asdoc"
}
}
},
{
"name": "meta.directive.literal.asdoc",
"contentName": "markup.raw.literal.asdoc",
"begin": "(\\{)((\\@)literal)",
"end": "\\}",
"beginCaptures": {
"1": {
"name": "punctuation.definition.directive.begin.asdoc"
},
"2": {
"name": "keyword.other.documentation.directive.literal.asdoc"
},
"3": {
"name": "punctuation.definition.keyword.asdoc"
}
},
"endCaptures": {
"0": {
"name": "punctuation.definition.directive.end.asdoc"
}
}
},
{
"name": "meta.directive.docRoot.asdoc",
"match": "(\\{)((\\@)docRoot)(\\})",
"captures": {
"1": {
"name": "punctuation.definition.directive.begin.asdoc"
},
"2": {
"name": "keyword.other.documentation.directive.docRoot.asdoc"
},
"3": {
"name": "punctuation.definition.keyword.asdoc"
},
"4": {
"name": "punctuation.definition.directive.end.asdoc"
}
}
},
{
"name": "meta.directive.inheritDoc.asdoc",
"match": "(\\{)((\\@)inheritDoc)(\\})",
"captures": {
"1": {
"name": "punctuation.definition.directive.begin.asdoc"
},
"2": {
"name": "keyword.other.documentation.directive.inheritDoc.asdoc"
},
"3": {
"name": "punctuation.definition.keyword.asdoc"
},
"4": {
"name": "punctuation.definition.directive.end.asdoc"
}
}
},
{
"name": "meta.directive.link.asdoc",
"match": "(\\{)((\\@)link)(?:\\s+(\\S+?))?(?:\\s+(.+?))?\\s*(\\})",
"captures": {
"1": {
"name": "punctuation.definition.directive.begin.asdoc"
},
"2": {
"name": "keyword.other.documentation.directive.link.asdoc"
},
"3": {
"name": "punctuation.definition.keyword.asdoc"
},
"4": {
"name": "markup.underline.link.asdoc"
},
"5": {
"name": "entity.other.link-label.asdoc"
},
"6": {
"name": "punctuation.definition.directive.end.asdoc"
}
}
},
{
"name": "meta.directive.linkplain.asdoc",
"match": "(\\{)((\\@)linkplain)(?:\\s+(\\S+?))?(?:\\s+(.+?))?\\s*(\\})",
"captures": {
"1": {
"name": "punctuation.definition.directive.begin.asdoc"
},
"2": {
"name": "keyword.other.documentation.directive.linkplain.asdoc"
},
"3": {
"name": "punctuation.definition.keyword.asdoc"
},
"4": {
"name": "markup.underline.linkplain.asdoc"
},
"5": {
"name": "entity.other.linkplain-label.asdoc"
},
"6": {
"name": "punctuation.definition.directive.end.asdoc"
}
}
},
{
"name": "meta.directive.value.asdoc",
"match": "(\\{)((\\@)value)\\s*(\\S+?)?\\s*(\\})",
"captures": {
"1": {
"name": "punctuation.definition.directive.begin.asdoc"
},
"2": {
"name": "keyword.other.documentation.directive.value.asdoc"
},
"3": {
"name": "punctuation.definition.keyword.asdoc"
},
"4": {
"name": "entity.other.source-constant.asdoc"
},
"5": {
"name": "punctuation.definition.directive.end.asdoc"
}
}
}
]
},
"invalid": {
"patterns": [
{
"name": "invalid.illegal.missing-asterisk.asdoc",
"match": "^(?!\\s*\\*).*$\\n?"
}
]
},
"left-margin": {
"patterns": [
{
"name": "comment.block.documentation.left-margin.asdoc",
"match": "^\\s*(?=\\*)"
}
]
}
}
}