Skip to content

Instantly share code, notes, and snippets.

@falcondai
Created August 20, 2013 16:00
Show Gist options
  • Save falcondai/6283441 to your computer and use it in GitHub Desktop.
Save falcondai/6283441 to your computer and use it in GitHub Desktop.
Fix to Sublime Text 2's JavaDoc parsing
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>fileTypes</key>
<array/>
<key>foldingStartMarker</key>
<string>/\*\*</string>
<key>foldingStopMarker</key>
<string>\*\*/</string>
<key>name</key>
<string>JavaDoc</string>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>(/\*\*)\s*$</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.comment.begin.javadoc</string>
</dict>
</dict>
<key>end</key>
<string>\*/</string>
<key>endCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.comment.javadoc</string>
</dict>
</dict>
<key>name</key>
<string>comment.block.documentation.javadoc</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#invalid</string>
</dict>
<dict>
<key>begin</key>
<string>\*\s*(?=\w|&lt;)</string>
<key>contentName</key>
<string>text.html</string>
<key>end</key>
<string>(?=\s*\*\s*@)|(?=\s*\*\s*/)</string>
<key>name</key>
<string>meta.documentation.comment.javadoc</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#inline</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>\*\s*((\@)param)</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.other.documentation.param.javadoc</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>punctuation.definition.keyword.javadoc</string>
</dict>
</dict>
<key>contentName</key>
<string>text.html</string>
<key>end</key>
<string>(?=\s*\*\s*@)|(?=\s*\*\s*/)</string>
<key>name</key>
<string>meta.documentation.tag.param.javadoc</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#inline</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>\*\s*((\@)return)</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.other.documentation.return.javadoc</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>punctuation.definition.keyword.javadoc</string>
</dict>
</dict>
<key>contentName</key>
<string>text.html</string>
<key>end</key>
<string>(?=\s*\*\s*@)|(?=\s*\*\s*/)</string>
<key>name</key>
<string>meta.documentation.tag.return.javadoc</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#inline</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>\*\s*((\@)throws)</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.other.documentation.throws.javadoc</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>punctuation.definition.keyword.javadoc</string>
</dict>
</dict>
<key>contentName</key>
<string>text.html</string>
<key>end</key>
<string>(?=\s*\*\s*@)|(?=\s*\*\s*/)</string>
<key>name</key>
<string>meta.documentation.tag.throws.javadoc</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#inline</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>\*\s*((\@)exception)</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.other.documentation.exception.javadoc</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>punctuation.definition.keyword.javadoc</string>
</dict>
</dict>
<key>contentName</key>
<string>text.html</string>
<key>end</key>
<string>(?=\s*\*\s*@)|(?=\s*\*\s*/)</string>
<key>name</key>
<string>meta.documentation.tag.exception.javadoc</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#inline</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>\*\s*((\@)author)</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.other.documentation.author.javadoc</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>punctuation.definition.keyword.javadoc</string>
</dict>
</dict>
<key>contentName</key>
<string>text.html</string>
<key>end</key>
<string>(?=\s*\*\s*@)|(?=\s*\*\s*/)</string>
<key>name</key>
<string>meta.documentation.tag.author.javadoc</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#inline</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>\*\s*((\@)version)</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.other.documentation.version.javadoc</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>punctuation.definition.keyword.javadoc</string>
</dict>
</dict>
<key>contentName</key>
<string>text.html</string>
<key>end</key>
<string>(?=\s*\*\s*@)|(?=\s*\*\s*/)</string>
<key>name</key>
<string>meta.documentation.tag.version.javadoc</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#inline</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>\*\s*((\@)see)</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.other.documentation.see.javadoc</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>punctuation.definition.keyword.javadoc</string>
</dict>
</dict>
<key>contentName</key>
<string>text.html</string>
<key>end</key>
<string>(?=\s*\*\s*@)|(?=\s*\*\s*/)</string>
<key>name</key>
<string>meta.documentation.tag.see.javadoc</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#inline</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>\*\s*((\@)since)</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.other.documentation.since.javadoc</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>punctuation.definition.keyword.javadoc</string>
</dict>
</dict>
<key>contentName</key>
<string>text.html</string>
<key>end</key>
<string>(?=\s*\*\s*@)|(?=\s*\*\s*/)</string>
<key>name</key>
<string>meta.documentation.tag.since.javadoc</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#inline</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>\*\s*((\@)serial)</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.other.documentation.serial.javadoc</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>punctuation.definition.keyword.javadoc</string>
</dict>
</dict>
<key>contentName</key>
<string>text.html</string>
<key>end</key>
<string>(?=\s*\*\s*@)|(?=\s*\*\s*/)</string>
<key>name</key>
<string>meta.documentation.tag.serial.javadoc</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#inline</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>\*\s*((\@)serialField)</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.other.documentation.serialField.javadoc</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>punctuation.definition.keyword.javadoc</string>
</dict>
</dict>
<key>contentName</key>
<string>text.html</string>
<key>end</key>
<string>(?=\s*\*\s*@)|(?=\s*\*\s*/)</string>
<key>name</key>
<string>meta.documentation.tag.serialField.javadoc</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#inline</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>\*\s*((\@)serialData)</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.other.documentation.serialData.javadoc</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>punctuation.definition.keyword.javadoc</string>
</dict>
</dict>
<key>contentName</key>
<string>text.html</string>
<key>end</key>
<string>(?=\s*\*\s*@)|(?=\s*\*\s*/)</string>
<key>name</key>
<string>meta.documentation.tag.serialData.javadoc</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#inline</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>\*\s*((\@)deprecated)</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.other.documentation.deprecated.javadoc</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>punctuation.definition.keyword.javadoc</string>
</dict>
</dict>
<key>contentName</key>
<string>text.html</string>
<key>end</key>
<string>(?=\s*\*\s*@)|(?=\s*\*\s*/)</string>
<key>name</key>
<string>meta.documentation.tag.deprecated.javadoc</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#inline</string>
</dict>
</array>
</dict>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.other.documentation.custom.javadoc</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>punctuation.definition.keyword.javadoc</string>
</dict>
</dict>
<key>match</key>
<string>\*\s*((\@)\S+)\s</string>
</dict>
</array>
</dict>
</array>
<key>repository</key>
<dict>
<key>inline</key>
<dict>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#invalid</string>
</dict>
<dict>
<key>include</key>
<string>#inline-formatting</string>
</dict>
<dict>
<key>include</key>
<string>text.html.basic</string>
</dict>
<dict>
<key>match</key>
<string>((https?|s?ftp|ftps|file|smb|afp|nfs|(x-)?man|gopher|txmt)://|mailto:)[-:@a-zA-Z0-9_.~%+/?=&amp;#]+(?&lt;![.?:])</string>
<key>name</key>
<string>markup.underline.link</string>
</dict>
</array>
</dict>
<key>inline-formatting</key>
<dict>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>(\{)((\@)code)</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.directive.begin.javadoc</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>keyword.other.documentation.directive.code.javadoc</string>
</dict>
<key>3</key>
<dict>
<key>name</key>
<string>punctuation.definition.keyword.javadoc</string>
</dict>
</dict>
<key>contentName</key>
<string>markup.raw.code.javadoc</string>
<key>end</key>
<string>\}</string>
<key>endCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.directive.end.javadoc</string>
</dict>
</dict>
<key>name</key>
<string>meta.directive.code.javadoc</string>
<key>patterns</key>
<array/>
</dict>
<dict>
<key>begin</key>
<string>(\{)((\@)literal)</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.directive.begin.javadoc</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>keyword.other.documentation.directive.literal.javadoc</string>
</dict>
<key>3</key>
<dict>
<key>name</key>
<string>punctuation.definition.keyword.javadoc</string>
</dict>
</dict>
<key>contentName</key>
<string>markup.raw.literal.javadoc</string>
<key>end</key>
<string>\}</string>
<key>endCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.directive.end.javadoc</string>
</dict>
</dict>
<key>name</key>
<string>meta.directive.literal.javadoc</string>
<key>patterns</key>
<array/>
</dict>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.directive.begin.javadoc</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>keyword.other.documentation.directive.docRoot.javadoc</string>
</dict>
<key>3</key>
<dict>
<key>name</key>
<string>punctuation.definition.keyword.javadoc</string>
</dict>
<key>4</key>
<dict>
<key>name</key>
<string>punctuation.definition.directive.end.javadoc</string>
</dict>
</dict>
<key>match</key>
<string>(\{)((\@)docRoot)(\})</string>
<key>name</key>
<string>meta.directive.docRoot.javadoc</string>
</dict>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.directive.begin.javadoc</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>keyword.other.documentation.directive.inheritDoc.javadoc</string>
</dict>
<key>3</key>
<dict>
<key>name</key>
<string>punctuation.definition.keyword.javadoc</string>
</dict>
<key>4</key>
<dict>
<key>name</key>
<string>punctuation.definition.directive.end.javadoc</string>
</dict>
</dict>
<key>match</key>
<string>(\{)((\@)inheritDoc)(\})</string>
<key>name</key>
<string>meta.directive.inheritDoc.javadoc</string>
</dict>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.directive.begin.javadoc</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>keyword.other.documentation.directive.link.javadoc</string>
</dict>
<key>3</key>
<dict>
<key>name</key>
<string>punctuation.definition.keyword.javadoc</string>
</dict>
<key>4</key>
<dict>
<key>name</key>
<string>markup.underline.link.javadoc</string>
</dict>
<key>5</key>
<dict>
<key>name</key>
<string>string.other.link.title.javadoc</string>
</dict>
<key>6</key>
<dict>
<key>name</key>
<string>punctuation.definition.directive.end.javadoc</string>
</dict>
</dict>
<key>match</key>
<string>(\{)((\@)link)(?:\s+(\S+?))?(?:\s+(.+?))?\s*(\})</string>
<key>name</key>
<string>meta.directive.link.javadoc</string>
</dict>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.directive.begin.javadoc</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>keyword.other.documentation.directive.linkplain.javadoc</string>
</dict>
<key>3</key>
<dict>
<key>name</key>
<string>punctuation.definition.keyword.javadoc</string>
</dict>
<key>4</key>
<dict>
<key>name</key>
<string>markup.underline.linkplain.javadoc</string>
</dict>
<key>5</key>
<dict>
<key>name</key>
<string>string.other.link.title.javadoc</string>
</dict>
<key>6</key>
<dict>
<key>name</key>
<string>punctuation.definition.directive.end.javadoc</string>
</dict>
</dict>
<key>match</key>
<string>(\{)((\@)linkplain)(?:\s+(\S+?))?(?:\s+(.+?))?\s*(\})</string>
<key>name</key>
<string>meta.directive.linkplain.javadoc</string>
</dict>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.directive.begin.javadoc</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>keyword.other.documentation.directive.value.javadoc</string>
</dict>
<key>3</key>
<dict>
<key>name</key>
<string>punctuation.definition.keyword.javadoc</string>
</dict>
<key>4</key>
<dict>
<key>name</key>
<string>variable.other.javadoc</string>
</dict>
<key>5</key>
<dict>
<key>name</key>
<string>punctuation.definition.directive.end.javadoc</string>
</dict>
</dict>
<key>match</key>
<string>(\{)((\@)value)\s*(\S+?)?\s*(\})</string>
<key>name</key>
<string>meta.directive.value.javadoc</string>
</dict>
</array>
</dict>
<key>invalid</key>
<dict>
<key>patterns</key>
<array>
<dict>
<key>match</key>
<string>^(?!\s*\*).*$\n?</string>
<key>name</key>
<string>invalid.illegal.missing-asterisk.javadoc</string>
</dict>
</array>
</dict>
</dict>
<key>scopeName</key>
<string>text.html.javadoc</string>
<key>uuid</key>
<string>64BB98A4-59D4-474E-9091-C1E1D04BDD03</string>
</dict>
</plist>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment