1356 lines
31 KiB
Text
1356 lines
31 KiB
Text
<?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>
|
|
<string>groovy</string>
|
|
<string>gvy</string>
|
|
</array>
|
|
<key>foldingStartMarker</key>
|
|
<string>(\{\s*$|^\s*// \{\{\{)</string>
|
|
<key>foldingStopMarker</key>
|
|
<string>^\s*(\}|// \}\}\}$)</string>
|
|
<key>keyEquivalent</key>
|
|
<string>^~G</string>
|
|
<key>name</key>
|
|
<string>Groovy</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.comment.groovy</string>
|
|
</dict>
|
|
</dict>
|
|
<key>match</key>
|
|
<string>^(#!).+$\n</string>
|
|
<key>name</key>
|
|
<string>comment.line.hashbang.groovy</string>
|
|
</dict>
|
|
<dict>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>keyword.other.package.groovy</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>storage.type.package.groovy</string>
|
|
</dict>
|
|
</dict>
|
|
<key>match</key>
|
|
<string>^\s*(package)\s+([^ ;]+)</string>
|
|
<key>name</key>
|
|
<string>meta.package.groovy</string>
|
|
</dict>
|
|
<dict>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>keyword.other.import.groovy</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>storage.type.import.groovy</string>
|
|
</dict>
|
|
</dict>
|
|
<key>match</key>
|
|
<string>^\s*(import)\s+([^ ;$]+);?</string>
|
|
<key>name</key>
|
|
<string>meta.import.groovy</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#groovy</string>
|
|
</dict>
|
|
</array>
|
|
<key>repository</key>
|
|
<dict>
|
|
<key>class-object</key>
|
|
<dict>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>(?x)
|
|
\b(
|
|
(?:[a-z]\w*\.)* # Optional package specification
|
|
[A-Z]\w+\b # Class name
|
|
(?:<(?:[\w, ]*)>)? # Optional Generics
|
|
(?:\[\s*\])* # Optional brackets (array)
|
|
)\b
|
|
</string>
|
|
<key>name</key>
|
|
<string>storage.type.class.groovy</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>classes</key>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>(?x)^\s*
|
|
(?:(?:\b(?:(public|private|protected)|(static)|(final)|(native|synchronized|abstract|threadsafe|transient))\b\s*)*) # modifier
|
|
(class)\s+
|
|
(\w+)\s* # identifier</string>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>storage.modifier.access-control.groovy</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>storage.modifier.static.groovy</string>
|
|
</dict>
|
|
<key>3</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>storage.modifier.final.groovy</string>
|
|
</dict>
|
|
<key>4</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>storage.modifier.other.groovy</string>
|
|
</dict>
|
|
<key>5</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>storage.type.class.groovy</string>
|
|
</dict>
|
|
<key>6</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>entity.name.type.class.groovy</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>$</string>
|
|
<key>name</key>
|
|
<string>meta.definition.class.groovy</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>storage.modifier.extends.groovy</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>entity.other.inherited-class.groovy</string>
|
|
</dict>
|
|
</dict>
|
|
<key>match</key>
|
|
<string>(extends)\s+([a-zA-Z0-9_\.]+(?:<(?:[a-zA-Z0-9_, ])+>)?)\s*</string>
|
|
<key>name</key>
|
|
<string>meta.definition.class.inherited.classes.groovy</string>
|
|
</dict>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>(implements)\s</string>
|
|
<key>beginCaptures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>storage.modifier.implements.groovy</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>(?=\s*extends|$|\{)</string>
|
|
<key>name</key>
|
|
<string>meta.definition.class.implemented.interfaces.groovy</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>entity.other.inherited-class.interface.groovy</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.implemented.interfaces.separator.groovy</string>
|
|
</dict>
|
|
</dict>
|
|
<key>match</key>
|
|
<string>((?:[a-z]\w*.)*[A-Z]\w*)\s*(?:(,)|$|\{)</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>comment-block</key>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>/\*</string>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>0</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.comment.groovy</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>\*/</string>
|
|
<key>name</key>
|
|
<string>comment.block.groovy</string>
|
|
</dict>
|
|
<key>comments</key>
|
|
<dict>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>0</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.comment.groovy</string>
|
|
</dict>
|
|
</dict>
|
|
<key>match</key>
|
|
<string>/\*\*/</string>
|
|
<key>name</key>
|
|
<string>comment.block.empty.groovy</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>text.html.javadoc</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#comment-block</string>
|
|
</dict>
|
|
<dict>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.comment.groovy</string>
|
|
</dict>
|
|
</dict>
|
|
<key>match</key>
|
|
<string>(//).*$\n?</string>
|
|
<key>name</key>
|
|
<string>comment.line.double-slash.groovy</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>constants</key>
|
|
<dict>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\b([A-Z][A-Z0-9_]+)\b</string>
|
|
<key>name</key>
|
|
<string>constant.other.groovy</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\b(true|false|null)\b</string>
|
|
<key>name</key>
|
|
<string>constant.language.groovy</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>groovy</key>
|
|
<dict>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#classes</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#methods</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#groovy-code</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>groovy-code</key>
|
|
<dict>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#groovy-code-minus-map-keys</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#map-keys</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>groovy-code-minus-map-keys</key>
|
|
<dict>
|
|
<key>comment</key>
|
|
<string>In some situations, maps can't be declared without enclosing []'s,
|
|
therefore we create a collection of everything but that</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#comments</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#support-functions</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#keyword-language</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#values</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#keyword-operator</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#storage-types</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#storage-modifiers</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>keyword</key>
|
|
<dict>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#keyword-operator</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#keyword-language</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>keyword-language</key>
|
|
<dict>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\b(try|catch|finally|throw)\b</string>
|
|
<key>name</key>
|
|
<string>keyword.control.exception.groovy</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\b(return|break|continue|default|do|while|for|switch|if|else)\b</string>
|
|
<key>name</key>
|
|
<string>keyword.control.groovy</string>
|
|
</dict>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>\bcase\b</string>
|
|
<key>beginCaptures</key>
|
|
<dict>
|
|
<key>0</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>keyword.control.groovy</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>:</string>
|
|
<key>endCaptures</key>
|
|
<dict>
|
|
<key>0</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.case-terminator.groovy</string>
|
|
</dict>
|
|
</dict>
|
|
<key>name</key>
|
|
<string>meta.case.groovy</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#groovy-code-minus-map-keys</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\b(new)\b</string>
|
|
<key>name</key>
|
|
<string>keyword.other.new.groovy</string>
|
|
</dict>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>\b(assert)\s</string>
|
|
<key>beginCaptures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>keyword.control.assert.groovy</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>$</string>
|
|
<key>name</key>
|
|
<string>meta.declaration.assertion.groovy</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>:</string>
|
|
<key>name</key>
|
|
<string>keyword.operator.assert.expression-seperator.groovy</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#groovy-code-minus-map-keys</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\b(throws)\b</string>
|
|
<key>name</key>
|
|
<string>keyword.other.throws.groovy</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>keyword-operator</key>
|
|
<dict>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\b(as)\b</string>
|
|
<key>name</key>
|
|
<string>keyword.operator.as.groovy</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\b(is)\b</string>
|
|
<key>name</key>
|
|
<string>keyword.operator.is.groovy</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\?\:</string>
|
|
<key>name</key>
|
|
<string>keyword.operator.elvis.groovy</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\.\.</string>
|
|
<key>name</key>
|
|
<string>keyword.operator.range.groovy</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\-></string>
|
|
<key>name</key>
|
|
<string>keyword.operator.arrow.groovy</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string><<</string>
|
|
<key>name</key>
|
|
<string>keyword.operator.leftshift.groovy</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>(?<=\S)\.(?=\S)</string>
|
|
<key>name</key>
|
|
<string>keyword.operator.navigation.groovy</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>(?<=\S)\?\.(?=\S)</string>
|
|
<key>name</key>
|
|
<string>keyword.operator.safe-navigation.groovy</string>
|
|
</dict>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>\?</string>
|
|
<key>beginCaptures</key>
|
|
<dict>
|
|
<key>0</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>keyword.operator.ternary.groovy</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>$</string>
|
|
<key>name</key>
|
|
<string>meta.evaluation.ternary.groovy</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>:</string>
|
|
<key>name</key>
|
|
<string>keyword.operator.ternary.expression-seperator.groovy</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#groovy-code-minus-map-keys</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>==~</string>
|
|
<key>name</key>
|
|
<string>keyword.operator.match.groovy</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>=~</string>
|
|
<key>name</key>
|
|
<string>keyword.operator.find.groovy</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\b(instanceof)\b</string>
|
|
<key>name</key>
|
|
<string>keyword.operator.instanceof.groovy</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>(===|==|!=|<=|>=|<=>|<>|<|>|<<)</string>
|
|
<key>name</key>
|
|
<string>keyword.operator.comparison.groovy</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>=</string>
|
|
<key>name</key>
|
|
<string>keyword.operator.assignment.groovy</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>(\-\-|\+\+)</string>
|
|
<key>name</key>
|
|
<string>keyword.operator.increment-decrement.groovy</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>(\-|\+|\*|\/|%)</string>
|
|
<key>name</key>
|
|
<string>keyword.operator.arithmetic.groovy</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>(!|&&|\|\|)</string>
|
|
<key>name</key>
|
|
<string>keyword.operator.logical.groovy</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>map-keys</key>
|
|
<dict>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>constant.other.key.groovy</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.seperator.key-value.groovy</string>
|
|
</dict>
|
|
</dict>
|
|
<key>match</key>
|
|
<string>(\w+)\s*(:)</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>method-call</key>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>(\w+)(\()</string>
|
|
<key>beginCaptures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>meta.method.groovy</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.method-parameters.begin.groovy</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>\)</string>
|
|
<key>endCaptures</key>
|
|
<dict>
|
|
<key>0</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.method-parameters.end.groovy</string>
|
|
</dict>
|
|
</dict>
|
|
<key>name</key>
|
|
<string>meta.method-call.groovy</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>,</string>
|
|
<key>name</key>
|
|
<string>punctuation.definition.seperator.parameter.groovy</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#groovy-code</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>method-declaration-remainder</key>
|
|
<dict>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>\(</string>
|
|
<key>beginCaptures</key>
|
|
<dict>
|
|
<key>0</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.parameters.begin.groovy</string>
|
|
</dict>
|
|
</dict>
|
|
<key>contentName</key>
|
|
<string>meta.definition.method.parameters.groovy</string>
|
|
<key>end</key>
|
|
<string>\)</string>
|
|
<key>endCaptures</key>
|
|
<dict>
|
|
<key>0</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.parameters.end.groovy</string>
|
|
</dict>
|
|
</dict>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>storage.type.parameter.groovy</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>variable.parameter.groovy</string>
|
|
</dict>
|
|
</dict>
|
|
<key>match</key>
|
|
<string>(?x)\s*
|
|
(
|
|
(?:boolean|byte|char|short|int|float|long|double|(?:\w+\.)*[A-Z]\w*\b(?:<(?:[\w, ]*)>)?(?:\[\s*\])*)
|
|
)?
|
|
\s*
|
|
([a-z_][A-Za-z0-9_]*) # variable
|
|
</string>
|
|
<key>name</key>
|
|
<string>meta.definition.method.parameter.groovy</string>
|
|
</dict>
|
|
<dict>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>storage.type.parameter.groovy</string>
|
|
</dict>
|
|
</dict>
|
|
<key>match</key>
|
|
<string>(boolean|byte|char|short|int|float|long|double|(?:\w+\.)*[A-Z]\w*\b(?:<(?:[\w, ]*)>)?(?:\[\s*\])*)</string>
|
|
<key>name</key>
|
|
<string>meta.definition.method.parameter.groovy</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>,</string>
|
|
<key>name</key>
|
|
<string>punctuation.definition.parameters.seperator.groovy</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#comment-block</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>(?<=\))\s*(throws)\s</string>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>storage.modifier.throws.groovy</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>(?=$|\{)</string>
|
|
<key>name</key>
|
|
<string>meta.definition.method.throwables.groovy</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>storage.type.throwable.groovy</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.throwables.seperator.groovy</string>
|
|
</dict>
|
|
</dict>
|
|
<key>match</key>
|
|
<string>((?:[a-z]\w*.)*[A-Z]\w*)\s*(?:(,)|$|\{)</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>methods</key>
|
|
<dict>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>(?x)^\s*
|
|
(?: # zero or more modifiers
|
|
(?:
|
|
(public|private|protected)|(final)|(native|synchronized|abstract|threadsafe|transient)
|
|
)
|
|
\s+
|
|
)?
|
|
\s*
|
|
([A-Z](?:[a-zA-Z0-9_])+) # constructor/class name
|
|
\s*
|
|
(?=\()
|
|
</string>
|
|
<key>beginCaptures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>storage.modifier.access-control.groovy</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>storage.modifier.final.groovy</string>
|
|
</dict>
|
|
<key>3</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>storage.modifier.other.groovy</string>
|
|
</dict>
|
|
<key>4</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>entity.name.function.constructor.groovy</string>
|
|
</dict>
|
|
<key>5</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.parameters.begin.groovy</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>{|$\n?</string>
|
|
<key>name</key>
|
|
<string>meta.definition.constructor.groovy</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#method-declaration-remainder</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>(?x)^\s*
|
|
(?:
|
|
(?: # or modifier and optional type
|
|
(?:(?:\b(public|private|protected)|(static)|(final)|(native|synchronized|abstract|threadsafe|transient))\b\s+)+\s* # modifier
|
|
(?:\b
|
|
(void)
|
|
|
|
|
(boolean|byte|char|short|int|float|long|double) # primitive
|
|
|
|
|
( # or class type
|
|
(?:\w+\.)*[A-Z]\w+\b # Class name
|
|
(?:<(?:[\w, ]*)>)? # optional Generic type
|
|
(?:\[\s*\])* # zero or more square brackets (array)
|
|
)
|
|
)?
|
|
)
|
|
|
|
|
(?:\b # or type by itself
|
|
(def)
|
|
|
|
|
(void)
|
|
|
|
|
(boolean|byte|char|short|int|float|long|double) # primitive
|
|
|
|
|
( # or class type
|
|
(?:\w+\.)*[A-Z]\w+\b # Class name
|
|
(?:<(?:[\w, ]*)>)? # optional generics info
|
|
(?:\[\s*\])* # zero or more square brackets (array)
|
|
)
|
|
)
|
|
)
|
|
\s*
|
|
(\w+) # method name
|
|
\s*
|
|
(?=\() # opening parens
|
|
</string>
|
|
<key>beginCaptures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>storage.modifier.access-control.groovy</string>
|
|
</dict>
|
|
<key>10</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>storage.type.return-type.primitive.groovy</string>
|
|
</dict>
|
|
<key>11</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>storage.type.return-type.class.groovy</string>
|
|
</dict>
|
|
<key>12</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>entity.name.function.groovy</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>storage.modifier.static.groovy</string>
|
|
</dict>
|
|
<key>3</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>storage.modifier.final.groovy</string>
|
|
</dict>
|
|
<key>4</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>storage.modifier.other.groovy</string>
|
|
</dict>
|
|
<key>5</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>storage.type.return-type.void.groovy</string>
|
|
</dict>
|
|
<key>6</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>storage.type.return-type.primitive.groovy</string>
|
|
</dict>
|
|
<key>7</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>storage.type.return-type.class.groovy</string>
|
|
</dict>
|
|
<key>8</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>storage.type.return-type.def.groovy</string>
|
|
</dict>
|
|
<key>9</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>storage.type.return-type.void.groovy</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>{|$\n?</string>
|
|
<key>name</key>
|
|
<string>meta.definition.method.groovy</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#method-declaration-remainder</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>nest_curly</key>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>\{</string>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>0</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.section.scope.groovy</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>\}</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#nest_curly</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>numbers</key>
|
|
<dict>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>((0(x|X)[0-9a-fA-F]*)|(\+|-)?\b(([0-9]+\.?[0-9]*)|(\.[0-9]+))((e|E)(\+|-)?[0-9]+)?)([LlFfUuDd]|UL|ul)?\b</string>
|
|
<key>name</key>
|
|
<string>constant.numeric.groovy</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>regexp</key>
|
|
<dict>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>/(?=[^/]+/)</string>
|
|
<key>beginCaptures</key>
|
|
<dict>
|
|
<key>0</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.string.regexp.begin.groovy</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>/</string>
|
|
<key>endCaptures</key>
|
|
<dict>
|
|
<key>0</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.string.regexp.end.groovy</string>
|
|
</dict>
|
|
</dict>
|
|
<key>name</key>
|
|
<string>string.regexp.groovy</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\\.</string>
|
|
<key>name</key>
|
|
<string>constant.character.escape.groovy</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>storage-modifiers</key>
|
|
<dict>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\b(private|protected|public)\b</string>
|
|
<key>name</key>
|
|
<string>storage.modifier.access-control.groovy</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\b(static)\b</string>
|
|
<key>name</key>
|
|
<string>storage.modifier.static.groovy</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\b(final)\b</string>
|
|
<key>name</key>
|
|
<string>storage.modifier.final.groovy</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\b(native|synchronized|abstract|threadsafe|transient)\b</string>
|
|
<key>name</key>
|
|
<string>storage.modifier.other.groovy</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>storage-types</key>
|
|
<dict>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>(@[^ (]+)(\()</string>
|
|
<key>beginCaptures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>storage.type.annotation.groovy</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.annotation-arguments.begin.groovy</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>(\))</string>
|
|
<key>endCaptures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.annotation-arguments.end.groovy</string>
|
|
</dict>
|
|
</dict>
|
|
<key>name</key>
|
|
<string>meta.declaration.annotation.groovy</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>constant.other.key.groovy</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>keyword.operator.assignment.groovy</string>
|
|
</dict>
|
|
</dict>
|
|
<key>match</key>
|
|
<string>(\w*)\s*(=)</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#values</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>,</string>
|
|
<key>name</key>
|
|
<string>punctuation.definition.seperator.groovy</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>@\S+</string>
|
|
<key>name</key>
|
|
<string>storage.type.annotation.groovy</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\b(def)\b</string>
|
|
<key>name</key>
|
|
<string>storage.type.def.groovy</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\b(boolean|byte|char|short|int|float|long|double)(?:\[\s*\])*\b</string>
|
|
<key>name</key>
|
|
<string>storage.type.primitive.groovy</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>string-quoted-double</key>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>"</string>
|
|
<key>beginCaptures</key>
|
|
<dict>
|
|
<key>0</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.string.begin.groovy</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>"</string>
|
|
<key>endCaptures</key>
|
|
<dict>
|
|
<key>0</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.string.end.groovy</string>
|
|
</dict>
|
|
</dict>
|
|
<key>name</key>
|
|
<string>string.quoted.double.groovy</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\\.</string>
|
|
<key>name</key>
|
|
<string>constant.character.escape.groovy</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\$\w+</string>
|
|
<key>name</key>
|
|
<string>variable.other.interpolated.groovy</string>
|
|
</dict>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>\$\{</string>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>0</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.section.embedded.groovy</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>\}</string>
|
|
<key>name</key>
|
|
<string>source.groovy.embedded.source</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#nest_curly</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>string-quoted-single</key>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>'</string>
|
|
<key>beginCaptures</key>
|
|
<dict>
|
|
<key>0</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.string.begin.groovy</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>'</string>
|
|
<key>endCaptures</key>
|
|
<dict>
|
|
<key>0</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.string.end.groovy</string>
|
|
</dict>
|
|
</dict>
|
|
<key>name</key>
|
|
<string>string.quoted.single.groovy</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\\.</string>
|
|
<key>name</key>
|
|
<string>constant.character.escape.groovy</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>strings</key>
|
|
<dict>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#string-quoted-double</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#string-quoted-single</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#regexp</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>structures</key>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>\[</string>
|
|
<key>beginCaptures</key>
|
|
<dict>
|
|
<key>0</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.structure.begin.groovy</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>\]</string>
|
|
<key>endCaptures</key>
|
|
<dict>
|
|
<key>0</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.structure.end.groovy</string>
|
|
</dict>
|
|
</dict>
|
|
<key>name</key>
|
|
<string>meta.structure.groovy</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#groovy-code</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>,</string>
|
|
<key>name</key>
|
|
<string>punctuation.definition.separator.groovy</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>support-functions</key>
|
|
<dict>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>(?x)\b(?:sprintf|print(?:f|ln)?)\b</string>
|
|
<key>name</key>
|
|
<string>support.function.print.groovy</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>(?x)\b(?:shouldFail|fail(?:NotEquals)?|ass(?:ume|ert(?:S(?:cript|ame)|N(?:ot(?:Same|
|
|
Null)|ull)|Contains|T(?:hat|oString|rue)|Inspect|Equals|False|Length|
|
|
ArrayEquals)))\b</string>
|
|
<key>name</key>
|
|
<string>support.function.testing.groovy</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>(?x)\b(?:sleep|inspect|dump|use|with)\b</string>
|
|
<key>name</key>
|
|
<string>support.function.other.groovy</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>values</key>
|
|
<dict>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#variables</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#strings</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#numbers</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#constants</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#class-object</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#structures</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#method-call</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>variables</key>
|
|
<dict>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\b(this|super)\b</string>
|
|
<key>name</key>
|
|
<string>variable.language.groovy</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
</dict>
|
|
<key>scopeName</key>
|
|
<string>source.groovy</string>
|
|
<key>uuid</key>
|
|
<string>B3A64888-EBBB-4436-8D9E-F1169C5D7613</string>
|
|
</dict>
|
|
</plist>
|