-
Notifications
You must be signed in to change notification settings - Fork 9
/
haxe.tmLanguage
11 lines (11 loc) · 63.9 KB
/
haxe.tmLanguage
1
2
3
4
5
6
7
8
9
10
11
<?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><dict><key>fileTypes</key><array><string>hx</string><string>dump</string></array><key>name</key><string>Haxe</string><key>scopeName</key><string>source.hx</string><key>uuid</key><string>67c72f9f-862c-4e48-8951-dcc22c0bb4ea</string><key>patterns</key><array><dict><key>include</key><string>#all</string></dict></array><key>repository</key><dict><key>all</key><dict><key>patterns</key><array><dict><key>include</key><string>#global</string></dict><dict><key>include</key><string>#package</string></dict><dict><key>include</key><string>#import</string></dict><dict><key>include</key><string>#using</string></dict><dict><key>match</key><string>\b(final)\b(?=\s+(class|interface|extern|private)\b)</string><key>name</key><string>storage.modifier.hx</string></dict><dict><key>include</key><string>#abstract</string></dict><dict><key>include</key><string>#class</string></dict><dict><key>include</key><string>#enum</string></dict><dict><key>include</key><string>#interface</string></dict><dict><key>include</key><string>#typedef</string></dict><dict><key>include</key><string>#block</string></dict><dict><key>include</key><string>#block-contents</string></dict></array></dict><key>global</key><dict><key>patterns</key><array><dict><key>include</key><string>#comments</string></dict><dict><key>include</key><string>#conditional-compilation</string></dict></array></dict><key>block</key><dict><key>begin</key><string>\{</string><key>beginCaptures</key><dict><key>0</key><dict><key>name</key><string>punctuation.definition.block.begin.hx</string></dict></dict><key>end</key><string>\}</string><key>endCaptures</key><dict><key>0</key><dict><key>name</key><string>punctuation.definition.block.end.hx</string></dict></dict><key>patterns</key><array><dict><key>include</key><string>#block</string></dict><dict><key>include</key><string>#block-contents</string></dict></array></dict><key>block-contents</key><dict><key>patterns</key><array><dict><key>include</key><string>#global</string></dict><dict><key>include</key><string>#regex</string></dict><dict><key>include</key><string>#array</string></dict><dict><key>include</key><string>#constants</string></dict><dict><key>include</key><string>#strings</string></dict><dict><key>include</key><string>#metadata</string></dict><dict><key>include</key><string>#method</string></dict><dict><key>include</key><string>#variable</string></dict><dict><key>include</key><string>#modifiers</string></dict><dict><key>include</key><string>#new-expr</string></dict><dict><key>include</key><string>#for-loop</string></dict><dict><key>include</key><string>#keywords</string></dict><dict><key>include</key><string>#arrow-function</string></dict><dict><key>include</key><string>#method-call</string></dict><dict><key>include</key><string>#enum-constructor-call</string></dict><dict><key>include</key><string>#punctuation-braces</string></dict><dict><key>include</key><string>#macro-reification</string></dict><dict><key>include</key><string>#operators</string></dict><dict><key>include</key><string>#operator-assignment</string></dict><dict><key>include</key><string>#punctuation-terminator</string></dict><dict><key>include</key><string>#punctuation-comma</string></dict><dict><key>include</key><string>#punctuation-accessor</string></dict><dict><key>include</key><string>#identifiers</string></dict></array></dict><key>identifiers</key><dict><key>patterns</key><array><dict><key>include</key><string>#constant-name</string></dict><dict><key>include</key><string>#type-name</string></dict><dict><key>include</key><string>#identifier-name</string></dict></array></dict><key>package</key><dict><key>begin</key><string>package\b</string><key>beginCaptures</key><dict><key>0</key><dict><key>name</key><string>keyword.other.package.hx</string></dict></dict><key>end</key><string>$|(;)</string><key>endCaptures</key><dict><key>1</key><dict><key>name</key><string>punctuation.terminator.hx</string></dict></dict><key>patterns</key><array><dict><key>include</key><string>#type-path</string></dict><dict><key>include</key><string>#type-path-package-name</string></dict></array></dict><key>using</key><dict><key>begin</key><string>using\b</string><key>beginCaptures</key><dict><key>0</key><dict><key>name</key><string>keyword.other.using.hx</string></dict></dict><key>end</key><string>$|(;)</string><key>endCaptures</key><dict><key>1</key><dict><key>name</key><string>punctuation.terminator.hx</string></dict></dict><key>patterns</key><array><dict><key>include</key><string>#type-path</string></dict><dict><key>include</key><string>#type-path-package-name</string></dict></array></dict><key>import</key><dict><key>begin</key><string>import\b</string><key>beginCaptures</key><dict><key>0</key><dict><key>name</key><string>keyword.control.import.hx</string></dict></dict><key>end</key><string>$|(;)</string><key>endCaptures</key><dict><key>1</key><dict><key>name</key><string>punctuation.terminator.hx</string></dict></dict><key>patterns</key><array><dict><key>include</key><string>#type-path</string></dict><dict><key>match</key><string>\b(as)\b</string><key>name</key><string>keyword.control.as.hx</string></dict><dict><key>match</key><string>\b(in)\b</string><key>name</key><string>keyword.control.in.hx</string></dict><dict><key>match</key><string>\*</string><key>name</key><string>constant.language.import-all.hx</string></dict><dict><key>match</key><string>\b([_A-Za-z]\w*)\b(?=\s*(as|in|$|(;)))</string><key>name</key><string>variable.other.hxt</string></dict><dict><key>include</key><string>#type-path-package-name</string></dict></array></dict><key>type-path</key><dict><key>patterns</key><array><dict><key>include</key><string>#global</string></dict><dict><key>include</key><string>#punctuation-accessor</string></dict><dict><key>include</key><string>#type-path-type-name</string></dict></array></dict><key>type-path-type-name</key><dict><key>match</key><string>\b(_*[A-Z]\w*)\b</string><key>name</key><string>entity.name.type.hx</string></dict><key>type-path-package-name</key><dict><key>match</key><string>\b([_A-Za-z]\w*)\b</string><key>name</key><string>support.package.hx</string></dict><key>abstract</key><dict><key>begin</key><string>(?=abstract\s+[A-Z])</string><key>end</key><string>(?<=\})|(;)</string><key>endCaptures</key><dict><key>1</key><dict><key>name</key><string>punctuation.terminator.hx</string></dict></dict><key>name</key><string>meta.abstract.hx</string><key>patterns</key><array><dict><key>include</key><string>#abstract-name</string></dict><dict><key>include</key><string>#abstract-name-post</string></dict><dict><key>include</key><string>#abstract-block</string></dict></array></dict><key>abstract-name</key><dict><key>begin</key><string>\b(abstract)\b</string><key>beginCaptures</key><dict><key>1</key><dict><key>name</key><string>storage.type.class.hx</string></dict></dict><key>end</key><string>([_A-Za-z]\w*)</string><key>endCaptures</key><dict><key>1</key><dict><key>name</key><string>entity.name.type.class.hx</string></dict></dict><key>patterns</key><array><dict><key>include</key><string>#global</string></dict></array></dict><key>abstract-name-post</key><dict><key>begin</key><string>(?<=\w)</string><key>end</key><string>([\{;])</string><key>endCaptures</key><dict><key>1</key><dict><key>name</key><string>punctuation.definition.block.begin.hx</string></dict></dict><key>patterns</key><array><dict><key>include</key><string>#global</string></dict><dict><key>match</key><string>\b(from|to)\b</string><key>name</key><string>keyword.other.hx</string></dict><dict><key>include</key><string>#type</string></dict><dict><key>match</key><string>[\(\)]</string><key>name</key><string>punctuation.definition.other.hx</string></dict></array></dict><key>abstract-block</key><dict><key>begin</key><string>(?<=\{)</string><key>end</key><string>(\})</string><key>endCaptures</key><dict><key>1</key><dict><key>name</key><string>punctuation.definition.block.end.hx</string></dict></dict><key>name</key><string>meta.block.hx</string><key>patterns</key><array><dict><key>include</key><string>#method</string></dict><dict><key>include</key><string>#modifiers</string></dict><dict><key>include</key><string>#variable</string></dict><dict><key>include</key><string>#block</string></dict><dict><key>include</key><string>#block-contents</string></dict></array></dict><key>class</key><dict><key>begin</key><string>(?=class)</string><key>end</key><string>(?<=\})|(;)</string><key>endCaptures</key><dict><key>1</key><dict><key>name</key><string>punctuation.terminator.hx</string></dict></dict><key>name</key><string>meta.class.hx</string><key>patterns</key><array><dict><key>include</key><string>#class-name</string></dict><dict><key>include</key><string>#class-name-post</string></dict><dict><key>include</key><string>#class-block</string></dict></array></dict><key>class-name</key><dict><key>begin</key><string>\b(class)\b</string><key>beginCaptures</key><dict><key>1</key><dict><key>name</key><string>storage.type.class.hx</string></dict></dict><key>end</key><string>([_A-Za-z]\w*)</string><key>endCaptures</key><dict><key>1</key><dict><key>name</key><string>entity.name.type.class.hx</string></dict></dict><key>name</key><string>meta.class.identifier.hx</string><key>patterns</key><array><dict><key>include</key><string>#global</string></dict></array></dict><key>class-name-post</key><dict><key>begin</key><string>(?<=\w)</string><key>end</key><string>([\{;])</string><key>endCaptures</key><dict><key>1</key><dict><key>name</key><string>punctuation.definition.block.begin.hx</string></dict></dict><key>patterns</key><array><dict><key>include</key><string>#modifiers-inheritance</string></dict><dict><key>include</key><string>#type</string></dict></array></dict><key>class-block</key><dict><key>begin</key><string>(?<=\{)</string><key>end</key><string>(\})</string><key>endCaptures</key><dict><key>1</key><dict><key>name</key><string>punctuation.definition.block.end.hx</string></dict></dict><key>name</key><string>meta.block.hx</string><key>patterns</key><array><dict><key>include</key><string>#method</string></dict><dict><key>include</key><string>#modifiers</string></dict><dict><key>include</key><string>#variable</string></dict><dict><key>include</key><string>#block</string></dict><dict><key>include</key><string>#block-contents</string></dict></array></dict><key>enum</key><dict><key>begin</key><string>(?=enum\s+[A-Z])</string><key>end</key><string>(?<=\})|(;)</string><key>endCaptures</key><dict><key>1</key><dict><key>name</key><string>punctuation.terminator.hx</string></dict></dict><key>name</key><string>meta.enum.hx</string><key>patterns</key><array><dict><key>include</key><string>#enum-name</string></dict><dict><key>include</key><string>#enum-name-post</string></dict><dict><key>include</key><string>#enum-block</string></dict></array></dict><key>enum-name</key><dict><key>begin</key><string>\b(enum)\b</string><key>beginCaptures</key><dict><key>1</key><dict><key>name</key><string>storage.type.class.hx</string></dict></dict><key>end</key><string>([_A-Za-z]\w*)</string><key>endCaptures</key><dict><key>1</key><dict><key>name</key><string>entity.name.type.class.hx</string></dict></dict><key>patterns</key><array><dict><key>include</key><string>#global</string></dict></array></dict><key>enum-name-post</key><dict><key>begin</key><string>(?<=\w)</string><key>end</key><string>([\{;])</string><key>endCaptures</key><dict><key>1</key><dict><key>name</key><string>punctuation.definition.block.begin.hx</string></dict></dict><key>patterns</key><array><dict><key>include</key><string>#type</string></dict></array></dict><key>enum-block</key><dict><key>begin</key><string>(?<=\{)</string><key>end</key><string>(\})</string><key>endCaptures</key><dict><key>1</key><dict><key>name</key><string>punctuation.definition.block.end.hx</string></dict></dict><key>name</key><string>meta.block.hx</string><key>patterns</key><array><dict><key>include</key><string>#global</string></dict><dict><key>include</key><string>#metadata</string></dict><dict><key>include</key><string>#parameters</string></dict><dict><key>include</key><string>#identifiers</string></dict></array></dict><key>interface</key><dict><key>begin</key><string>(?=interface)</string><key>end</key><string>(?<=\})|(;)</string><key>endCaptures</key><dict><key>1</key><dict><key>name</key><string>punctuation.terminator.hx</string></dict></dict><key>name</key><string>meta.interface.hx</string><key>patterns</key><array><dict><key>include</key><string>#interface-name</string></dict><dict><key>include</key><string>#interface-name-post</string></dict><dict><key>include</key><string>#interface-block</string></dict></array></dict><key>interface-name</key><dict><key>begin</key><string>\b(interface)\b</string><key>beginCaptures</key><dict><key>1</key><dict><key>name</key><string>storage.type.class.hx</string></dict></dict><key>end</key><string>([_A-Za-z]\w*)</string><key>endCaptures</key><dict><key>1</key><dict><key>name</key><string>entity.name.type.class.hx</string></dict></dict><key>patterns</key><array><dict><key>include</key><string>#global</string></dict></array></dict><key>interface-name-post</key><dict><key>begin</key><string>(?<=\w)</string><key>end</key><string>([\{;])</string><key>endCaptures</key><dict><key>1</key><dict><key>name</key><string>punctuation.definition.block.begin.hx</string></dict></dict><key>patterns</key><array><dict><key>include</key><string>#global</string></dict><dict><key>include</key><string>#modifiers-inheritance</string></dict><dict><key>include</key><string>#type</string></dict></array></dict><key>interface-block</key><dict><key>begin</key><string>(?<=\{)</string><key>end</key><string>(\})</string><key>endCaptures</key><dict><key>1</key><dict><key>name</key><string>punctuation.definition.block.end.hx</string></dict></dict><key>name</key><string>meta.block.hx</string><key>patterns</key><array><dict><key>include</key><string>#method</string></dict><dict><key>include</key><string>#variable</string></dict><dict><key>include</key><string>#block</string></dict><dict><key>include</key><string>#block-contents</string></dict></array></dict><key>typedef</key><dict><key>begin</key><string>(?=typedef)</string><key>end</key><string>(?<=\})|(;)</string><key>endCaptures</key><dict><key>1</key><dict><key>name</key><string>punctuation.terminator.hx</string></dict></dict><key>name</key><string>meta.typedef.hx</string><key>patterns</key><array><dict><key>include</key><string>#typedef-name</string></dict><dict><key>include</key><string>#typedef-name-post</string></dict><dict><key>include</key><string>#typedef-block</string></dict></array></dict><key>typedef-name</key><dict><key>begin</key><string>\b(typedef)\b</string><key>beginCaptures</key><dict><key>1</key><dict><key>name</key><string>storage.type.class.hx</string></dict></dict><key>end</key><string>([_A-Za-z]\w*)</string><key>endCaptures</key><dict><key>1</key><dict><key>name</key><string>entity.name.type.class.hx</string></dict></dict><key>patterns</key><array><dict><key>include</key><string>#global</string></dict></array></dict><key>typedef-name-post</key><dict><key>begin</key><string>(?<=\w)</string><key>end</key><string>(\{)|(?=;)</string><key>endCaptures</key><dict><key>1</key><dict><key>name</key><string>punctuation.definition.block.begin.hx</string></dict></dict><key>patterns</key><array><dict><key>include</key><string>#global</string></dict><dict><key>include</key><string>#punctuation-brackets</string></dict><dict><key>include</key><string>#punctuation-separator</string></dict><dict><key>include</key><string>#operator-assignment</string></dict><dict><key>include</key><string>#type</string></dict></array></dict><key>typedef-block</key><dict><key>begin</key><string>(?<=\{)</string><key>end</key><string>(\})</string><key>endCaptures</key><dict><key>1</key><dict><key>name</key><string>punctuation.definition.block.end.hx</string></dict></dict><key>name</key><string>meta.block.hx</string><key>patterns</key><array><dict><key>include</key><string>#global</string></dict><dict><key>include</key><string>#metadata</string></dict><dict><key>include</key><string>#method</string></dict><dict><key>include</key><string>#variable</string></dict><dict><key>include</key><string>#modifiers</string></dict><dict><key>include</key><string>#punctuation-comma</string></dict><dict><key>include</key><string>#operator-optional</string></dict><dict><key>include</key><string>#typedef-extension</string></dict><dict><key>include</key><string>#typedef-simple-field-type-hint</string></dict><dict><key>include</key><string>#identifier-name</string></dict><dict><key>include</key><string>#strings</string></dict></array></dict><key>typedef-extension</key><dict><key>begin</key><string>></string><key>end</key><string>,|$</string><key>patterns</key><array><dict><key>include</key><string>#type</string></dict></array></dict><key>typedef-simple-field-type-hint</key><dict><key>begin</key><string>:</string><key>beginCaptures</key><dict><key>0</key><dict><key>name</key><string>keyword.operator.type.annotation.hx</string></dict></dict><key>end</key><string>(?=\}|,|;)</string><key>patterns</key><array><dict><key>include</key><string>#type</string></dict></array></dict><key>regex</key><dict><key>begin</key><string>(~/)</string><key>beginCaptures</key><dict><key>1</key><dict><key>name</key><string>punctuation.definition.string.begin.hx</string></dict></dict><key>end</key><string>(/)([gimsu]*)</string><key>endCaptures</key><dict><key>1</key><dict><key>name</key><string>punctuation.definition.string.end.hx</string></dict><key>2</key><dict><key>name</key><string>keyword.other.hx</string></dict></dict><key>name</key><string>string.regexp.hx</string><key>patterns</key><array><dict><key>include</key><string>#regexp</string></dict></array></dict><key>regex-character-class</key><dict><key>patterns</key><array><dict><key>match</key><string>\\[wWsSdDtrnvf]|\.</string><key>name</key><string>constant.other.character-class.regexp</string></dict><dict><key>match</key><string>\\([0-7]{3}|x\h\h|u\h\h\h\h)</string><key>name</key><string>constant.character.numeric.regexp</string></dict><dict><key>match</key><string>\\c[A-Z]</string><key>name</key><string>constant.character.control.regexp</string></dict><dict><key>match</key><string>\\.</string><key>name</key><string>constant.character.escape.backslash.regexp</string></dict></array></dict><key>regexp</key><dict><key>patterns</key><array><dict><key>match</key><string>\\[bB]|\^|\$</string><key>name</key><string>keyword.control.anchor.regexp</string></dict><dict><key>match</key><string>\\[1-9]\d*</string><key>name</key><string>keyword.other.back-reference.regexp</string></dict><dict><key>match</key><string>[?+*]|\{(\d+,\d+|\d+,|,\d+|\d+)\}\??</string><key>name</key><string>keyword.operator.quantifier.regexp</string></dict><dict><key>match</key><string>\|</string><key>name</key><string>keyword.operator.or.regexp</string></dict><dict><key>begin</key><string>(\()((\?=)|(\?!))</string><key>beginCaptures</key><dict><key>1</key><dict><key>name</key><string>punctuation.definition.group.regexp</string></dict><key>2</key><dict><key>name</key><string>punctuation.definition.group.assertion.regexp</string></dict><key>3</key><dict><key>name</key><string>meta.assertion.look-ahead.regexp</string></dict><key>4</key><dict><key>name</key><string>meta.assertion.negative-look-ahead.regexp</string></dict></dict><key>end</key><string>(\))</string><key>endCaptures</key><dict><key>1</key><dict><key>name</key><string>punctuation.definition.group.regexp</string></dict></dict><key>name</key><string>meta.group.assertion.regexp</string><key>patterns</key><array><dict><key>include</key><string>#regexp</string></dict></array></dict><dict><key>begin</key><string>\((\?:)?</string><key>beginCaptures</key><dict><key>0</key><dict><key>name</key><string>punctuation.definition.group.regexp</string></dict><key>1</key><dict><key>name</key><string>punctuation.definition.group.capture.regexp</string></dict></dict><key>end</key><string>\)</string><key>endCaptures</key><dict><key>0</key><dict><key>name</key><string>punctuation.definition.group.regexp</string></dict></dict><key>name</key><string>meta.group.regexp</string><key>patterns</key><array><dict><key>include</key><string>#regexp</string></dict></array></dict><dict><key>begin</key><string>(\[)(\^)?</string><key>beginCaptures</key><dict><key>1</key><dict><key>name</key><string>punctuation.definition.character-class.regexp</string></dict><key>2</key><dict><key>name</key><string>keyword.operator.negation.regexp</string></dict></dict><key>end</key><string>(\])</string><key>endCaptures</key><dict><key>1</key><dict><key>name</key><string>punctuation.definition.character-class.regexp</string></dict></dict><key>name</key><string>constant.other.character-class.set.regexp</string><key>patterns</key><array><dict><key>match</key><string>(?:.|(\\(?:[0-7]{3}|x\h\h|u\h\h\h\h))|(\\c[A-Z])|(\\.))\-(?:[^\]\\]|(\\(?:[0-7]{3}|x\h\h|u\h\h\h\h))|(\\c[A-Z])|(\\.))</string><key>captures</key><dict><key>1</key><dict><key>name</key><string>constant.character.numeric.regexp</string></dict><key>2</key><dict><key>name</key><string>constant.character.control.regexp</string></dict><key>3</key><dict><key>name</key><string>constant.character.escape.backslash.regexp</string></dict><key>4</key><dict><key>name</key><string>constant.character.numeric.regexp</string></dict><key>5</key><dict><key>name</key><string>constant.character.control.regexp</string></dict><key>6</key><dict><key>name</key><string>constant.character.escape.backslash.regexp</string></dict></dict><key>name</key><string>constant.other.character-class.range.regexp</string></dict><dict><key>include</key><string>#regex-character-class</string></dict></array></dict><dict><key>include</key><string>#regex-character-class</string></dict></array></dict><key>array</key><dict><key>begin</key><string>\[</string><key>beginCaptures</key><dict><key>0</key><dict><key>name</key><string>punctuation.definition.array.begin.hx</string></dict></dict><key>end</key><string>\]</string><key>endCaptures</key><dict><key>0</key><dict><key>name</key><string>punctuation.definition.array.end.hx</string></dict></dict><key>name</key><string>meta.array.literal.hx</string><key>patterns</key><array><dict><key>include</key><string>#block</string></dict><dict><key>include</key><string>#block-contents</string></dict></array></dict><key>constants</key><dict><key>patterns</key><array><dict><key>match</key><string>\b(true|false|null)\b</string><key>name</key><string>constant.language.hx</string></dict><dict><key>match</key><string>\b(?:0[xX][0-9a-fA-F][_0-9a-fA-F]*([iu][0-9][0-9_]*)?)\b</string><key>captures</key><dict><key>0</key><dict><key>name</key><string>constant.numeric.hex.hx</string></dict><key>1</key><dict><key>name</key><string>constant.numeric.suffix.hx</string></dict></dict></dict><dict><key>match</key><string>\b(?:0[bB][01][_01]*([iu][0-9][0-9_]*)?)\b</string><key>captures</key><dict><key>0</key><dict><key>name</key><string>constant.numeric.bin.hx</string></dict><key>1</key><dict><key>name</key><string>constant.numeric.suffix.hx</string></dict></dict></dict><dict><key>match</key><string>(?x)
(?<!\$)(?:
(?:\b[0-9][0-9_]*(\.)[0-9_]+[eE][+-]?[0-9_]+([fiu][0-9][0-9_]*)?\b)| # 1.1E+3f64
(?:\b[0-9][0-9_]*(\.)[eE][+-]?[0-9_]+([fiu][0-9][0-9_]*)?\b)| # 1.E+3f64
(?:\B(\.)[0-9][0-9_]*[eE][+-]?[0-9_]+([fiu][0-9][0-9_]*)?\b)| # .1E+3f64
(?:\b[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*([fiu][0-9][0-9_]*)?\b)| # 1E+3f64
(?:\b[0-9][0-9_]*(\.)[0-9_]+([fiu][0-9][0-9_]*)?\b)| # 1.1f64
(?:\b[0-9][0-9_]*(\.)(?!\.)(?:\B|([fiu][0-9][0-9_]*)\b))| # 1.f64
(?:\B(\.)[0-9][0-9_]*([fiu][0-9][0-9_]*)?\b)| # .1f64
(?:\b[0-9][0-9_]*([fiu][0-9][0-9_]*)?\b) # 1u64
)(?!\$)</string><key>captures</key><dict><key>0</key><dict><key>name</key><string>constant.numeric.decimal.hx</string></dict><key>1</key><dict><key>name</key><string>meta.delimiter.decimal.period.hx</string></dict><key>2</key><dict><key>name</key><string>constant.numeric.suffix.hx</string></dict><key>3</key><dict><key>name</key><string>meta.delimiter.decimal.period.hx</string></dict><key>4</key><dict><key>name</key><string>constant.numeric.suffix.hx</string></dict><key>5</key><dict><key>name</key><string>meta.delimiter.decimal.period.hx</string></dict><key>6</key><dict><key>name</key><string>constant.numeric.suffix.hx</string></dict><key>7</key><dict><key>name</key><string>constant.numeric.suffix.hx</string></dict><key>8</key><dict><key>name</key><string>meta.delimiter.decimal.period.hx</string></dict><key>9</key><dict><key>name</key><string>constant.numeric.suffix.hx</string></dict><key>10</key><dict><key>name</key><string>meta.delimiter.decimal.period.hx</string></dict><key>11</key><dict><key>name</key><string>constant.numeric.suffix.hx</string></dict><key>12</key><dict><key>name</key><string>meta.delimiter.decimal.period.hx</string></dict><key>13</key><dict><key>name</key><string>constant.numeric.suffix.hx</string></dict><key>14</key><dict><key>name</key><string>constant.numeric.suffix.hx</string></dict></dict></dict></array></dict><key>comments</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.comment.hx</string></dict></dict><key>end</key><string>\*/</string><key>endCaptures</key><dict><key>0</key><dict><key>name</key><string>punctuation.definition.comment.hx</string></dict></dict><key>name</key><string>comment.block.documentation.hx</string><key>patterns</key><array><dict><key>include</key><string>#javadoc-tags</string></dict></array></dict><dict><key>begin</key><string>/\*</string><key>beginCaptures</key><dict><key>0</key><dict><key>name</key><string>punctuation.definition.comment.hx</string></dict></dict><key>end</key><string>\*/</string><key>endCaptures</key><dict><key>0</key><dict><key>name</key><string>punctuation.definition.comment.hx</string></dict></dict><key>name</key><string>comment.block.hx</string><key>patterns</key><array><dict><key>include</key><string>#javadoc-tags</string></dict></array></dict><dict><key>match</key><string>(//).*$\n?</string><key>captures</key><dict><key>1</key><dict><key>name</key><string>punctuation.definition.comment.hx</string></dict></dict><key>name</key><string>comment.line.double-slash.hx</string></dict></array></dict><key>javadoc-tags</key><dict><key>patterns</key><array><dict><key>match</key><string>(@(?:param|exception|throws|event))\s+([_A-Za-z]\w*)\s+</string><key>captures</key><dict><key>1</key><dict><key>name</key><string>storage.type.class.javadoc</string></dict><key>2</key><dict><key>name</key><string>variable.other.javadoc</string></dict></dict></dict><dict><key>match</key><string>(@since)\s+([\w\.-]+)\s+</string><key>captures</key><dict><key>1</key><dict><key>name</key><string>storage.type.class.javadoc</string></dict><key>2</key><dict><key>name</key><string>constant.numeric.javadoc</string></dict></dict></dict><dict><key>match</key><string>@(param|exception|throws|deprecated|returns?|since|default|see|event)</string><key>captures</key><dict><key>0</key><dict><key>name</key><string>storage.type.class.javadoc</string></dict></dict></dict></array></dict><key>strings</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.begin.hx</string></dict></dict><key>end</key><string>"</string><key>endCaptures</key><dict><key>0</key><dict><key>name</key><string>punctuation.definition.string.end.hx</string></dict></dict><key>name</key><string>string.quoted.double.hx</string><key>patterns</key><array><dict><key>include</key><string>#string-escape-sequences</string></dict></array></dict><dict><key>begin</key><string>(')</string><key>beginCaptures</key><dict><key>0</key><dict><key>name</key><string>string.quoted.single.hx</string></dict><key>1</key><dict><key>name</key><string>punctuation.definition.string.begin.hx</string></dict></dict><key>end</key><string>(')</string><key>endCaptures</key><dict><key>0</key><dict><key>name</key><string>string.quoted.single.hx</string></dict><key>1</key><dict><key>name</key><string>punctuation.definition.string.end.hx</string></dict></dict><key>patterns</key><array><dict><key>begin</key><string>\$(?=\$)</string><key>beginCaptures</key><dict><key>0</key><dict><key>name</key><string>constant.character.escape.hx</string></dict></dict><key>end</key><string>\$</string><key>endCaptures</key><dict><key>0</key><dict><key>name</key><string>constant.character.escape.hx</string></dict></dict><key>name</key><string>string.quoted.single.hx</string></dict><dict><key>include</key><string>#string-escape-sequences</string></dict><dict><key>begin</key><string>(\${)</string><key>beginCaptures</key><dict><key>0</key><dict><key>name</key><string>punctuation.definition.block.begin.hx</string></dict></dict><key>end</key><string>(})</string><key>endCaptures</key><dict><key>0</key><dict><key>name</key><string>punctuation.definition.block.end.hx</string></dict></dict><key>patterns</key><array><dict><key>include</key><string>#block-contents</string></dict></array></dict><dict><key>match</key><string>(\$)([_a-zA-Z]\w*)</string><key>captures</key><dict><key>1</key><dict><key>name</key><string>punctuation.definition.block.begin.hx</string></dict><key>2</key><dict><key>name</key><string>variable.other.hx</string></dict></dict></dict><dict><key>match</key><string></string><key>name</key><string>constant.character.escape.hx</string></dict><dict><key>match</key><string>.</string><key>name</key><string>string.quoted.single.hx</string></dict></array></dict></array></dict><key>string-escape-sequences</key><dict><key>patterns</key><array><dict><key>match</key><string>\\[0-3][0-9]{2}</string><key>name</key><string>constant.character.escape.hx</string></dict><dict><key>match</key><string>\\x[0-9A-Fa-f]{2}</string><key>name</key><string>constant.character.escape.hx</string></dict><dict><key>match</key><string>\\u[0-9]{4}</string><key>name</key><string>constant.character.escape.hx</string></dict><dict><key>match</key><string>\\u\{[0-9A-Fa-f]{1,}\}</string><key>name</key><string>constant.character.escape.hx</string></dict><dict><key>match</key><string>\\[nrt"'\\]</string><key>name</key><string>constant.character.escape.hx</string></dict><dict><key>match</key><string>\\.</string><key>name</key><string>invalid.escape.sequence.hx</string></dict></array></dict><key>metadata</key><dict><key>patterns</key><array><dict><key>begin</key><string>(@)(:(abi|abstract|access|allow|analyzer|annotation|arrayAccess|astSource|autoBuild|bind|bitmap|bridgeProperties|build|buildXml|bypassAccessor|callable|classCode|commutative|compilerGenerated|const|coreApi|coreType|cppFileCode|cppInclude|cppNamespaceCode|cs.assemblyMeta|cs.assemblyStrict|cs.using|dce|debug|decl|delegate|depend|deprecated|eager|enum|event|expose|extern|file|fileXml|final|fixed|flash.property|font|forward.new|forward.variance|forward|forwardStatics|from|functionCode|functionTailCode|generic|genericBuild|genericClassPerMethod|getter|hack|headerClassCode|headerCode|headerInclude|headerNamespaceCode|hlNative|hxGen|ifFeature|include|inheritDoc|inline|internal|isVar|java.native|javaCanonical|jsRequire|jvm.synthetic|keep|keepInit|keepSub|luaDotMethod|luaRequire|macro|markup|mergeBlock|multiReturn|multiType|native|nativeChildren|nativeGen|nativeProperty|nativeStaticExtension|noClosure|noCompletion|noDebug|noDoc|noImportGlobal|noPrivateAccess|noStack|noUsing|nonVirtual|notNull|nullSafety|objc|objcProtocol|op|optional|overload|persistent|phpClassConst|phpGlobal|phpMagic|phpNoConstructor|pos|private|privateAccess|property|protected|publicFields|pure|pythonImport|readOnly|remove|require|resolve|rtti|runtimeValue|scalar|selfCall|semantics|setter|sound|sourceFile|stackOnly|strict|struct|structAccess|structInit|suppressWarnings|templatedCall|throws|to|transient|transitive|unifyMinDynamic|unreflective|unsafe|using|void|volatile)\b)\s*(\()</string><key>beginCaptures</key><dict><key>1</key><dict><key>name</key><string>punctuation.metadata.hx</string></dict><key>2</key><dict><key>name</key><string>storage.modifier.metadata.hx</string></dict><key>3</key><dict><key>name</key><string>meta.brace.round.hx</string></dict></dict><key>end</key><string>\)</string><key>endCaptures</key><dict><key>0</key><dict><key>name</key><string>meta.brace.round.hx</string></dict></dict><key>patterns</key><array><dict><key>include</key><string>#block-contents</string></dict></array></dict><dict><key>match</key><string>((@)(:(abi|abstract|access|allow|analyzer|annotation|arrayAccess|astSource|autoBuild|bind|bitmap|bridgeProperties|build|buildXml|bypassAccessor|callable|classCode|commutative|compilerGenerated|const|coreApi|coreType|cppFileCode|cppInclude|cppNamespaceCode|cs.assemblyMeta|cs.assemblyStrict|cs.using|dce|debug|decl|delegate|depend|deprecated|eager|enum|event|expose|extern|file|fileXml|final|fixed|flash.property|font|forward.new|forward.variance|forward|forwardStatics|from|functionCode|functionTailCode|generic|genericBuild|genericClassPerMethod|getter|hack|headerClassCode|headerCode|headerInclude|headerNamespaceCode|hlNative|hxGen|ifFeature|include|inheritDoc|inline|internal|isVar|java.native|javaCanonical|jsRequire|jvm.synthetic|keep|keepInit|keepSub|luaDotMethod|luaRequire|macro|markup|mergeBlock|multiReturn|multiType|native|nativeChildren|nativeGen|nativeProperty|nativeStaticExtension|noClosure|noCompletion|noDebug|noDoc|noImportGlobal|noPrivateAccess|noStack|noUsing|nonVirtual|notNull|nullSafety|objc|objcProtocol|op|optional|overload|persistent|phpClassConst|phpGlobal|phpMagic|phpNoConstructor|pos|private|privateAccess|property|protected|publicFields|pure|pythonImport|readOnly|remove|require|resolve|rtti|runtimeValue|scalar|selfCall|semantics|setter|sound|sourceFile|stackOnly|strict|struct|structAccess|structInit|suppressWarnings|templatedCall|throws|to|transient|transitive|unifyMinDynamic|unreflective|unsafe|using|void|volatile)\b))</string><key>captures</key><dict><key>2</key><dict><key>name</key><string>punctuation.metadata.hx</string></dict><key>3</key><dict><key>name</key><string>storage.modifier.metadata.hx</string></dict></dict></dict><dict><key>begin</key><string>(@)(:?[a-zA-Z_]*)\s*(\()</string><key>beginCaptures</key><dict><key>1</key><dict><key>name</key><string>punctuation.metadata.hx</string></dict><key>2</key><dict><key>name</key><string>variable.metadata.hx</string></dict><key>3</key><dict><key>name</key><string>meta.brace.round.hx</string></dict></dict><key>end</key><string>\)</string><key>endCaptures</key><dict><key>0</key><dict><key>name</key><string>meta.brace.round.hx</string></dict></dict><key>patterns</key><array><dict><key>include</key><string>#block-contents</string></dict></array></dict><dict><key>match</key><string>(@)(:?)([a-zA-Z_]*(\.))*([a-zA-Z_]*)?</string><key>captures</key><dict><key>1</key><dict><key>name</key><string>punctuation.metadata.hx</string></dict><key>2</key><dict><key>name</key><string>variable.metadata.hx</string></dict><key>3</key><dict><key>name</key><string>variable.metadata.hx</string></dict><key>4</key><dict><key>name</key><string>punctuation.accessor.hx</string></dict><key>5</key><dict><key>name</key><string>variable.metadata.hx</string></dict></dict></dict></array></dict><key>method</key><dict><key>begin</key><string>(?=\bfunction\b)</string><key>end</key><string>(?<=[\};])</string><key>name</key><string>meta.method.hx</string><key>patterns</key><array><dict><key>include</key><string>#macro-reification</string></dict><dict><key>include</key><string>#method-name</string></dict><dict><key>include</key><string>#method-name-post</string></dict><dict><key>include</key><string>#method-block</string></dict></array></dict><key>method-name</key><dict><key>begin</key><string>\b(function)\b\s*\b(?:(new)|([_A-Za-z]\w*))?\b</string><key>beginCaptures</key><dict><key>1</key><dict><key>name</key><string>storage.type.function.hx</string></dict><key>2</key><dict><key>name</key><string>storage.type.hx</string></dict><key>3</key><dict><key>name</key><string>entity.name.function.hx</string></dict></dict><key>end</key><string>(?=$|\()</string><key>patterns</key><array><dict><key>include</key><string>#macro-reification</string></dict><dict><key>include</key><string>#type-parameters</string></dict></array></dict><key>method-name-post</key><dict><key>begin</key><string>(?<=[\w\s>])</string><key>end</key><string>(\{)|(;)</string><key>endCaptures</key><dict><key>1</key><dict><key>name</key><string>punctuation.definition.block.begin.hx</string></dict><key>2</key><dict><key>name</key><string>punctuation.terminator.hx</string></dict></dict><key>patterns</key><array><dict><key>include</key><string>#parameters</string></dict><dict><key>include</key><string>#method-return-type-hint</string></dict><dict><key>include</key><string>#block</string></dict><dict><key>include</key><string>#block-contents</string></dict></array></dict><key>method-block</key><dict><key>begin</key><string>(?<=\{)</string><key>beginCaptures</key><dict><key>1</key><dict><key>name</key><string>punctuation.definition.block.begin.hx</string></dict></dict><key>end</key><string>(\})</string><key>endCaptures</key><dict><key>1</key><dict><key>name</key><string>punctuation.definition.block.end.hx</string></dict></dict><key>name</key><string>meta.method.block.hx</string><key>patterns</key><array><dict><key>include</key><string>#block</string></dict><dict><key>include</key><string>#block-contents</string></dict></array></dict><key>parameters</key><dict><key>begin</key><string>\(</string><key>beginCaptures</key><dict><key>0</key><dict><key>name</key><string>punctuation.definition.parameters.begin.hx</string></dict></dict><key>end</key><string>\s*(\)(?!\s*->))</string><key>endCaptures</key><dict><key>1</key><dict><key>name</key><string>punctuation.definition.parameters.end.hx</string></dict></dict><key>name</key><string>meta.parameters.hx</string><key>patterns</key><array><dict><key>include</key><string>#parameter</string></dict></array></dict><key>parameter</key><dict><key>begin</key><string>(?<=\(|,)</string><key>end</key><string>(?=\)(?!\s*->)|,)</string><key>patterns</key><array><dict><key>include</key><string>#parameter-name</string></dict><dict><key>include</key><string>#parameter-type-hint</string></dict><dict><key>include</key><string>#parameter-assign</string></dict><dict><key>include</key><string>#punctuation-comma</string></dict><dict><key>include</key><string>#global</string></dict></array></dict><key>parameter-name</key><dict><key>begin</key><string>(?<=\(|,)</string><key>end</key><string>([_a-zA-Z]\w*)</string><key>endCaptures</key><dict><key>1</key><dict><key>name</key><string>variable.parameter.hx</string></dict></dict><key>patterns</key><array><dict><key>include</key><string>#global</string></dict><dict><key>include</key><string>#metadata</string></dict><dict><key>include</key><string>#operator-optional</string></dict></array></dict><key>parameter-type-hint</key><dict><key>begin</key><string>:</string><key>beginCaptures</key><dict><key>0</key><dict><key>name</key><string>keyword.operator.type.annotation.hx</string></dict></dict><key>end</key><string>(?=\)(?!\s*->)|,|=)</string><key>patterns</key><array><dict><key>include</key><string>#type</string></dict></array></dict><key>parameter-assign</key><dict><key>begin</key><string>=</string><key>beginCaptures</key><dict><key>0</key><dict><key>name</key><string>keyword.operator.assignment.hx</string></dict></dict><key>end</key><string>(?=\)|,)</string><key>patterns</key><array><dict><key>include</key><string>#block</string></dict><dict><key>include</key><string>#block-contents</string></dict></array></dict><key>arrow-function</key><dict><key>begin</key><string>(\()(?=[^(]*?\)\s*->)</string><key>beginCaptures</key><dict><key>1</key><dict><key>name</key><string>punctuation.definition.parameters.begin.hx</string></dict></dict><key>end</key><string>(\))\s*(->)</string><key>endCaptures</key><dict><key>1</key><dict><key>name</key><string>punctuation.definition.parameters.end.hx</string></dict><key>2</key><dict><key>name</key><string>storage.type.function.arrow.hx</string></dict></dict><key>name</key><string>meta.method.arrow.hx</string><key>patterns</key><array><dict><key>include</key><string>#arrow-function-parameter</string></dict></array></dict><key>arrow-function-parameter</key><dict><key>begin</key><string>(?<=\(|,)</string><key>end</key><string>(?=\)|,)</string><key>patterns</key><array><dict><key>include</key><string>#parameter-name</string></dict><dict><key>include</key><string>#arrow-function-parameter-type-hint</string></dict><dict><key>include</key><string>#parameter-assign</string></dict><dict><key>include</key><string>#punctuation-comma</string></dict><dict><key>include</key><string>#global</string></dict></array></dict><key>arrow-function-parameter-type-hint</key><dict><key>begin</key><string>:</string><key>beginCaptures</key><dict><key>0</key><dict><key>name</key><string>keyword.operator.type.annotation.hx</string></dict></dict><key>end</key><string>(?=\)|,|=)</string><key>patterns</key><array><dict><key>include</key><string>#type</string></dict></array></dict><key>method-return-type-hint</key><dict><key>begin</key><string>(?<=\))\s*(:)</string><key>beginCaptures</key><dict><key>1</key><dict><key>name</key><string>keyword.operator.type.annotation.hx</string></dict></dict><key>end</key><string>(?=\{|;|[a-z0-9])</string><key>patterns</key><array><dict><key>include</key><string>#type</string></dict></array></dict><key>operator-optional</key><dict><key>match</key><string>(\?)(?!\s)</string><key>name</key><string>keyword.operator.optional.hx</string></dict><key>variable</key><dict><key>begin</key><string>(?=\b(var|final)\b)</string><key>end</key><string>(?=$)|(;)</string><key>endCaptures</key><dict><key>1</key><dict><key>name</key><string>punctuation.terminator.hx</string></dict></dict><key>patterns</key><array><dict><key>include</key><string>#variable-name</string></dict><dict><key>include</key><string>#variable-name-next</string></dict><dict><key>include</key><string>#variable-assign</string></dict><dict><key>include</key><string>#variable-name-post</string></dict></array></dict><key>variable-name</key><dict><key>begin</key><string>\b(var|final)\b</string><key>beginCaptures</key><dict><key>1</key><dict><key>name</key><string>storage.type.variable.hx</string></dict></dict><key>end</key><string>(?=$)|([_a-zA-Z]\w*)</string><key>endCaptures</key><dict><key>1</key><dict><key>name</key><string>variable.other.hx</string></dict></dict><key>patterns</key><array><dict><key>include</key><string>#operator-optional</string></dict></array></dict><key>variable-name-next</key><dict><key>begin</key><string>,</string><key>beginCaptures</key><dict><key>0</key><dict><key>name</key><string>punctuation.separator.comma.hx</string></dict></dict><key>end</key><string>([_a-zA-Z]\w*)</string><key>endCaptures</key><dict><key>1</key><dict><key>name</key><string>variable.other.hx</string></dict></dict><key>patterns</key><array><dict><key>include</key><string>#global</string></dict></array></dict><key>variable-type-hint</key><dict><key>begin</key><string>:</string><key>beginCaptures</key><dict><key>0</key><dict><key>name</key><string>keyword.operator.type.annotation.hx</string></dict></dict><key>end</key><string>(?=$|;|,|=)</string><key>patterns</key><array><dict><key>include</key><string>#type</string></dict></array></dict><key>variable-assign</key><dict><key>begin</key><string>=</string><key>beginCaptures</key><dict><key>0</key><dict><key>name</key><string>keyword.operator.assignment.hx</string></dict></dict><key>end</key><string>(?=;|,)</string><key>patterns</key><array><dict><key>include</key><string>#block</string></dict><dict><key>include</key><string>#block-contents</string></dict></array></dict><key>variable-name-post</key><dict><key>begin</key><string>(?<=\w)</string><key>end</key><string>(?=;)|(?==)</string><key>patterns</key><array><dict><key>include</key><string>#variable-accessors</string></dict><dict><key>include</key><string>#variable-type-hint</string></dict><dict><key>include</key><string>#block-contents</string></dict></array></dict><key>variable-accessors</key><dict><key>begin</key><string>\(</string><key>beginCaptures</key><dict><key>0</key><dict><key>name</key><string>punctuation.definition.parameters.begin.hx</string></dict></dict><key>end</key><string>\)</string><key>endCaptures</key><dict><key>0</key><dict><key>name</key><string>punctuation.definition.parameters.end.hx</string></dict></dict><key>name</key><string>meta.parameters.hx</string><key>patterns</key><array><dict><key>include</key><string>#global</string></dict><dict><key>include</key><string>#keywords-accessor</string></dict><dict><key>include</key><string>#accessor-method</string></dict><dict><key>include</key><string>#punctuation-comma</string></dict></array></dict><key>keywords-accessor</key><dict><key>match</key><string>\b(default|get|set|dynamic|never|null)\b</string><key>name</key><string>storage.type.property.hx</string></dict><key>accessor-method</key><dict><key>patterns</key><array><dict><key>match</key><string>\b(get|set)_[_A-Za-z]\w*\b</string><key>name</key><string>entity.name.function.hx</string></dict></array></dict><key>modifiers</key><dict><key>patterns</key><array><dict><key>match</key><string>\b(enum)\b</string><key>name</key><string>storage.type.class</string></dict><dict><key>match</key><string>\b(public|private|static|dynamic|inline|macro|extern|override|overload|abstract)\b</string><key>name</key><string>storage.modifier.hx</string></dict><dict><key>match</key><string>\b(final)\b(?=\s+(public|private|static|dynamic|inline|macro|extern|override|overload|abstract|function))</string><key>name</key><string>storage.modifier.hx</string></dict></array></dict><key>new-expr</key><dict><key>name</key><string>new.expr.hx</string><key>begin</key><string>(?<!\.)\b(new)\b</string><key>beginCaptures</key><dict><key>1</key><dict><key>name</key><string>keyword.operator.new.hx</string></dict></dict><key>end</key><string>(?=$|\()</string><key>patterns</key><array><dict><key>include</key><string>#type</string></dict></array></dict><key>for-loop</key><dict><key>begin</key><string>\b(for)\b\s*(\()</string><key>beginCaptures</key><dict><key>1</key><dict><key>name</key><string>keyword.control.flow-control.hx</string></dict><key>2</key><dict><key>name</key><string>meta.brace.round.hx</string></dict></dict><key>end</key><string>(\))</string><key>endCaptures</key><dict><key>1</key><dict><key>name</key><string>meta.brace.round.hx</string></dict></dict><key>patterns</key><array><dict><key>match</key><string>\b(in)\b</string><key>name</key><string>keyword.other.in.hx</string></dict><dict><key>include</key><string>#block</string></dict><dict><key>include</key><string>#block-contents</string></dict></array></dict><key>keywords</key><dict><key>patterns</key><array><dict><key>begin</key><string>(?<=trace|$type|if|while|for|super)\s*(\()</string><key>beginCaptures</key><dict><key>2</key><dict><key>name</key><string>meta.brace.round.hx</string></dict></dict><key>end</key><string>\)</string><key>endCaptures</key><dict><key>0</key><dict><key>name</key><string>meta.brace.round.hx</string></dict></dict><key>patterns</key><array><dict><key>include</key><string>#block-contents</string></dict></array></dict><dict><key>begin</key><string>(?<=catch)\s*(\()</string><key>beginCaptures</key><dict><key>2</key><dict><key>name</key><string>meta.brace.round.hx</string></dict></dict><key>end</key><string>\)</string><key>endCaptures</key><dict><key>0</key><dict><key>name</key><string>meta.brace.round.hx</string></dict></dict><key>patterns</key><array><dict><key>include</key><string>#block-contents</string></dict><dict><key>include</key><string>#type-check</string></dict></array></dict><dict><key>begin</key><string>(?<=cast)\s*(\()</string><key>beginCaptures</key><dict><key>2</key><dict><key>name</key><string>meta.brace.round.hx</string></dict></dict><key>end</key><string>\)</string><key>endCaptures</key><dict><key>0</key><dict><key>name</key><string>meta.brace.round.hx</string></dict></dict><key>patterns</key><array><dict><key>begin</key><string>(?=,)</string><key>end</key><string>(?=\))</string><key>patterns</key><array><dict><key>include</key><string>#type</string></dict></array></dict><dict><key>include</key><string>#block-contents</string></dict></array></dict><dict><key>match</key><string>\b(try|catch|throw)\b</string><key>name</key><string>keyword.control.catch-exception.hx</string></dict><dict><key>begin</key><string>\b(case|default)\b</string><key>beginCaptures</key><dict><key>1</key><dict><key>name</key><string>keyword.control.flow-control.hx</string></dict></dict><key>end</key><string>:|(?=if)|$</string><key>patterns</key><array><dict><key>include</key><string>#global</string></dict><dict><key>include</key><string>#metadata</string></dict><dict><key>match</key><string>\b(var|final)\b\s*([_a-zA-Z]\w*)\b</string><key>captures</key><dict><key>1</key><dict><key>name</key><string>storage.type.variable.hx</string></dict><key>2</key><dict><key>name</key><string>variable.other.hx</string></dict></dict></dict><dict><key>include</key><string>#array</string></dict><dict><key>include</key><string>#constants</string></dict><dict><key>include</key><string>#strings</string></dict><dict><key>match</key><string>\(</string><key>name</key><string>meta.brace.round.hx</string></dict><dict><key>match</key><string>\)</string><key>name</key><string>meta.brace.round.hx</string></dict><dict><key>include</key><string>#macro-reification</string></dict><dict><key>match</key><string>=></string><key>name</key><string>keyword.operator.extractor.hx</string></dict><dict><key>include</key><string>#operator-assignment</string></dict><dict><key>include</key><string>#punctuation-comma</string></dict><dict><key>include</key><string>#keywords</string></dict><dict><key>include</key><string>#method-call</string></dict><dict><key>include</key><string>#identifiers</string></dict></array></dict><dict><key>match</key><string>\b(if|else|return|do|while|for|break|continue|switch|case|default)\b</string><key>name</key><string>keyword.control.flow-control.hx</string></dict><dict><key>match</key><string>\b(cast|untyped)\b</string><key>name</key><string>keyword.other.untyped.hx</string></dict><dict><key>match</key><string>\btrace\b</string><key>name</key><string>keyword.other.trace.hx</string></dict><dict><key>match</key><string>\$type\b</string><key>name</key><string>keyword.other.type.hx</string></dict><dict><key>match</key><string>\__(global|this)__\b</string><key>name</key><string>keyword.other.untyped-property.hx</string></dict><dict><key>match</key><string>\b(this|super)\b</string><key>name</key><string>variable.language.hx</string></dict><dict><key>match</key><string>\bnew\b</string><key>name</key><string>keyword.operator.new.hx</string></dict><dict><key>match</key><string>\b(abstract|class|enum|interface|typedef)\b</string><key>name</key><string>storage.type.hx</string></dict><dict><key>match</key><string>-></string><key>name</key><string>storage.type.function.arrow.hx</string></dict><dict><key>include</key><string>#modifiers</string></dict><dict><key>include</key><string>#modifiers-inheritance</string></dict></array></dict><key>punctuation-braces</key><dict><key>begin</key><string>\(</string><key>beginCaptures</key><dict><key>0</key><dict><key>name</key><string>meta.brace.round.hx</string></dict></dict><key>end</key><string>\)</string><key>endCaptures</key><dict><key>0</key><dict><key>name</key><string>meta.brace.round.hx</string></dict></dict><key>patterns</key><array><dict><key>include</key><string>#keywords</string></dict><dict><key>include</key><string>#block</string></dict><dict><key>include</key><string>#block-contents</string></dict><dict><key>include</key><string>#type-check</string></dict></array></dict><key>type-check</key><dict><key>begin</key><string>(?<!macro)(?=:)</string><key>end</key><string>(?=\))</string><key>patterns</key><array><dict><key>include</key><string>#operator-type-hint</string></dict><dict><key>include</key><string>#type</string></dict></array></dict><key>modifiers-inheritance</key><dict><key>match</key><string>\b(implements|extends)\b</string><key>name</key><string>storage.modifier.hx</string></dict><key>method-call</key><dict><key>begin</key><string>\b(?:(__(?:addressOf|as|call|checked|cpp|cs|define_feature|delete|feature|field|fixed|foreach|forin|has_next|hkeys|in|int|is|java|js|keys|lock|lua|lua_table|new|php|physeq|prefix|ptr|resources|rethrow|set|setfield|sizeof|type|typeof|unprotect|unsafe|valueOf|var|vector|vmem_get|vmem_set|vmem_sign|instanceof|strict_eq|strict_neq)__)|([_a-z]\w*))\s*(\()</string><key>beginCaptures</key><dict><key>1</key><dict><key>name</key><string>keyword.other.untyped-function.hx</string></dict><key>2</key><dict><key>name</key><string>entity.name.function.hx</string></dict><key>3</key><dict><key>name</key><string>meta.brace.round.hx</string></dict></dict><key>end</key><string>(\))</string><key>endCaptures</key><dict><key>1</key><dict><key>name</key><string>meta.brace.round.hx</string></dict></dict><key>patterns</key><array><dict><key>include</key><string>#block</string></dict><dict><key>include</key><string>#block-contents</string></dict></array></dict><key>enum-constructor-call</key><dict><key>begin</key><string>\b(?<!\.)((_*[a-z]\w*\.)*)(_*[A-Z]\w*)(?:(\.)(_*[A-Z]\w*[a-z]\w*))*\s*(\()</string><key>beginCaptures</key><dict><key>1</key><dict><key>name</key><string>support.package.hx</string></dict><key>3</key><dict><key>name</key><string>entity.name.type.hx</string></dict><key>4</key><dict><key>name</key><string>support.package.hx</string></dict><key>5</key><dict><key>name</key><string>entity.name.type.hx</string></dict><key>6</key><dict><key>name</key><string>meta.brace.round.hx</string></dict></dict><key>end</key><string>(\))</string><key>endCaptures</key><dict><key>1</key><dict><key>name</key><string>meta.brace.round.hx</string></dict></dict><key>patterns</key><array><dict><key>include</key><string>#block</string></dict><dict><key>include</key><string>#block-contents</string></dict></array></dict><key>macro-reification</key><dict><key>patterns</key><array><dict><key>match</key><string>(\$)([eabipv])\{</string><key>captures</key><dict><key>1</key><dict><key>name</key><string>punctuation.definition.reification.hx</string></dict><key>2</key><dict><key>name</key><string>keyword.reification.hx</string></dict></dict></dict><dict><key>match</key><string>((\$)([a-zA-Z]*))</string><key>captures</key><dict><key>2</key><dict><key>name</key><string>punctuation.definition.reification.hx</string></dict><key>3</key><dict><key>name</key><string>variable.reification.hx</string></dict></dict></dict></array></dict><key>conditional-compilation</key><dict><key>patterns</key><array><dict><key>match</key><string>((#(if|elseif))[\s!]+([a-zA-Z_][a-zA-Z0-9_]*(\.[a-zA-Z_][a-zA-Z0-9_]*)*)(?=\s|/\*|//))</string><key>captures</key><dict><key>0</key><dict><key>name</key><string>punctuation.definition.tag</string></dict></dict></dict><dict><key>begin</key><string>((#(if|elseif))[\s!]*)(?=\()</string><key>beginCaptures</key><dict><key>0</key><dict><key>name</key><string>punctuation.definition.tag</string></dict></dict><key>end</key><string>(?<=\)|\n)</string><key>endCaptures</key><dict><key>0</key><dict><key>name</key><string>punctuation.definition.tag</string></dict></dict><key>name</key><string>punctuation.definition.tag</string><key>patterns</key><array><dict><key>include</key><string>#conditional-compilation-parens</string></dict></array></dict><dict><key>match</key><string>(#(end|else|error|line))</string><key>name</key><string>punctuation.definition.tag</string></dict><dict><key>match</key><string>(#([a-zA-Z0-9_]*))\s</string><key>name</key><string>punctuation.definition.tag</string></dict></array></dict><key>conditional-compilation-parens</key><dict><key>begin</key><string>\(</string><key>end</key><string>\)</string><key>patterns</key><array><dict><key>include</key><string>#conditional-compilation-parens</string></dict></array></dict><key>operator-assignment</key><dict><key>match</key><string>(=)</string><key>name</key><string>keyword.operator.assignment.hx</string></dict><key>operator-type-hint</key><dict><key>match</key><string>(:)</string><key>name</key><string>keyword.operator.type.annotation.hx</string></dict><key>operators</key><dict><key>patterns</key><array><dict><key>match</key><string>(&&|\|\|)</string><key>name</key><string>keyword.operator.logical.hx</string></dict><dict><key>match</key><string>(~|&|\||\^|>>>|<<|>>)</string><key>name</key><string>keyword.operator.bitwise.hx</string></dict><dict><key>match</key><string>(==|!=|<=|>=|<|>)</string><key>name</key><string>keyword.operator.comparison.hx</string></dict><dict><key>match</key><string>(!)</string><key>name</key><string>keyword.operator.logical.hx</string></dict><dict><key>match</key><string>(\-\-|\+\+)</string><key>name</key><string>keyword.operator.increment-decrement.hx</string></dict><dict><key>match</key><string>(\-|\+|\*|\/|%)</string><key>name</key><string>keyword.operator.arithmetic.hx</string></dict><dict><key>match</key><string>\.\.\.</string><key>name</key><string>keyword.operator.intiterator.hx</string></dict><dict><key>match</key><string>=></string><key>name</key><string>keyword.operator.arrow.hx</string></dict><dict><key>match</key><string>\?\?</string><key>name</key><string>keyword.operator.nullcoalescing.hx</string></dict><dict><key>match</key><string>\?\.</string><key>name</key><string>keyword.operator.safenavigation.hx</string></dict><dict><key>match</key><string>\bis\b(?!\()</string><key>name</key><string>keyword.other.hx</string></dict><dict><key>begin</key><string>\?</string><key>beginCaptures</key><dict><key>0</key><dict><key>name</key><string>keyword.operator.ternary.hx</string></dict></dict><key>end</key><string>:</string><key>endCaptures</key><dict><key>0</key><dict><key>name</key><string>keyword.operator.ternary.hx</string></dict></dict><key>patterns</key><array><dict><key>include</key><string>#block-contents</string></dict></array></dict></array></dict><key>punctuation-comma</key><dict><key>match</key><string>,</string><key>name</key><string>punctuation.separator.comma.hx</string></dict><key>punctuation-accessor</key><dict><key>match</key><string>\.</string><key>name</key><string>punctuation.accessor.hx</string></dict><key>punctuation-terminator</key><dict><key>match</key><string>;</string><key>name</key><string>punctuation.terminator.hx</string></dict><key>constant-name</key><dict><key>match</key><string>\b([_A-Z][_A-Z0-9]*)\b</string><key>name</key><string>variable.other.hx</string></dict><key>type</key><dict><key>patterns</key><array><dict><key>include</key><string>#global</string></dict><dict><key>include</key><string>#macro-reification</string></dict><dict><key>include</key><string>#type-name</string></dict><dict><key>include</key><string>#type-parameters</string></dict><dict><key>match</key><string>-></string><key>name</key><string>keyword.operator.type.function.hx</string></dict><dict><key>match</key><string>&</string><key>name</key><string>keyword.operator.type.intersection.hx</string></dict><dict><key>match</key><string>\?(?=\s*[_A-Z])</string><key>name</key><string>keyword.operator.optional</string></dict><dict><key>match</key><string>\?(?!\s*[_A-Z])</string><key>name</key><string>punctuation.definition.tag</string></dict><dict><key>begin</key><string>(\{)</string><key>beginCaptures</key><dict><key>0</key><dict><key>name</key><string>punctuation.definition.block.begin.hx</string></dict></dict><key>end</key><string>(?<=\})</string><key>patterns</key><array><dict><key>include</key><string>#typedef-block</string></dict></array></dict><dict><key>include</key><string>#function-type</string></dict></array></dict><key>function-type</key><dict><key>begin</key><string>\(</string><key>beginCaptures</key><dict><key>0</key><dict><key>name</key><string>punctuation.definition.parameters.begin.hx</string></dict></dict><key>end</key><string>\)</string><key>endCaptures</key><dict><key>0</key><dict><key>name</key><string>punctuation.definition.parameters.end.hx</string></dict></dict><key>patterns</key><array><dict><key>include</key><string>#function-type-parameter</string></dict></array></dict><key>function-type-parameter</key><dict><key>begin</key><string>(?<=\(|,)</string><key>end</key><string>(?=\)|,)</string><key>patterns</key><array><dict><key>include</key><string>#global</string></dict><dict><key>include</key><string>#metadata</string></dict><dict><key>include</key><string>#operator-optional</string></dict><dict><key>include</key><string>#punctuation-comma</string></dict><dict><key>include</key><string>#function-type-parameter-name</string></dict><dict><key>include</key><string>#function-type-parameter-type-hint</string></dict><dict><key>include</key><string>#parameter-assign</string></dict><dict><key>include</key><string>#type</string></dict><dict><key>include</key><string>#global</string></dict></array></dict><key>function-type-parameter-name</key><dict><key>match</key><string>([_a-zA-Z]\w*)(?=\s*:)</string><key>captures</key><dict><key>1</key><dict><key>name</key><string>variable.parameter.hx</string></dict></dict></dict><key>function-type-parameter-type-hint</key><dict><key>begin</key><string>:</string><key>beginCaptures</key><dict><key>0</key><dict><key>name</key><string>keyword.operator.type.annotation.hx</string></dict></dict><key>end</key><string>(?=\)|,|=)</string><key>patterns</key><array><dict><key>include</key><string>#type</string></dict></array></dict><key>type-name</key><dict><key>patterns</key><array><dict><key>match</key><string>\b(Any|Array|ArrayAccess|Bool|Class|Date|DateTools|Dynamic|Enum|EnumValue|EReg|Float|IMap|Int|IntIterator|Iterable|Iterator|KeyValueIterator|KeyValueIterable|Lambda|List|ListIterator|ListNode|Map|Math|Null|Reflect|Single|Std|String|StringBuf|StringTools|Sys|Type|UInt|UnicodeString|ValueType|Void|Xml|XmlType)(?:(\.)(_*[A-Z]\w*[a-z]\w*))*\b</string><key>captures</key><dict><key>1</key><dict><key>name</key><string>support.class.builtin.hx</string></dict><key>2</key><dict><key>name</key><string>support.package.hx</string></dict><key>3</key><dict><key>name</key><string>entity.name.type.hx</string></dict></dict></dict><dict><key>match</key><string>\b(?<![^.]\.)((_*[a-z]\w*\.)*)(_*[A-Z]\w*)(?:(\.)(_*[A-Z]\w*[a-z]\w*))*\b</string><key>captures</key><dict><key>1</key><dict><key>name</key><string>support.package.hx</string></dict><key>3</key><dict><key>name</key><string>entity.name.type.hx</string></dict><key>4</key><dict><key>name</key><string>support.package.hx</string></dict><key>5</key><dict><key>name</key><string>entity.name.type.hx</string></dict></dict></dict></array></dict><key>type-parameters</key><dict><key>begin</key><string>(<)</string><key>beginCaptures</key><dict><key>1</key><dict><key>name</key><string>punctuation.definition.typeparameters.begin.hx</string></dict></dict><key>end</key><string>(?=$)|(>)</string><key>endCaptures</key><dict><key>1</key><dict><key>name</key><string>punctuation.definition.typeparameters.end.hx</string></dict></dict><key>name</key><string>meta.type-parameters.hx</string><key>patterns</key><array><dict><key>include</key><string>#type</string></dict><dict><key>include</key><string>#type-parameter-constraint-old</string></dict><dict><key>include</key><string>#type-parameter-constraint-new</string></dict><dict><key>include</key><string>#global</string></dict><dict><key>include</key><string>#regex</string></dict><dict><key>include</key><string>#array</string></dict><dict><key>include</key><string>#constants</string></dict><dict><key>include</key><string>#strings</string></dict><dict><key>include</key><string>#metadata</string></dict><dict><key>include</key><string>#punctuation-comma</string></dict></array></dict><key>type-parameter-constraint-old</key><dict><key>begin</key><string>(:)\s*(\()</string><key>beginCaptures</key><dict><key>1</key><dict><key>name</key><string>keyword.operator.type.annotation.hx</string></dict><key>2</key><dict><key>name</key><string>punctuation.definition.constraint.begin.hx</string></dict></dict><key>end</key><string>\)</string><key>endCaptures</key><dict><key>0</key><dict><key>name</key><string>punctuation.definition.constraint.end.hx</string></dict></dict><key>patterns</key><array><dict><key>include</key><string>#type</string></dict><dict><key>include</key><string>#punctuation-comma</string></dict></array></dict><key>type-parameter-constraint-new</key><dict><key>match</key><string>:</string><key>name</key><string>keyword.operator.type.annotation.hxt</string></dict><key>identifier-name</key><dict><key>match</key><string>\b([_A-Za-z]\w*)\b</string><key>name</key><string>variable.other.hx</string></dict></dict></dict></plist>