{
"name": "JavaDoc",
"scopeName": "text.html.javadoc",
"patterns": [
{
"name": "comment.block.documentation.javadoc",
"contentName": "text.html",
"begin": "(/\\*\\*)\\s*$",
"end": "\\*/",
"patterns": [
{
"include": "#inline"
},
{
"name": "meta.documentation.tag.param.javadoc",
"begin": "((\\@)param)",
"end": "(?=^\\s*\\*?\\s*@|\\*/)",
"patterns": [
{
"include": "#inline"
}
],
"beginCaptures": {
"1": {
"name": "keyword.other.documentation.param.javadoc"
},
"2": {
"name": "punctuation.definition.keyword.javadoc"
}
}
},
{
"name": "meta.documentation.tag.return.javadoc",
"begin": "((\\@)return)",
"end": "(?=^\\s*\\*?\\s*@|\\*/)",
"patterns": [
{
"include": "#inline"
}
],
"beginCaptures": {
"1": {
"name": "keyword.other.documentation.return.javadoc"
},
"2": {
"name": "punctuation.definition.keyword.javadoc"
}
}
},
{
"name": "meta.documentation.tag.throws.javadoc",
"begin": "((\\@)throws)",
"end": "(?=^\\s*\\*?\\s*@|\\*/)",
"patterns": [
{
"include": "#inline"
}
],
"beginCaptures": {
"1": {
"name": "keyword.other.documentation.throws.javadoc"
},
"2": {
"name": "punctuation.definition.keyword.javadoc"
}
}
},
{
"name": "meta.documentation.tag.exception.javadoc",
"begin": "((\\@)exception)",
"end": "(?=^\\s*\\*?\\s*@|\\*/)",
"patterns": [
{
"include": "#inline"
}
],
"beginCaptures": {
"1": {
"name": "keyword.other.documentation.exception.javadoc"
},
"2": {
"name": "punctuation.definition.keyword.javadoc"
}
}
},
{
"name": "meta.documentation.tag.author.javadoc",
"begin": "((\\@)author)",
"end": "(?=^\\s*\\*?\\s*@|\\*/)",
"patterns": [
{
"include": "#inline"
}
],
"beginCaptures": {
"1": {
"name": "keyword.other.documentation.author.javadoc"
},
"2": {
"name": "punctuation.definition.keyword.javadoc"
}
}
},
{
"name": "meta.documentation.tag.version.javadoc",
"begin": "((\\@)version)",
"end": "(?=^\\s*\\*?\\s*@|\\*/)",
"patterns": [
{
"include": "#inline"
}
],
"beginCaptures": {
"1": {
"name": "keyword.other.documentation.version.javadoc"
},
"2": {
"name": "punctuation.definition.keyword.javadoc"
}
}
},
{
"name": "meta.documentation.tag.see.javadoc",
"begin": "((\\@)see)",
"end": "(?=^\\s*\\*?\\s*@|\\*/)",
"patterns": [
{
"include": "#inline"
}
],
"beginCaptures": {
"1": {
"name": "keyword.other.documentation.see.javadoc"
},
"2": {
"name": "punctuation.definition.keyword.javadoc"
}
}
},
{
"name": "meta.documentation.tag.since.javadoc",
"begin": "((\\@)since)",
"end": "(?=^\\s*\\*?\\s*@|\\*/)",
"patterns": [
{
"include": "#inline"
}
],
"beginCaptures": {
"1": {
"name": "keyword.other.documentation.since.javadoc"
},
"2": {
"name": "punctuation.definition.keyword.javadoc"
}
}
},
{
"name": "meta.documentation.tag.serial.javadoc",
"begin": "((\\@)serial)",
"end": "(?=^\\s*\\*?\\s*@|\\*/)",
"patterns": [
{
"include": "#inline"
}
],
"beginCaptures": {
"1": {
"name": "keyword.other.documentation.serial.javadoc"
},
"2": {
"name": "punctuation.definition.keyword.javadoc"
}
}
},
{
"name": "meta.documentation.tag.serialField.javadoc",
"begin": "((\\@)serialField)",
"end": "(?=^\\s*\\*?\\s*@|\\*/)",
"patterns": [
{
"include": "#inline"
}
],
"beginCaptures": {
"1": {
"name": "keyword.other.documentation.serialField.javadoc"
},
"2": {
"name": "punctuation.definition.keyword.javadoc"
}
}
},
{
"name": "meta.documentation.tag.serialData.javadoc",
"begin": "((\\@)serialData)",
"end": "(?=^\\s*\\*?\\s*@|\\*/)",
"patterns": [
{
"include": "#inline"
}
],
"beginCaptures": {
"1": {
"name": "keyword.other.documentation.serialData.javadoc"
},
"2": {
"name": "punctuation.definition.keyword.javadoc"
}
}
},
{
"name": "meta.documentation.tag.deprecated.javadoc",
"begin": "((\\@)deprecated)",
"end": "(?=^\\s*\\*?\\s*@|\\*/)",
"patterns": [
{
"include": "#inline"
}
],
"beginCaptures": {
"1": {
"name": "keyword.other.documentation.deprecated.javadoc"
},
"2": {
"name": "punctuation.definition.keyword.javadoc"
}
}
},
{
"match": "((\\@)\\S+)\\s",
"captures": {
"1": {
"name": "keyword.other.documentation.custom.javadoc"
},
"2": {
"name": "punctuation.definition.keyword.javadoc"
}
}
}
],
"beginCaptures": {
"1": {
"name": "punctuation.definition.comment.begin.javadoc"
}
},
"endCaptures": {
"0": {
"name": "punctuation.definition.comment.end.javadoc"
}
}
}
],
"repository": {
"inline": {
"patterns": [
{
"include": "#inline-formatting"
},
{
"match": "\u003c(?!(a|abbr|acronym|address|area|b|bdo|big|blockquote|br|caption|cite|code|colgroup|dd|del|div|dfn|dl|dt|em|fieldset|font|h1toh6|hr|i|img|ins|kbd|li|ol|p|pre|q|samp|small|span|strong|sub|sup|table|tbody|td|tfoot|th|thread|tr|tt|u|ul)\\b[^\u003e]*\u003e)"
},
{
"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.tag.template.code.javadoc",
"contentName": "markup.raw.code.javadoc",
"begin": "(\\{)((\\@)code)",
"end": "\\}",
"beginCaptures": {
"1": {
"name": "punctuation.definition.tag.begin.javadoc"
},
"2": {
"name": "keyword.other.documentation.directive.code.javadoc"
},
"3": {
"name": "punctuation.definition.keyword.javadoc"
}
},
"endCaptures": {
"0": {
"name": "punctuation.definition.tag.end.javadoc"
}
}
},
{
"name": "meta.tag.template.literal.javadoc",
"contentName": "markup.raw.literal.javadoc",
"begin": "(\\{)((\\@)literal)",
"end": "\\}",
"beginCaptures": {
"1": {
"name": "punctuation.definition.tag.begin.javadoc"
},
"2": {
"name": "keyword.other.documentation.directive.literal.javadoc"
},
"3": {
"name": "punctuation.definition.keyword.javadoc"
}
},
"endCaptures": {
"0": {
"name": "punctuation.definition.tag.end.javadoc"
}
}
},
{
"name": "meta.tag.template.docRoot.javadoc",
"match": "(\\{)((\\@)docRoot)(\\})",
"captures": {
"1": {
"name": "punctuation.definition.tag.begin.javadoc"
},
"2": {
"name": "keyword.other.documentation.directive.docRoot.javadoc"
},
"3": {
"name": "punctuation.definition.keyword.javadoc"
},
"4": {
"name": "punctuation.definition.tag.end.javadoc"
}
}
},
{
"name": "meta.tag.template.inheritDoc.javadoc",
"match": "(\\{)((\\@)inheritDoc)(\\})",
"captures": {
"1": {
"name": "punctuation.definition.tag.begin.javadoc"
},
"2": {
"name": "keyword.other.documentation.directive.inheritDoc.javadoc"
},
"3": {
"name": "punctuation.definition.keyword.javadoc"
},
"4": {
"name": "punctuation.definition.tag.end.javadoc"
}
}
},
{
"name": "meta.tag.template.link.javadoc",
"match": "(\\{)((\\@)link)(?:\\s+(\\S+?))?(?:\\s+(.+?))?\\s*(\\})",
"captures": {
"1": {
"name": "punctuation.definition.tag.begin.javadoc"
},
"2": {
"name": "keyword.other.documentation.directive.link.javadoc"
},
"3": {
"name": "punctuation.definition.keyword.javadoc"
},
"4": {
"name": "markup.underline.link.javadoc"
},
"5": {
"name": "string.other.link.title.javadoc"
},
"6": {
"name": "punctuation.definition.tag.end.javadoc"
}
}
},
{
"name": "meta.tag.template.linkplain.javadoc",
"match": "(\\{)((\\@)linkplain)(?:\\s+(\\S+?))?(?:\\s+(.+?))?\\s*(\\})",
"captures": {
"1": {
"name": "punctuation.definition.tag.begin.javadoc"
},
"2": {
"name": "keyword.other.documentation.directive.linkplain.javadoc"
},
"3": {
"name": "punctuation.definition.keyword.javadoc"
},
"4": {
"name": "markup.underline.linkplain.javadoc"
},
"5": {
"name": "string.other.link.title.javadoc"
},
"6": {
"name": "punctuation.definition.tag.end.javadoc"
}
}
},
{
"name": "meta.tag.template.value.javadoc",
"match": "(\\{)((\\@)value)\\s*(\\S+?)?\\s*(\\})",
"captures": {
"1": {
"name": "punctuation.definition.tag.begin.javadoc"
},
"2": {
"name": "keyword.other.documentation.directive.value.javadoc"
},
"3": {
"name": "punctuation.definition.keyword.javadoc"
},
"4": {
"name": "variable.other.javadoc"
},
"5": {
"name": "punctuation.definition.tag.end.javadoc"
}
}
}
]
}
}
}