{ "scopeName": "source.hx.argument", "patterns": [ { "include": "#parameter" } ], "repository": { "parameter": { "patterns": [ { "include": "#parameter-name" }, { "include": "#parameter-type-hint" }, { "include": "#parameter-assign" }, { "include": "source.hx#punctuation-comma" }, { "include": "source.hx#global" } ] }, "parameter-assign": { "begin": "=", "end": "$", "patterns": [ { "include": "source.hx#block" }, { "include": "source.hx#block-contents" } ], "beginCaptures": { "0": { "name": "keyword.operator.assignment.hx" } } }, "parameter-name": { "begin": "^", "end": "([_a-zA-Z]\\w*)", "patterns": [ { "include": "source.hx#global" }, { "include": "source.hx#metadata" }, { "include": "source.hx#operator-optional" } ], "endCaptures": { "1": { "name": "variable.parameter.hx" } } }, "parameter-type-hint": { "begin": ":", "end": "(?=\\)(?!\\s*-\u003e)|,|=)", "patterns": [ { "include": "source.hx#type" } ], "beginCaptures": { "0": { "name": "keyword.operator.type.annotation.hx" } } } } }