-
Notifications
You must be signed in to change notification settings - Fork 9
/
hlcode.tmLanguage
1 lines (1 loc) · 44.1 KB
/
hlcode.tmLanguage
1
<?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>name</key><string>HashLink bytecode dump file</string><key>scopeName</key><string>source.hlcode</string><key>patterns</key><array><dict><key>match</key><string>^(hl) (v)(\d+)$</string><key>captures</key><dict><key>1</key><dict><key>name</key><string>keyword.hlcode</string></dict><key>2</key><dict><key>name</key><string>constant.language.hlcode</string></dict><key>3</key><dict><key>name</key><string>constant.numeric.hlcode</string></dict></dict></dict><dict><key>match</key><string>^(entry) (@\d+)$</string><key>captures</key><dict><key>1</key><dict><key>name</key><string>keyword.hlcode</string></dict><key>2</key><dict><key>name</key><string>support.function.hlcode</string></dict></dict></dict><dict><key>begin</key><string>^(\d+) (strings)$</string><key>beginCaptures</key><dict><key>1</key><dict><key>name</key><string>constant.numeric.hlcode</string></dict><key>2</key><dict><key>name</key><string>keyword.hlcode</string></dict></dict><key>end</key><string>^(?=\d+ bytes)</string><key>patterns</key><array><dict><key>match</key><string>^\t(@\d+) (:) (.*)$</string><key>captures</key><dict><key>1</key><dict><key>name</key><string>constant.language.hlcode</string></dict><key>2</key><dict><key>name</key><string>operator.hlcode</string></dict><key>3</key><dict><key>name</key><string>string.hlcode</string></dict></dict></dict><dict><key>include</key><string>#invalid</string></dict></array></dict><dict><key>begin</key><string>^(\d+) (bytes)$</string><key>beginCaptures</key><dict><key>1</key><dict><key>name</key><string>constant.numeric.hlcode</string></dict><key>2</key><dict><key>name</key><string>keyword.hlcode</string></dict></dict><key>end</key><string>^(?=\d+ ints)</string><key>patterns</key><array><dict><key>match</key><string>^\t(@\d+) (:) (\d+)$</string><key>captures</key><dict><key>1</key><dict><key>name</key><string>constant.language.hlcode</string></dict><key>2</key><dict><key>name</key><string>operator.hlcode</string></dict><key>3</key><dict><key>name</key><string>constant.numeric.hlcode</string></dict></dict></dict><dict><key>include</key><string>#invalid</string></dict></array></dict><dict><key>begin</key><string>^(\d+) (ints)$</string><key>beginCaptures</key><dict><key>1</key><dict><key>name</key><string>constant.numeric.hlcode</string></dict><key>2</key><dict><key>name</key><string>keyword.hlcode</string></dict></dict><key>end</key><string>^(?=\d+ floats)</string><key>patterns</key><array><dict><key>match</key><string>^\t(@\d+) (:) (-?\d+)$</string><key>captures</key><dict><key>1</key><dict><key>name</key><string>constant.language.hlcode</string></dict><key>2</key><dict><key>name</key><string>operator.hlcode</string></dict><key>3</key><dict><key>name</key><string>constant.numeric.hlcode</string></dict></dict></dict><dict><key>include</key><string>#invalid</string></dict></array></dict><dict><key>begin</key><string>^(\d+) (floats)$</string><key>beginCaptures</key><dict><key>1</key><dict><key>name</key><string>constant.numeric.hlcode</string></dict><key>2</key><dict><key>name</key><string>keyword.hlcode</string></dict></dict><key>end</key><string>^(?=\d+ globals)</string><key>patterns</key><array><dict><key>match</key><string>^\t(@\d+) (:) (-?(?:\d+\.\d*|\.\d+))$</string><key>captures</key><dict><key>1</key><dict><key>name</key><string>constant.language.hlcode</string></dict><key>2</key><dict><key>name</key><string>operator.hlcode</string></dict><key>3</key><dict><key>name</key><string>constant.numeric.hlcode</string></dict></dict></dict><dict><key>include</key><string>#invalid</string></dict></array></dict><dict><key>begin</key><string>^(\d+) (globals)$</string><key>beginCaptures</key><dict><key>1</key><dict><key>name</key><string>constant.numeric.hlcode</string></dict><key>2</key><dict><key>name</key><string>keyword.hlcode</string></dict></dict><key>end</key><string>^(?=\d+ natives)</string><key>patterns</key><array><dict><key>match</key><string>^\t(@\d+) (:) (.*)$</string><key>captures</key><dict><key>1</key><dict><key>name</key><string>constant.language.hlcode</string></dict><key>2</key><dict><key>name</key><string>operator.hlcode</string></dict><key>3</key><dict><key>patterns</key><array><dict><key>include</key><string>#types</string></dict><dict><key>include</key><string>#invalid</string></dict></array></dict></dict></dict><dict><key>include</key><string>#invalid</string></dict></array></dict><dict><key>begin</key><string>^(\d+) (natives)$</string><key>beginCaptures</key><dict><key>1</key><dict><key>name</key><string>constant.numeric.hlcode</string></dict><key>2</key><dict><key>name</key><string>keyword.hlcode</string></dict></dict><key>end</key><string>^(?=\d+ functions)</string><key>patterns</key><array><dict><key>match</key><string>^\t(@\d+) (native) (\w+@\w+) (.*)$</string><key>captures</key><dict><key>1</key><dict><key>name</key><string>constant.language.hlcode</string></dict><key>2</key><dict><key>name</key><string>keyword.hlcode</string></dict><key>3</key><dict><key>name</key><string>support.function.hlcode</string></dict><key>4</key><dict><key>patterns</key><array><dict><key>include</key><string>#types</string></dict><dict><key>include</key><string>#invalid</string></dict></array></dict></dict></dict><dict><key>include</key><string>#invalid</string></dict></array></dict><dict><key>begin</key><string>^(\d+) (functions)$</string><key>beginCaptures</key><dict><key>1</key><dict><key>name</key><string>constant.numeric.hlcode</string></dict><key>2</key><dict><key>name</key><string>keyword.hlcode</string></dict></dict><key>end</key><string>^(?=\d+ objects protos)</string><key>patterns</key><array><dict><key>begin</key><string>^\t(fun)(@\d+)(\()(\h+h)(\)) (.*)$</string><key>beginCaptures</key><dict><key>1</key><dict><key>name</key><string>keyword.hlcode</string></dict><key>2</key><dict><key>name</key><string>support.function.hlcode</string></dict><key>3</key><dict><key>name</key><string>punctuation.definition.param.begin.hlcode</string></dict><key>4</key><dict><key>name</key><string>constant.numeric.hlcode</string></dict><key>5</key><dict><key>name</key><string>punctuation.definition.param.end.hlcode</string></dict><key>6</key><dict><key>patterns</key><array><dict><key>include</key><string>#func-type</string></dict><dict><key>include</key><string>#invalid</string></dict></array></dict></dict><key>end</key><string>^(?=\tfun@\d+|\d+ objects protos)</string><key>patterns</key><array><dict><key>include</key><string>#line-comment</string></dict><dict><key>match</key><string>^[ \t]*(r)(\d+) (.*)$</string><key>captures</key><dict><key>1</key><dict><key>name</key><string>keyword.hlcode</string></dict><key>2</key><dict><key>name</key><string>constant.numeric.hlcode</string></dict><key>3</key><dict><key>patterns</key><array><dict><key>include</key><string>#types</string></dict><dict><key>include</key><string>#invalid</string></dict></array></dict></dict></dict><dict><key>match</key><string>^[ \t]+(\.\d+)[ \t]+(@\h+)[ \t]+(.*)$</string><key>captures</key><dict><key>1</key><dict><key>name</key><string>string.hlcode</string></dict><key>2</key><dict><key>name</key><string>constant.numeric.hlcode</string></dict><key>3</key><dict><key>patterns</key><array><dict><key>include</key><string>#opcodes</string></dict><dict><key>include</key><string>#invalid</string></dict></array></dict></dict></dict><dict><key>include</key><string>#invalid</string></dict></array></dict><dict><key>include</key><string>#invalid</string></dict></array></dict><dict><key>begin</key><string>^(\d+) (objects protos)$</string><key>beginCaptures</key><dict><key>1</key><dict><key>name</key><string>constant.numeric.hlcode</string></dict><key>2</key><dict><key>name</key><string>keyword.hlcode</string></dict></dict><key>end</key><string>(?=^\d+ constant values)</string><key>patterns</key><array><dict><key>begin</key><string>^\t([a-zA-Z_$][\w$]*(?:\.[a-zA-Z_$][\w$]*)*) (no global)$</string><key>beginCaptures</key><dict><key>1</key><dict><key>patterns</key><array><dict><key>include</key><string>#type-name</string></dict></array></dict><key>2</key><dict><key>name</key><string>keyword.hlcode</string></dict></dict><key>end</key><string>^(?=\t(?!\t)|\d+ constant values)</string><key>patterns</key><array><dict><key>include</key><string>#proto-body</string></dict></array></dict><dict><key>begin</key><string>^\t([a-zA-Z_$][\w$]*(?:\.[a-zA-Z_$][\w$]*)*) (@\d+)$</string><key>beginCaptures</key><dict><key>1</key><dict><key>patterns</key><array><dict><key>include</key><string>#type-name</string></dict></array></dict><key>2</key><dict><key>name</key><string>constant.language.hlcode</string></dict></dict><key>end</key><string>^(?=\t(?!\t)|\d+ constant values)</string><key>patterns</key><array><dict><key>include</key><string>#proto-body</string></dict><dict><key>include</key><string>#invalid</string></dict></array></dict><dict><key>include</key><string>#invalid</string></dict></array></dict><dict><key>begin</key><string>^(\d+) (constant values)$</string><key>beginCaptures</key><dict><key>1</key><dict><key>name</key><string>constant.numeric.hlcode</string></dict><key>2</key><dict><key>name</key><string>keyword.hlcode</string></dict></dict><key>end</key><string>(?=end)never</string><key>patterns</key><array><dict><key>begin</key><string>^[ \t]+(@\d+) </string><key>beginCaptures</key><dict><key>1</key><dict><key>name</key><string>constant.language.hlcode</string></dict></dict><key>end</key><string> (\[)((?:\d+(?:,\d+)*)?)(\])$</string><key>endCaptures</key><dict><key>1</key><dict><key>name</key><string>punctuation.definition.brackets.begin.hlcode</string></dict><key>2</key><dict><key>patterns</key><array><dict><key>match</key><string>\d+</string><key>name</key><string>constant.numeric.hlcode</string></dict><dict><key>match</key><string>,</string><key>name</key><string>operator.hlcode</string></dict><dict><key>include</key><string>#invalid</string></dict></array></dict><key>3</key><dict><key>name</key><string>punctuation.definition.brackets.end.hlcode</string></dict></dict><key>patterns</key><array><dict><key>include</key><string>#types</string></dict><dict><key>include</key><string>#invalid</string></dict></array></dict></array></dict></array><key>repository</key><dict><key>line-comment</key><dict><key>match</key><string>[ \t]*;.*$</string><key>name</key><string>comment.hlcode</string></dict><key>invalid</key><dict><key>match</key><string>.</string><key>name</key><string>invalid.illegal.hlcode</string></dict><key>type-name</key><dict><key>patterns</key><array><dict><key>begin</key><string>@?[a-zA-Z_$][\w$]*(?=\.[a-zA-Z_$])</string><key>beginCaptures</key><dict><key>0</key><dict><key>name</key><string>entity.name.type.hlcode</string></dict></dict><key>end</key><string>(\.)([a-zA-Z_$][\w$]*)(?!\.)</string><key>endCaptures</key><dict><key>1</key><dict><key>name</key><string>operator.hlcode</string></dict><key>2</key><dict><key>name</key><string>entity.name.type.hlcode</string></dict></dict><key>patterns</key><array><dict><key>match</key><string>(\.)([a-zA-Z_$][\w$]*)(?=\.)</string><key>captures</key><dict><key>1</key><dict><key>name</key><string>operator.hlcode</string></dict><key>2</key><dict><key>name</key><string>entity.name.type.hlcode</string></dict></dict></dict><dict><key>include</key><string>#invalid</string></dict></array></dict><dict><key>match</key><string>@?[A-Z_$][\w$]*(?![\w$]+[(:.])</string><key>name</key><string>entity.name.type.hlcode</string></dict></array></dict><key>func-type</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.typeparams.begin.hlcode</string></dict></dict><key>end</key><string>(\))(?=:(?:[a-zA-Z_$(]|@?\[))</string><key>endCaptures</key><dict><key>0</key><dict><key>name</key><string>punctuation.definition.typeparams.end.hlcode</string></dict></dict><key>patterns</key><array><dict><key>include</key><string>#types</string></dict><dict><key>match</key><string>,</string><key>name</key><string>operator.hlcode</string></dict><dict><key>include</key><string>#invalid</string></dict></array></dict><dict><key>begin</key><string>(:)(?=[a-zA-Z_$(]|@?\[)</string><key>beginCaptures</key><dict><key>1</key><dict><key>name</key><string>operator.hlcode</string></dict></dict><key>end</key><string>(?=[),]|$)</string><key>patterns</key><array><dict><key>include</key><string>#types</string></dict><dict><key>include</key><string>#invalid</string></dict></array></dict></array></dict><key>types</key><dict><key>patterns</key><array><dict><key>match</key><string>(?:ui8|ui16|[if](?:32|64)|bool|bytes|string|void|array|dyn(?:obj)?|type)(?=\b)</string><key>name</key><string>entity.name.type.hlcode</string></dict><dict><key>begin</key><string>(ref|null)(\()</string><key>beginCaptures</key><dict><key>1</key><dict><key>name</key><string>entity.name.type.hlcode</string></dict><key>2</key><dict><key>name</key><string>punctuation.definition.typeparams.begin.hlcode</string></dict></dict><key>end</key><string>\)</string><key>endCaptures</key><dict><key>0</key><dict><key>name</key><string>punctuation.definition.typeparams.end.hlcode</string></dict></dict><key>patterns</key><array><dict><key>include</key><string>#types</string></dict><dict><key>include</key><string>#invalid</string></dict></array></dict><dict><key>match</key><string>(abstract)(\()([a-zA-Z_$][\w$]*)(\))</string><key>captures</key><dict><key>1</key><dict><key>name</key><string>entity.name.type.hlcode</string></dict><key>2</key><dict><key>name</key><string>punctuation.definition.typeparams.begin.hlcode</string></dict><key>3</key><dict><key>name</key><string>entity.name.type.hlcode</string></dict><key>4</key><dict><key>name</key><string>punctuation.definition.typeparams.end.hlcode</string></dict></dict></dict><dict><key>begin</key><string>(enum)(\()</string><key>beginCaptures</key><dict><key>1</key><dict><key>name</key><string>entity.name.type.hlcode</string></dict><key>2</key><dict><key>name</key><string>punctuation.definition.typeparams.begin.hlcode</string></dict></dict><key>end</key><string>\)</string><key>endCaptures</key><dict><key>0</key><dict><key>name</key><string>punctuation.definition.typeparams.end.hlcode</string></dict></dict><key>patterns</key><array><dict><key>include</key><string>#types</string></dict><dict><key>match</key><string>,</string><key>name</key><string>operator.hlcode</string></dict><dict><key>include</key><string>#invalid</string></dict></array></dict><dict><key>begin</key><string>(method)(:)(\()</string><key>beginCaptures</key><dict><key>1</key><dict><key>name</key><string>entity.name.type.hlcode</string></dict><key>2</key><dict><key>name</key><string>operator.hlcode</string></dict><key>3</key><dict><key>name</key><string>punctuation.definition.args.begin.hlcode</string></dict></dict><key>end</key><string>(\))(:)(?=[a-zA-Z_$(]|@?\[)</string><key>endCaptures</key><dict><key>1</key><dict><key>name</key><string>punctuation.definition.args.end.hlcode</string></dict><key>2</key><dict><key>name</key><string>operator.hlcode</string></dict></dict><key>patterns</key><array><dict><key>include</key><string>#types</string></dict><dict><key>match</key><string>,</string><key>name</key><string>operator.hlcode</string></dict><dict><key>include</key><string>#invalid</string></dict></array></dict><dict><key>include</key><string>#func-type</string></dict><dict><key>begin</key><string>(virtual)(\()</string><key>beginCaptures</key><dict><key>1</key><dict><key>name</key><string>entity.name.type.hlcode</string></dict><key>2</key><dict><key>name</key><string>punctuation.definition.args.begin.hlcode</string></dict></dict><key>end</key><string>\)</string><key>endCaptures</key><dict><key>0</key><dict><key>name</key><string>punctuation.definition.args.end.hlcode</string></dict></dict><key>patterns</key><array><dict><key>begin</key><string>([a-zA-Z_$][\w$]*)(:)</string><key>beginCaptures</key><dict><key>1</key><dict><key>name</key><string>variable.hlcode</string></dict><key>2</key><dict><key>name</key><string>operator.hlcode</string></dict></dict><key>end</key><string>(?=[,)])</string><key>patterns</key><array><dict><key>include</key><string>#types</string></dict><dict><key>include</key><string>#invalid</string></dict></array></dict><dict><key>match</key><string>,</string><key>name</key><string>operator.hlcode</string></dict><dict><key>include</key><string>#invalid</string></dict></array></dict><dict><key>match</key><string>\.{3}</string><key>name</key><string>entity.name.type.hlcode</string></dict><dict><key>include</key><string>#type-name</string></dict><dict><key>begin</key><string>@?\[</string><key>beginCaptures</key><dict><key>0</key><dict><key>name</key><string>punctuation.definition.obj.begin.hlcode</string></dict></dict><key>end</key><string>\]</string><key>endCaptures</key><dict><key>0</key><dict><key>name</key><string>punctuation.definition.obj.end.hlcode</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>operator.hlcode</string></dict></dict><key>end</key><string> </string><key>endCaptures</key><dict><key>0</key><dict><key>name</key><string>text.hlcode</string></dict></dict><key>patterns</key><array><dict><key>include</key><string>#type-name</string></dict><dict><key>include</key><string>#invalid</string></dict></array></dict><dict><key>begin</key><string>(fields)(=)(\{)</string><key>beginCaptures</key><dict><key>1</key><dict><key>name</key><string>keyword.hlcode</string></dict><key>2</key><dict><key>name</key><string>operator.hlcode</string></dict><key>3</key><dict><key>name</key><string>punctuation.definition.fields.begin.hlcode</string></dict></dict><key>end</key><string>\}</string><key>endCaptures</key><dict><key>0</key><dict><key>name</key><string>punctuation.definition.fields.end.hlcode</string></dict></dict><key>patterns</key><array><dict><key>begin</key><string>([a-zA-Z_$][\w$]*)(:)</string><key>beginCaptures</key><dict><key>1</key><dict><key>name</key><string>variable.hlcode</string></dict><key>2</key><dict><key>name</key><string>keyword.operator.hlcode</string></dict></dict><key>end</key><string>(?=[},])</string><key>patterns</key><array><dict><key>include</key><string>#types</string></dict><dict><key>include</key><string>#invalid</string></dict><dict><key>match</key><string>,</string><key>name</key><string>operator.hlcode</string></dict><dict><key>include</key><string>#invalid</string></dict></array></dict><dict><key>begin</key><string>(proto)(=)(\{)</string><key>beginCaptures</key><dict><key>1</key><dict><key>name</key><string>keyword.hlcode</string></dict><key>2</key><dict><key>name</key><string>operator.hlcode</string></dict><key>3</key><dict><key>name</key><string>punctuation.definition.fields.begin.hlcode</string></dict></dict><key>end</key><string>\}</string><key>endCaptures</key><dict><key>0</key><dict><key>name</key><string>punctuation.definition.fields.end.hlcode</string></dict></dict><key>patterns</key><array><dict><key>match</key><string>((?:virtual )?)([a-zA-Z_$][\w$]*)(@\d+)</string><key>captures</key><dict><key>1</key><dict><key>name</key><string>keyword.hlcode</string></dict><key>2</key><dict><key>name</key><string>entity.name.function.hlcode</string></dict><key>3</key><dict><key>name</key><string>support.function.hlcode</string></dict></dict></dict><dict><key>match</key><string>,</string><key>name</key><string>operator.hlcode</string></dict><dict><key>include</key><string>#invalid</string></dict></array></dict><dict><key>include</key><string>#invalid</string></dict></array></dict></array></dict></array></dict><key>opcodes</key><dict><key>patterns</key><array><dict><key>match</key><string>(mov|neg|not|to(?:dyn|[su]float|int|virtual)|(?:un)?safecast|arraysize|get(?:type|tid)|enumindex|refdata) (\d+) *(,) *(\d+)$</string><key>captures</key><dict><key>1</key><dict><key>name</key><string>keyword.hlcode</string></dict><key>2</key><dict><key>name</key><string>variable.hlcode</string></dict><key>3</key><dict><key>name</key><string>operator.hlcode</string></dict><key>4</key><dict><key>name</key><string>variable.hlcode</string></dict></dict></dict><dict><key>match</key><string>(int|float|string|bytes) (\d+) *(,) *(@\d+)$</string><key>captures</key><dict><key>1</key><dict><key>name</key><string>keyword.hlcode</string></dict><key>2</key><dict><key>name</key><string>variable.hlcode</string></dict><key>3</key><dict><key>name</key><string>operator.hlcode</string></dict><key>4</key><dict><key>name</key><string>constant.language.hlcode</string></dict></dict></dict><dict><key>match</key><string>(true|false|null(?:check)?|incr|decr|ret|new|(?:re)?throw) (\d+)$</string><key>captures</key><dict><key>1</key><dict><key>name</key><string>keyword.hlcode</string></dict><key>2</key><dict><key>name</key><string>variable.hlcode</string></dict></dict></dict><dict><key>match</key><string>(add|sub|mul|[su](?:div|mod|shr)|shl|and|x?or|set(?:ui8|ui16|mem)|refoffset) (\d+) *(,) *(\d+) *(,) *(\d+)$</string><key>captures</key><dict><key>1</key><dict><key>name</key><string>keyword.hlcode</string></dict><key>2</key><dict><key>name</key><string>variable.hlcode</string></dict><key>3</key><dict><key>name</key><string>operator.hlcode</string></dict><key>4</key><dict><key>name</key><string>variable.hlcode</string></dict><key>5</key><dict><key>name</key><string>operator.hlcode</string></dict><key>6</key><dict><key>name</key><string>variable.hlcode</string></dict></dict></dict><dict><key>begin</key><string>(call) (\d+)(,) ((?:[a-zA-Z_$][\w$]*\.)*)([a-zA-Z_$][\w$]*)(\()</string><key>beginCaptures</key><dict><key>1</key><dict><key>name</key><string>keyword.hlcode</string></dict><key>2</key><dict><key>name</key><string>variable.hlcode</string></dict><key>3</key><dict><key>name</key><string>operator.hlcode</string></dict><key>4</key><dict><key>patterns</key><array><dict><key>match</key><string>[a-zA-Z_$][\w$]*(?=\.[a-zA-Z_$][\w$]*\()</string><key>name</key><string>entity.name.type.hlcode</string></dict><dict><key>begin</key><string>[a-zA-Z_$][\w$]*(?=\.)</string><key>beginCaptures</key><dict><key>0</key><dict><key>name</key><string>entity.name.type.hlcode</string></dict></dict><key>end</key><string>\.(?=[a-zA-Z_$][\w$]*\()</string><key>endCaptures</key><dict><key>0</key><dict><key>name</key><string>operator.hlcode</string></dict></dict><key>patterns</key><array><dict><key>match</key><string>(\.)([a-zA-Z_$][\w$]*)(?![\w$]*\()</string><key>captures</key><dict><key>1</key><dict><key>name</key><string>operator.hlcode</string></dict><key>2</key><dict><key>name</key><string>entity.name.type.hlcode</string></dict></dict></dict></array></dict></array></dict><key>5</key><dict><key>name</key><string>entity.name.function.hlcode</string></dict><key>6</key><dict><key>name</key><string>punctuation.definition.params.begin.hlcode</string></dict></dict><key>end</key><string>\)$</string><key>endCaptures</key><dict><key>0</key><dict><key>name</key><string>punctuation.definition.params.end.hlcode</string></dict></dict><key>patterns</key><array><dict><key>match</key><string>\d+</string><key>name</key><string>variable.hlcode</string></dict><dict><key>match</key><string>,</string><key>name</key><string>operator.hlcode</string></dict><dict><key>include</key><string>#invalid</string></dict></array></dict><dict><key>begin</key><string>(call) (\d+)(,) (\w+@\w+)(\()</string><key>beginCaptures</key><dict><key>1</key><dict><key>name</key><string>keyword.hlcode</string></dict><key>2</key><dict><key>name</key><string>variable.hlcode</string></dict><key>3</key><dict><key>name</key><string>operator.hlcode</string></dict><key>4</key><dict><key>name</key><string>support.function.hlcode</string></dict><key>5</key><dict><key>name</key><string>punctuation.definition.params.begin.hlcode</string></dict></dict><key>end</key><string>\)$</string><key>endCaptures</key><dict><key>0</key><dict><key>name</key><string>punctuation.definition.params.end.hlcode</string></dict></dict><key>patterns</key><array><dict><key>match</key><string>\d</string><key>name</key><string>variable.hlcode</string></dict><dict><key>match</key><string>,</string><key>name</key><string>operator.hlcode</string></dict><dict><key>include</key><string>#invalid</string></dict></array></dict><dict><key>begin</key><string>(callmethod) (\d+)(,) (\d+)(\[)(\d+)(\])(\()</string><key>beginCaptures</key><dict><key>1</key><dict><key>name</key><string>keyword.hlcode</string></dict><key>2</key><dict><key>name</key><string>variable.hlcode</string></dict><key>3</key><dict><key>name</key><string>operator.hlcode</string></dict><key>4</key><dict><key>name</key><string>variable.hlcode</string></dict><key>5</key><dict><key>name</key><string>punctuation.definition.index.begin.hlcode</string></dict><key>6</key><dict><key>name</key><string>entity.name.function.hlcode</string></dict><key>7</key><dict><key>name</key><string>punctuation.definition.index.end.hlcode</string></dict><key>8</key><dict><key>name</key><string>punctuation.definition.params.begin.hlcode</string></dict></dict><key>end</key><string>\)$</string><key>endCaptures</key><dict><key>0</key><dict><key>name</key><string>punctuation.definition.params.end.hlcode</string></dict></dict><key>patterns</key><array><dict><key>match</key><string>\d+</string><key>name</key><string>variable.hlcode</string></dict><dict><key>match</key><string>,</string><key>name</key><string>operator.hlcode</string></dict><dict><key>include</key><string>#invalid</string></dict></array></dict><dict><key>begin</key><string>(callclosure) (\d+)(,) (\d+)(\()</string><key>beginCaptures</key><dict><key>1</key><dict><key>name</key><string>keyword.hlcode</string></dict><key>2</key><dict><key>name</key><string>variable.hlcode</string></dict><key>3</key><dict><key>name</key><string>operator.hlcode</string></dict><key>4</key><dict><key>name</key><string>variable.hlcode</string></dict><key>5</key><dict><key>name</key><string>punctuation.definition.params.begin.hlcode</string></dict></dict><key>end</key><string>\)$</string><key>endCaptures</key><dict><key>0</key><dict><key>name</key><string>punctuation.definition.params.end.hlcode</string></dict></dict><key>patterns</key><array><dict><key>match</key><string>\d+</string><key>name</key><string>variable.hlcode</string></dict><dict><key>match</key><string>,</string><key>name</key><string>operator.hlcode</string></dict><dict><key>include</key><string>#invalid</string></dict></array></dict><dict><key>begin</key><string>(callthis) (\d+)(,) (\[)(\d+)(\])(\()</string><key>beginCaptures</key><dict><key>1</key><dict><key>name</key><string>keyword.hlcode</string></dict><key>2</key><dict><key>name</key><string>variable.hlcode</string></dict><key>3</key><dict><key>name</key><string>operator.hlcode</string></dict><key>4</key><dict><key>name</key><string>punctuation.definition.index.begin.hlcode</string></dict><key>5</key><dict><key>name</key><string>entity.name.function.hlcode</string></dict><key>6</key><dict><key>name</key><string>punctuation.definition.index.end.hlcode</string></dict><key>7</key><dict><key>name</key><string>punctuation.definition.params.begin.hlcode</string></dict></dict><key>end</key><string>\)$</string><key>endCaptures</key><dict><key>0</key><dict><key>name</key><string>punctuation.definition.params.end.hlcode</string></dict></dict><key>patterns</key><array><dict><key>match</key><string>\d+</string><key>name</key><string>variable.hlcode</string></dict><dict><key>match</key><string>,</string><key>name</key><string>operator.hlcode</string></dict><dict><key>include</key><string>#invalid</string></dict></array></dict><dict><key>match</key><string>(staticclosure) (\d+)(,) +([a-zA-Z_$][\w$]*)$</string><key>captures</key><dict><key>1</key><dict><key>name</key><string>keyword.hlcode</string></dict><key>2</key><dict><key>name</key><string>variable.hlcode</string></dict><key>3</key><dict><key>name</key><string>operator.hlcode</string></dict><key>4</key><dict><key>name</key><string>entity.name.function.hlcode</string></dict></dict></dict><dict><key>match</key><string>(instanceclosure) (\d+)(,) +([a-zA-Z_$][\w$]*)(\()(\d+)(\))$</string><key>captures</key><dict><key>1</key><dict><key>name</key><string>keyword.hlcode</string></dict><key>2</key><dict><key>name</key><string>variable.hlcode</string></dict><key>3</key><dict><key>name</key><string>operator.hlcode</string></dict><key>4</key><dict><key>name</key><string>entity.name.function.hlcode</string></dict><key>5</key><dict><key>name</key><string>punctuation.definition.params.begin.hlcode</string></dict><key>6</key><dict><key>name</key><string>variable.hlcode</string></dict><key>7</key><dict><key>name</key><string>punctuation.definition.params.begin.hlcode</string></dict></dict></dict><dict><key>match</key><string>(virtualclosure) (\d+)(,) *(\d+)(\[)(\d+)(\])$</string><key>captures</key><dict><key>1</key><dict><key>name</key><string>keyword.hlcode</string></dict><key>2</key><dict><key>name</key><string>variable.hlcode</string></dict><key>3</key><dict><key>name</key><string>operator.hlcode</string></dict><key>4</key><dict><key>name</key><string>variable.hlcode</string></dict><key>5</key><dict><key>name</key><string>punctuation.definition.params.begin.hlcode</string></dict><key>6</key><dict><key>name</key><string>entity.name.function.hlcode</string></dict><key>7</key><dict><key>name</key><string>punctuation.definition.params.begin.hlcode</string></dict></dict></dict><dict><key>match</key><string>(global|enumalloc) (\d+) *(,) *(\d+)$</string><key>captures</key><dict><key>1</key><dict><key>name</key><string>keyword.hlcode</string></dict><key>2</key><dict><key>name</key><string>variable.hlcode</string></dict><key>3</key><dict><key>name</key><string>operator.hlcode</string></dict><key>4</key><dict><key>name</key><string>constant.language.hlcode</string></dict></dict></dict><dict><key>match</key><string>(setglobal) (\d+) *(,) *(\d+)$</string><key>captures</key><dict><key>1</key><dict><key>name</key><string>keyword.hlcode</string></dict><key>2</key><dict><key>name</key><string>constant.language.hlcode</string></dict><key>3</key><dict><key>name</key><string>operator.hlcode</string></dict><key>4</key><dict><key>name</key><string>variable.hlcode</string></dict></dict></dict><dict><key>match</key><string>(jalways) (-?\d+)$</string><key>captures</key><dict><key>1</key><dict><key>name</key><string>keyword.hlcode</string></dict><key>2</key><dict><key>name</key><string>constant.language.hlcode</string></dict></dict></dict><dict><key>match</key><string>(j(?:true|false|null|notnull)|trap) (\d+) *(,) *(-?\d+)$</string><key>captures</key><dict><key>1</key><dict><key>name</key><string>keyword.hlcode</string></dict><key>2</key><dict><key>name</key><string>variable.hlcode</string></dict><key>3</key><dict><key>name</key><string>operator.hlcode</string></dict><key>4</key><dict><key>name</key><string>constant.language.hlcode</string></dict></dict></dict><dict><key>match</key><string>(j(?:s[gl]te?|(?:u|not)(?:lt|gte)|eq|noteq)) (\d+) *(,) *(\d+) *(,) *(-?\d+)$</string><key>captures</key><dict><key>1</key><dict><key>name</key><string>keyword.hlcode</string></dict><key>2</key><dict><key>name</key><string>variable.hlcode</string></dict><key>3</key><dict><key>name</key><string>operator.hlcode</string></dict><key>4</key><dict><key>name</key><string>variable.hlcode</string></dict><key>5</key><dict><key>name</key><string>operator.hlcode</string></dict><key>6</key><dict><key>name</key><string>constant.language.hlcode</string></dict></dict></dict><dict><key>match</key><string>(get(?:ui8|ui16|mem|array)) (\d+)(,)(\d+)(\[)(\d+)(\])$</string><key>captures</key><dict><key>1</key><dict><key>name</key><string>keyword.hlcode</string></dict><key>2</key><dict><key>name</key><string>variable.hlcode</string></dict><key>3</key><dict><key>name</key><string>operator.hlcode</string></dict><key>4</key><dict><key>name</key><string>variable.hlcode</string></dict><key>5</key><dict><key>name</key><string>punctuation.definition.index.begin.hlcode</string></dict><key>6</key><dict><key>name</key><string>variable.hlcode</string></dict><key>7</key><dict><key>name</key><string>punctuation.definition.index.end.hlcode</string></dict></dict></dict><dict><key>match</key><string>(setarray) (\d+)(\[)(\d+)(\])(,)(\d+)$</string><key>captures</key><dict><key>1</key><dict><key>name</key><string>keyword.hlcode</string></dict><key>2</key><dict><key>name</key><string>variable.hlcode</string></dict><key>3</key><dict><key>name</key><string>punctuation.definition.index.begin.hlcode</string></dict><key>4</key><dict><key>name</key><string>variable.hlcode</string></dict><key>5</key><dict><key>name</key><string>punctuation.definition.index.end.hlcode</string></dict><key>6</key><dict><key>name</key><string>operator.hlcode</string></dict><key>7</key><dict><key>name</key><string>variable.hlcode</string></dict></dict></dict><dict><key>match</key><string>(type) (\d+) *(,) *(.*)$</string><key>captures</key><dict><key>1</key><dict><key>name</key><string>keyword.hlcode</string></dict><key>2</key><dict><key>name</key><string>variable.hlcode</string></dict><key>3</key><dict><key>name</key><string>operator.hlcode</string></dict><key>4</key><dict><key>patterns</key><array><dict><key>include</key><string>#types</string></dict><dict><key>include</key><string>#invalid</string></dict></array></dict></dict></dict><dict><key>match</key><string>(ref) (\d+) *(,) *(&)(\d+)$</string><key>captures</key><dict><key>1</key><dict><key>name</key><string>keyword.hlcode</string></dict><key>2</key><dict><key>name</key><string>constant.language.hlcode</string></dict><key>3</key><dict><key>name</key><string>operator.hlcode</string></dict><key>4</key><dict><key>name</key><string>keyword.operator.hlcode</string></dict><key>5</key><dict><key>name</key><string>variable.hlcode</string></dict></dict></dict><dict><key>match</key><string>(unref) (\d+) *(,) *(\*)(\d+)$</string><key>captures</key><dict><key>1</key><dict><key>name</key><string>keyword.hlcode</string></dict><key>2</key><dict><key>name</key><string>constant.language.hlcode</string></dict><key>3</key><dict><key>name</key><string>operator.hlcode</string></dict><key>4</key><dict><key>name</key><string>keyword.operator.hlcode</string></dict><key>5</key><dict><key>name</key><string>variable.hlcode</string></dict></dict></dict><dict><key>match</key><string>(setref) (\*)(\d+) *(,) *(\d+)$</string><key>captures</key><dict><key>1</key><dict><key>name</key><string>keyword.hlcode</string></dict><key>2</key><dict><key>name</key><string>keyword.operator.hlcode</string></dict><key>3</key><dict><key>name</key><string>constant.language.hlcode</string></dict><key>4</key><dict><key>name</key><string>operator.hlcode</string></dict><key>5</key><dict><key>name</key><string>variable.hlcode</string></dict></dict></dict><dict><key>match</key><string>(label|assert|nop)$</string><key>name</key><string>keyword.hlcode</string></dict><dict><key>match</key><string>(field) (\d+)(,) *(\d+)(\[)(\d+)(\])$</string><key>captures</key><dict><key>1</key><dict><key>name</key><string>keyword.hlcode</string></dict><key>2</key><dict><key>name</key><string>variable.hlcode</string></dict><key>3</key><dict><key>name</key><string>operator.hlcode</string></dict><key>4</key><dict><key>name</key><string>variable.hlcode</string></dict><key>5</key><dict><key>name</key><string>punctuation.definition.index.begin.hlcode</string></dict><key>6</key><dict><key>name</key><string>constant.language.hlcode</string></dict><key>7</key><dict><key>name</key><string>punctuation.definition.index.begin.hlcode</string></dict></dict></dict><dict><key>match</key><string>(set(?:enum)?field) (\d+)(\[)(\d+)(\])(,)(\d+)$</string><key>captures</key><dict><key>1</key><dict><key>name</key><string>keyword.hlcode</string></dict><key>2</key><dict><key>name</key><string>variable.hlcode</string></dict><key>3</key><dict><key>name</key><string>punctuation.definition.index.begin.hlcode</string></dict><key>4</key><dict><key>name</key><string>constant.language.hlcode</string></dict><key>5</key><dict><key>name</key><string>punctuation.definition.index.end.hlcode</string></dict><key>6</key><dict><key>name</key><string>operator.hlcode</string></dict><key>7</key><dict><key>name</key><string>variable.hlcode</string></dict></dict></dict><dict><key>match</key><string>(getthis) (\d+)(,) *(\[)(\d+)(\])$</string><key>captures</key><dict><key>1</key><dict><key>name</key><string>keyword.hlcode</string></dict><key>2</key><dict><key>name</key><string>variable.hlcode</string></dict><key>3</key><dict><key>name</key><string>operator.hlcode</string></dict><key>4</key><dict><key>name</key><string>punctuation.definition.index.begin.hlcode</string></dict><key>5</key><dict><key>name</key><string>constant.language.hlcode</string></dict><key>6</key><dict><key>name</key><string>punctuation.definition.index.begin.hlcode</string></dict></dict></dict><dict><key>match</key><string>(setthis) (\[)(\d+)(\])(,)(\d+)$</string><key>captures</key><dict><key>1</key><dict><key>name</key><string>keyword.hlcode</string></dict><key>2</key><dict><key>name</key><string>punctuation.definition.index.begin.hlcode</string></dict><key>3</key><dict><key>name</key><string>constant.language.hlcode</string></dict><key>4</key><dict><key>name</key><string>punctuation.definition.index.end.hlcode</string></dict><key>5</key><dict><key>name</key><string>operator.hlcode</string></dict><key>6</key><dict><key>name</key><string>variable.hlcode</string></dict></dict></dict><dict><key>match</key><string>(dynget) (\d+)(,) *(\d+)(\[)(@\d+)(\])$</string><key>captures</key><dict><key>1</key><dict><key>name</key><string>keyword.hlcode</string></dict><key>2</key><dict><key>name</key><string>variable.hlcode</string></dict><key>3</key><dict><key>name</key><string>operator.hlcode</string></dict><key>4</key><dict><key>name</key><string>variable.hlcode</string></dict><key>5</key><dict><key>name</key><string>punctuation.definition.index.begin.hlcode</string></dict><key>6</key><dict><key>name</key><string>constant.language.hlcode</string></dict><key>7</key><dict><key>name</key><string>punctuation.definition.index.begin.hlcode</string></dict></dict></dict><dict><key>match</key><string>(dynset) (\d+)(\[)(@\d+)(\])(,)(\d+)$</string><key>captures</key><dict><key>1</key><dict><key>name</key><string>keyword.hlcode</string></dict><key>2</key><dict><key>name</key><string>variable.hlcode</string></dict><key>3</key><dict><key>name</key><string>punctuation.definition.index.begin.hlcode</string></dict><key>4</key><dict><key>name</key><string>constant.language.hlcode</string></dict><key>5</key><dict><key>name</key><string>punctuation.definition.index.end.hlcode</string></dict><key>6</key><dict><key>name</key><string>operator.hlcode</string></dict><key>7</key><dict><key>name</key><string>variable.hlcode</string></dict></dict></dict><dict><key>begin</key><string>(makeenum) (\d+)(,) (\d+)(\()</string><key>beginCaptures</key><dict><key>1</key><dict><key>name</key><string>keyword.hlcode</string></dict><key>2</key><dict><key>name</key><string>variable.hlcode</string></dict><key>3</key><dict><key>name</key><string>operator.hlcode</string></dict><key>4</key><dict><key>name</key><string>constant.language.hlcode</string></dict><key>5</key><dict><key>name</key><string>punctuation.definition.params.begin.hlcode</string></dict></dict><key>end</key><string>\)$</string><key>endCaptures</key><dict><key>0</key><dict><key>name</key><string>punctuation.definition.params.end.hlcode</string></dict></dict><key>patterns</key><array><dict><key>match</key><string>\d+</string><key>name</key><string>variable.hlcode</string></dict><dict><key>match</key><string>,</string><key>name</key><string>operator.hlcode</string></dict><dict><key>include</key><string>#invalid</string></dict></array></dict><dict><key>match</key><string>(enumfield) (\d+)(,) *(\d+)(\[)(\d+)(:)(\d+)(\])$</string><key>captures</key><dict><key>1</key><dict><key>name</key><string>keyword.hlcode</string></dict><key>2</key><dict><key>name</key><string>variable.hlcode</string></dict><key>3</key><dict><key>name</key><string>operator.hlcode</string></dict><key>4</key><dict><key>name</key><string>variable.hlcode</string></dict><key>5</key><dict><key>name</key><string>punctuation.definition.index.begin.hlcode</string></dict><key>6</key><dict><key>name</key><string>constant.language.hlcode</string></dict><key>7</key><dict><key>name</key><string>operator.hlcode</string></dict><key>8</key><dict><key>name</key><string>constant.language.hlcode</string></dict><key>9</key><dict><key>name</key><string>punctuation.definition.index.end.hlcode</string></dict></dict></dict><dict><key>begin</key><string>(switch) (\d+) (\[)</string><key>beginCaptures</key><dict><key>1</key><dict><key>name</key><string>keyword.hlcode</string></dict><key>2</key><dict><key>name</key><string>variable.hlcode</string></dict><key>3</key><dict><key>name</key><string>punctuation.definition.indices.begin.hlcode</string></dict></dict><key>end</key><string>(\]) (\d+)$</string><key>endCaptures</key><dict><key>1</key><dict><key>name</key><string>punctuation.definition.indices.end.hlcode</string></dict><key>2</key><dict><key>name</key><string>constant.language.hlcode</string></dict></dict><key>patterns</key><array><dict><key>match</key><string>\d+</string><key>name</key><string>variable.hlcode</string></dict><dict><key>match</key><string>,</string><key>name</key><string>operator.hlcode</string></dict><dict><key>include</key><string>#invalid</string></dict></array></dict><dict><key>match</key><string>(endtrap) (true|false)$</string><key>captures</key><dict><key>1</key><dict><key>name</key><string>keyword.hlcode</string></dict><key>2</key><dict><key>name</key><string>constant.language.hlcode</string></dict></dict></dict></array></dict><key>proto-body</key><dict><key>patterns</key><array><dict><key>match</key><string>^\t{2}(extends) (.*)$</string><key>captures</key><dict><key>1</key><dict><key>name</key><string>keyword.hlcode</string></dict><key>2</key><dict><key>patterns</key><array><dict><key>include</key><string>#types</string></dict><dict><key>include</key><string>#invalid</string></dict></array></dict></dict></dict><dict><key>begin</key><string>^\t{2}(\d+) (fields)$</string><key>beginCaptures</key><dict><key>1</key><dict><key>name</key><string>constant.numeric.hlcode</string></dict><key>2</key><dict><key>name</key><string>keyword.hlcode</string></dict></dict><key>end</key><string>^(?!\t{2} {2})</string><key>patterns</key><array><dict><key>match</key><string>^\t{2} {2}(@\d+) ([a-zA-Z_$][\w$]*) (.*)$</string><key>captures</key><dict><key>1</key><dict><key>name</key><string>constant.language.hlcode</string></dict><key>2</key><dict><key>name</key><string>variable.hlcode</string></dict><key>3</key><dict><key>patterns</key><array><dict><key>include</key><string>#types</string></dict><dict><key>include</key><string>#invalid</string></dict></array></dict></dict></dict><dict><key>include</key><string>#invalid</string></dict></array></dict><dict><key>begin</key><string>^\t{2}(\d+) (methods)$</string><key>beginCaptures</key><dict><key>1</key><dict><key>name</key><string>constant.numeric.hlcode</string></dict><key>2</key><dict><key>name</key><string>keyword.hlcode</string></dict></dict><key>end</key><string>^(?!\t{2} {2})</string><key>patterns</key><array><dict><key>match</key><string>^\t{2} {2}(@\d+) ([a-zA-Z_$][\w$]*) (fun)(@\d+)(?:(\[)(\d+)(\]))?$</string><key>captures</key><dict><key>1</key><dict><key>name</key><string>constant.language.hlcode</string></dict><key>2</key><dict><key>name</key><string>entity.name.function.hlcode</string></dict><key>3</key><dict><key>name</key><string>keyword.hlcode</string></dict><key>4</key><dict><key>name</key><string>support.function.hlcode</string></dict><key>5</key><dict><key>name</key><string>punctuation.definition.index.begin.hlcode</string></dict><key>6</key><dict><key>name</key><string>entity.name.function.hlcode</string></dict><key>7</key><dict><key>name</key><string>punctuation.definition.index.end.hlcode</string></dict></dict></dict><dict><key>include</key><string>#invalid</string></dict></array></dict><dict><key>begin</key><string>^\t{2}(\d+) (bindings)$</string><key>beginCaptures</key><dict><key>1</key><dict><key>name</key><string>constant.numeric.hlcode</string></dict><key>2</key><dict><key>name</key><string>keyword.hlcode</string></dict></dict><key>end</key><string>^(?!\t{2} {2})</string><key>patterns</key><array><dict><key>match</key><string>^\t{2} {2}(@\d+) (fun)(@\d+)$</string><key>captures</key><dict><key>1</key><dict><key>name</key><string>constant.language.hlcode</string></dict><key>2</key><dict><key>name</key><string>keyword.hlcode</string></dict><key>3</key><dict><key>name</key><string>support.function.hlcode</string></dict></dict></dict><dict><key>include</key><string>#invalid</string></dict></array></dict><dict><key>include</key><string>#illegal</string></dict></array></dict></dict></dict></plist>