Permalink
Find file
Fetching contributors…
Cannot retrieve contributors at this time
1101 lines (1100 sloc) 25.4 KB
<?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>monkey</string>
</array>
<key>foldingStartMarker</key>
<string>(?xi)
^\s*(
(?&lt;!end|end\s)(function|class|method|select|while) |
\#rem | for | repeat | '\#region
)\b</string>
<key>foldingStopMarker</key>
<string>(?xi)
^\s*(
# end &lt;keyword&gt;
end\s?(function|class|method|select|while) |
\#end | '\#end\s?region
)\b</string>
<key>keyEquivalent</key>
<string>^~M</string>
<key>name</key>
<string>Monkey</string>
<key>patterns</key>
<array>
<dict>
<key>match</key>
<string>;</string>
<key>name</key>
<string>punctuation.terminator.line.monkey</string>
</dict>
<dict>
<key>include</key>
<string>#mnky_comment_quote</string>
</dict>
<dict>
<key>include</key>
<string>#mnky_comment_block</string>
</dict>
<dict>
<key>include</key>
<string>#mnky_global_variable</string>
</dict>
<dict>
<key>include</key>
<string>#mnky_local_variable</string>
</dict>
<dict>
<key>include</key>
<string>#mnky_constant</string>
</dict>
<dict>
<key>include</key>
<string>#mnky_attributes</string>
</dict>
<dict>
<key>include</key>
<string>#mnky_commands</string>
</dict>
<dict>
<key>include</key>
<string>#mnky_function</string>
</dict>
<dict>
<key>include</key>
<string>#mnky_method</string>
</dict>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.other.import.monkey</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>string.unquoted.module.monkey</string>
</dict>
</dict>
<key>match</key>
<string>(?i)\b(import)\s+((?:[a-zA-Z_]\w*\.?)+)</string>
<key>name</key>
<string>import.module.monkey</string>
</dict>
<dict>
<key>begin</key>
<string>(?i)\b(import)\s+(("))</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.other.import.monkey</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.begin.monkey</string>
</dict>
<key>3</key>
<dict>
<key>name</key>
<string>string.quoted.double.monkey</string>
</dict>
</dict>
<key>contentName</key>
<string>string.quoted.double.monkey</string>
<key>end</key>
<string>(")</string>
<key>endCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.end.monkey</string>
</dict>
<key>1</key>
<dict>
<key>name</key>
<string>string.quoted.double.monkey</string>
</dict>
</dict>
<key>name</key>
<string>import.file.monkey</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#mnky_string_content</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>(?i)\b(class)\s+([a-zA-Z_]\w*)(?:\s+(extends)\s+([a-zA-Z_]\w*))?(?:\s+(final|abstract))?</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>storage.type.class.monkey</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>entity.name.type.monkey</string>
</dict>
<key>3</key>
<dict>
<key>name</key>
<string>storage.modifier.extends.monkey</string>
</dict>
<key>4</key>
<dict>
<key>name</key>
<string>entity.other.inherited-class.monkey</string>
</dict>
<key>5</key>
<dict>
<key>name</key>
<string>storage.modifier.class.monkey</string>
</dict>
</dict>
<key>end</key>
<string>(?i)\b(end(\s?class)?)\b</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>storage.type.class.monkey</string>
</dict>
</dict>
<key>name</key>
<string>type.monkey</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#mnky_comment_quote</string>
</dict>
<dict>
<key>include</key>
<string>#mnky_comment_block</string>
</dict>
<dict>
<key>include</key>
<string>#mnky_constants</string>
</dict>
<dict>
<key>include</key>
<string>#mnky_string_quoted</string>
</dict>
<dict>
<key>include</key>
<string>#mnky_attributes</string>
</dict>
<dict>
<key>include</key>
<string>#mnky_null</string>
</dict>
<dict>
<key>include</key>
<string>#mnky_types</string>
</dict>
<dict>
<key>include</key>
<string>#mnky_typename</string>
</dict>
<dict>
<key>include</key>
<string>#mnky_global_variable</string>
</dict>
<dict>
<key>include</key>
<string>#mnky_local_variable</string>
</dict>
<dict>
<key>include</key>
<string>#mnky_constant</string>
</dict>
<dict>
<key>include</key>
<string>#mnky_function</string>
</dict>
<dict>
<key>include</key>
<string>#mnky_method</string>
</dict>
<dict>
<key>include</key>
<string>#mnky_field</string>
</dict>
<dict>
<key>include</key>
<string>#mnky_constructor</string>
</dict>
</array>
</dict>
<dict>
<key>match</key>
<string>\s*\b(c(ase|ontinue)|do|e(lse(\s?if)?|nd(class|for(each)?|function|if|method|select|while)|xit)|for(\s?each)?|if|return|select|then|wend|while)\b</string>
<key>name</key>
<string>control.keywords.monkey</string>
</dict>
<dict>
<key>include</key>
<string>#mnky_control_keywords</string>
</dict>
<dict>
<key>begin</key>
<string>(?i)\b(while)\b</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.control.while.monkey</string>
</dict>
</dict>
<key>end</key>
<string>(?i)\b(end(\s?while)?|wend)\b</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.control.while.end.monkey</string>
</dict>
</dict>
<key>name</key>
<string>control.while.monkey</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>$self</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>(?i)\b(if|then|else|else(\s?if)?)\b</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.control.if.monkey</string>
</dict>
</dict>
<key>end</key>
<string>(?i)\b(end(\s?if)?)\b</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.control.if.end.monkey</string>
</dict>
</dict>
<key>name</key>
<string>control.if.monkey</string>
<key>patterns</key>
<array>
<dict>
<key>match</key>
<string>(?i)\b(then)\b</string>
<key>name</key>
<string>keyword.control.then.monkey</string>
</dict>
<dict>
<key>match</key>
<string>(?i)\b(else(\s?if)?)\b</string>
<key>name</key>
<string>keyword.control.else-if.monkey</string>
</dict>
<dict>
<key>match</key>
<string>(?i)\b(else)\b</string>
<key>name</key>
<string>keyword.control.else.monkey</string>
</dict>
<dict>
<key>include</key>
<string>$self</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>(?i)\b(if)\b</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.control.if.monkey</string>
</dict>
</dict>
<key>end</key>
<string>$</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.control.if.end.monkey</string>
</dict>
</dict>
<key>name</key>
<string>control.if-then.monkey</string>
<key>patterns</key>
<array>
<dict>
<key>match</key>
<string>(?i)\b(then)\b</string>
<key>name</key>
<string>keyword.control.then.monkey</string>
</dict>
<dict>
<key>include</key>
<string>$self</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>(?i)\b(for)\b</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.control.for.monkey</string>
</dict>
</dict>
<key>end</key>
<string>(?i)\b(next)\b</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.control.for.end.monkey</string>
</dict>
</dict>
<key>name</key>
<string>control.for.monkey</string>
<key>patterns</key>
<array>
<dict>
<key>match</key>
<string>(?i)\beachin\b</string>
<key>name</key>
<string>keyword.control.for.eachin.monkey</string>
</dict>
<dict>
<key>match</key>
<string>(?i)\bto\b</string>
<key>name</key>
<string>keyword.control.for.to.monkey</string>
</dict>
<dict>
<key>match</key>
<string>(?i)\buntil\b</string>
<key>name</key>
<string>keyword.control.for.until.monkey</string>
</dict>
<dict>
<key>match</key>
<string>(?i)\bstep\b</string>
<key>name</key>
<string>keyword.control.for.step.monkey</string>
</dict>
<dict>
<key>include</key>
<string>$self</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>(?i)\b(repeat)\b</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.control.repeat.monkey</string>
</dict>
</dict>
<key>end</key>
<string>(?i)\b(until|forever)\b</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.control.repeat.end.monkey</string>
</dict>
</dict>
<key>name</key>
<string>control.repeat.monkey</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>$self</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>(?i)\b(select)\b</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.control.select.monkey</string>
</dict>
</dict>
<key>end</key>
<string>(?i)\b(end(\s?select)?)\b</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.control.select.end.monkey</string>
</dict>
</dict>
<key>name</key>
<string>control.select.monkey</string>
<key>patterns</key>
<array>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.control.select.case.monkey</string>
</dict>
</dict>
<key>match</key>
<string>(?i)\b(case)\b</string>
<key>name</key>
<string>control.select.case.monkey</string>
</dict>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.control.select.default.monkey</string>
</dict>
</dict>
<key>match</key>
<string>(?i)\b(default)\b</string>
<key>name</key>
<string>control.select.default.monkey</string>
</dict>
<dict>
<key>include</key>
<string>$self</string>
</dict>
</array>
</dict>
<dict>
<key>match</key>
<string>(?i)\b(mod|shl|shr|and|or|not)\b</string>
<key>name</key>
<string>keyword.operator.monkey</string>
</dict>
<dict>
<key>match</key>
<string>:?[\^+\-&amp;~|=&gt;&lt;]</string>
<key>name</key>
<string>keyword.operator.monkey</string>
</dict>
<dict>
<key>match</key>
<string>(?i)\b(private|public)\b</string>
<key>name</key>
<string>keyword.other.scope.monkey</string>
</dict>
<dict>
<key>match</key>
<string>(?i)\b(strict)\b</string>
<key>name</key>
<string>keyword.other.strictness.monkey</string>
</dict>
<dict>
<key>include</key>
<string>#mnky_null</string>
</dict>
<dict>
<key>include</key>
<string>#mnky_types</string>
</dict>
<dict>
<key>include</key>
<string>#mnky_constants</string>
</dict>
<dict>
<key>include</key>
<string>#mnky_string_quoted</string>
</dict>
<dict>
<key>match</key>
<string>(?i)\b(self)\b</string>
<key>name</key>
<string>variable.language.self.monkey</string>
</dict>
<dict>
<key>match</key>
<string>(?i)\b(super)\b</string>
<key>name</key>
<string>variable.language.super.monkey</string>
</dict>
<dict>
<key>include</key>
<string>#mnky_constructor</string>
</dict>
<dict>
<key>include</key>
<string>#mnky_array</string>
</dict>
<dict>
<key>include</key>
<string>#mnky_typename</string>
</dict>
</array>
<key>repository</key>
<dict>
<key>mnky_array</key>
<dict>
<key>begin</key>
<string>(\[)</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.operator.array.monkey</string>
</dict>
</dict>
<key>end</key>
<string>(\])</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.operator.array.monkey</string>
</dict>
</dict>
<key>name</key>
<string>array.monkey</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>$self</string>
</dict>
</array>
</dict>
<key>mnky_attributes</key>
<dict>
<key>begin</key>
<string>(\{)</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>storage.modifier.attributes.braces.monkey</string>
</dict>
</dict>
<key>end</key>
<string>(\})</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>storage.modifier.attributes.braces.monkey</string>
</dict>
</dict>
<key>name</key>
<string>attributes.monkey</string>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>\b([a-zA-Z_]\w*)\s*(=)\s*</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>entity.other.attribute-name.monkey</string>
</dict>
</dict>
<key>end</key>
<string>(?=\s|\}|[a-zA-Z_])</string>
<key>name</key>
<string>attribute.monkey</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#mnky_string_quoted</string>
</dict>
<dict>
<key>include</key>
<string>#mnky_numbers</string>
</dict>
</array>
</dict>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>entity.other.attribute-name.monkey</string>
</dict>
</dict>
<key>match</key>
<string>\b([a-zA-Z_]\w*)(?:\s*((?!=)|(?=\})))</string>
<key>name</key>
<string>attribute.monkey</string>
</dict>
</array>
</dict>
<key>mnky_boolean</key>
<dict>
<key>match</key>
<string>(?i)\b(true|false)\b</string>
<key>name</key>
<string>constant.language.boolean.monkey</string>
</dict>
<key>mnky_char</key>
<dict>
<key>match</key>
<string>\b(CHAR_(TAB|BACKSPACE|ENTER|ESCAPE|PAGE(UP|DOWN)|END|HOME|LEFT|UP|RIGHT|DOWN|INSERT|DELETE))\b</string>
<key>name</key>
<string>constant.language.char.monkey</string>
</dict>
<key>mnky_commands</key>
<dict>
<key>match</key>
<string>(?i)\b(A(bstract|Cos|Sin|Tan|Tan2|bs|ccel(X|Y|Z)|dd(First|Last)|pp|rray)|B(ackwards|ool)|C(ase|eil|hannelState|l(amp|s)|o(mpare|nst|nt(ains|inue)|py|s|unt)|lear)|D(e(faultFlags|vice(Height|Width))|iscard|raw(Circle|Ellipse|Image|ImageRect|Line|Oval|Point|Poly|Rect|Text))|E(achin|xt(ends|ern)|nd|ndsWith|rror|xit)|F(alse|i(eld|nd|ndLast|rst)|loat(Map|Set)|loor|or(ever)|rames|romChar)|G(et|et(Alpha|Blend|Char|Color|Font|Matrix|Scissor)|lobal|rabImage)|H(andle(X|Y)|eight)|I(m(age|p(lements|ort))|n(clude|line|t(erface|Map|Set))|sEmpty)|Jo(in|y(Down|Hit|X|Y|Z))|Key|Key(Down|Hit|s)|L(ast|ength|ist|o(g|ad(Image|Sound|State|String)|cal))|M(ap|ax|ethod|i(llisecs|n)|o(d(ule)|use(Down|Hit|X|Y))|in)|N(ative|e(w|xt)|o(de)|ull)|O(bject(Enumerator)|n(Create|Loading|Render|Resume|Suspend|Update))|P(laySound|o(pMatrix|w)|r(i(nt|vate)|operty)|u(blic|shMatrix))|R(e(move|move(Each|First|Last)|p(eat|lace)|turn)|nd|otate)|S(aveState|cale|e(ed|lect|lf|t(Alpha|Blend|Channel(Pan|Rate|Volume)|Color|Font|Handle|Image|List|Matrix|Scissor|UpdateRate))|gn|h(l|r)|in|ound|plit|qrt|t(artsWith|ep|opChannel|ri(ct|ng(Map|Set)))|uper)|T(an|hen|o(Lower|Upper|uch(Down|Hit|X|Y))|r(ans(form|late)|im|ue))|Until|V(alue|alue(ForKey|s)|oid)|Width)\b</string>
<key>name</key>
<string>keyword.other.commands.monkey</string>
</dict>
<key>mnky_comment_block</key>
<dict>
<key>begin</key>
<string>(?i)(?&lt;=\s|^|;)\#rem\b</string>
<key>end</key>
<string>(?i)(?&lt;=\s|^|;)\#end\b</string>
<key>name</key>
<string>comment.block.rem.monkey</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#mnky_url_content</string>
</dict>
</array>
</dict>
<key>mnky_comment_quote</key>
<dict>
<key>begin</key>
<string>'</string>
<key>end</key>
<string>$</string>
<key>name</key>
<string>comment.line.apostrophe.monkey</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#mnky_url_content</string>
</dict>
</array>
</dict>
<key>mnky_constant</key>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.other.new.monkey</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>constant.monkey</string>
</dict>
</dict>
<key>match</key>
<string>(?i)\b(const)\s+([a-zA-Z_]\w*)\b</string>
<key>name</key>
<string>constant.monkey</string>
</dict>
<key>mnky_constants</key>
<dict>
<key>name</key>
<string>constants.monkey</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#mnky_pi</string>
</dict>
<dict>
<key>include</key>
<string>#mnky_boolean</string>
</dict>
<dict>
<key>include</key>
<string>#mnky_numbers</string>
</dict>
<dict>
<key>include</key>
<string>#mnky_joy</string>
</dict>
<dict>
<key>include</key>
<string>#mnky_key</string>
</dict>
<dict>
<key>include</key>
<string>#mnky_mouse</string>
</dict>
<dict>
<key>include</key>
<string>#mnky_char</string>
</dict>
<dict>
<key>include</key>
<string>#mnky_env</string>
</dict>
</array>
</dict>
<key>mnky_constructor</key>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.other.new.monkey</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>storage.type.class.monkey</string>
</dict>
</dict>
<key>match</key>
<string>(?i)\b(new)\s+([a-zA-Z_]\w*)\b</string>
<key>name</key>
<string>call.constructor.monkey</string>
</dict>
<key>mnky_control_keywords</key>
<dict>
<key>match</key>
<string>(?i)\b(throw|return|exit|continue)\b</string>
<key>name</key>
<string>keyword.control.monkey</string>
</dict>
<key>mnky_env</key>
<dict>
<key>match</key>
<string>\b(TARGET|LANG)\b</string>
<key>name</key>
<string>constant.language.env.monkey</string>
</dict>
<key>mnky_field</key>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.other.variable.field.monkey</string>
</dict>
</dict>
<key>match</key>
<string>(?i)\b(field)\s+([a-zA-Z_]\w*)+\b</string>
<key>name</key>
<string>variable.field.monkey</string>
</dict>
<key>mnky_function</key>
<dict>
<key>begin</key>
<string>(?i)\b(function)\s+([a-zA-Z_]\w*)\b</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>storage.type.function.monkey</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>entity.name.function.monkey</string>
</dict>
</dict>
<key>end</key>
<string>(?i)\b(end(\s?function)?)\b</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>storage.type.function.monkey</string>
</dict>
</dict>
<key>name</key>
<string>function.monkey</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>$self</string>
</dict>
</array>
</dict>
<key>mnky_global_variable</key>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>storage.modifier.global.monkey</string>
</dict>
</dict>
<key>match</key>
<string>(?i)\b(global)\s+([a-zA-Z_]\w*)\b</string>
<key>name</key>
<string>variable.monkey</string>
</dict>
<key>mnky_joy</key>
<dict>
<key>match</key>
<string>\bJOY_(A|B|X|Y|LB|RB|BACK|START|LEFT|UP|RIGHT|DOWN)\b</string>
<key>name</key>
<string>constant.language.joy.monkey</string>
</dict>
<key>mnky_key</key>
<dict>
<key>match</key>
<string>\bKEY_(BACKSPACE|TAB|ENTER|ESCAPE|SPACE|SHIFT|CONTROL|PAGEUP|PAGEDOWN|END|HOME|LEFT|UP|RIGHT|DOWN|INSERT|DELETE|F([0-9]|1[0-2])|[0-9]|[A-Z]|TILDE|MINUS|EQUALS|OPENBRACKET|CLOSEBRACKET|BACKSLASH|SEMICOLON|QUOTES|COMMA|PERIOD|SLASH|(L|R|M)MB)|TOUCH([0-9]|[1-2][0-9]|3[0-2])\b</string>
<key>name</key>
<string>constant.language.key.monkey</string>
</dict>
<key>mnky_local_variable</key>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.other.variable.local.monkey</string>
</dict>
</dict>
<key>match</key>
<string>(?i)\b(local)\s+([a-zA-Z_]\w*)\b</string>
<key>name</key>
<string>variable.monkey</string>
</dict>
<key>mnky_method</key>
<dict>
<key>begin</key>
<string>(?i)\b(method)\s+([a-zA-Z_]\w*)\b</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>storage.type.method.monkey</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>entity.name.method.monkey</string>
</dict>
</dict>
<key>end</key>
<string>(?i)\b(end(\s?method)?)\b</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>storage.type.method.monkey</string>
</dict>
</dict>
<key>name</key>
<string>method.monkey</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>$self</string>
</dict>
</array>
</dict>
<key>mnky_mouse</key>
<dict>
<key>match</key>
<string>\bMOUSE_(LEFT|RIGHT|MIDDLE)\b</string>
<key>name</key>
<string>constant.language.mouse.monkey</string>
</dict>
<key>mnky_null</key>
<dict>
<key>match</key>
<string>(?i)\bnull\b</string>
<key>name</key>
<string>constant.language.null.monkey</string>
</dict>
<key>mnky_numbers</key>
<dict>
<key>patterns</key>
<array>
<dict>
<key>match</key>
<string>(\$[0-9a-fA-F]{1,16})</string>
<key>name</key>
<string>constant.numeric.integer.hexadecimal.monkey</string>
</dict>
<dict>
<key>match</key>
<string>(?x) (?&lt;! \$ ) (
\b ([0-9]+ \. [0-9]+) |
(\. [0-9]+)
)</string>
<key>name</key>
<string>constant.numeric.float.monkey</string>
</dict>
<dict>
<key>match</key>
<string>(?x)\b(([0-9]+))</string>
<key>name</key>
<string>constant.numeric.integer.monkey</string>
</dict>
</array>
</dict>
<key>mnky_pi</key>
<dict>
<key>match</key>
<string>\b(HALF|TWO)?PI\b</string>
<key>name</key>
<string>constant.language.monkey</string>
</dict>
<key>mnky_string_content</key>
<dict>
<key>patterns</key>
<array>
<dict>
<key>match</key>
<string>\~[^"]</string>
<key>name</key>
<string>constant.character.escape.monkey</string>
</dict>
<dict>
<key>include</key>
<string>#mnky_url_content</string>
</dict>
</array>
</dict>
<key>mnky_string_quoted</key>
<dict>
<key>begin</key>
<string>"</string>
<key>beginCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.begin.monkey</string>
</dict>
</dict>
<key>end</key>
<string>"</string>
<key>endCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.end.monkey</string>
</dict>
</dict>
<key>name</key>
<string>string.quoted.double.monkey</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#mnky_string_content</string>
</dict>
</array>
</dict>
<key>mnky_typename</key>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>storage.type.monkey</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>storage.type.monkey</string>
</dict>
</dict>
<key>match</key>
<string>(?xi)(?: \: \s* ([a-zA-Z_]\w*) | ([!#%]|@{1,2}|\$[zw]?) )</string>
<key>name</key>
<string>typename.monkey</string>
</dict>
<key>mnky_types</key>
<dict>
<key>match</key>
<string>(?i)\b(array|bool|int|float|string)\b</string>
<key>name</key>
<string>storage.type.monkey</string>
</dict>
<key>mnky_url_content</key>
<dict>
<key>match</key>
<string>[a-zA-Z_]\w*://[^ "'()\[\]]*(?=$|\b)</string>
<key>name</key>
<string>url.monkey</string>
</dict>
</dict>
<key>scopeName</key>
<string>source.monkey</string>
<key>uuid</key>
<string>622229C4-3E96-47AE-9C2C-235DB5BC068C</string>
</dict>
</plist>