diff --git a/helper/haxe-argument.YAML-tmLanguage b/helper/haxe-argument.YAML-tmLanguage new file mode 100644 index 0000000..7d851c5 --- /dev/null +++ b/helper/haxe-argument.YAML-tmLanguage @@ -0,0 +1,36 @@ +patterns: +# can't just use 'source.hx#parameter' because of the lookarounds it has +- 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-name: + begin: ^ + end: ([_a-zA-Z]\w*) + endCaptures: + '1': {name: variable.parameter.hx} + patterns: + - include: 'source.hx#global' + - include: 'source.hx#metadata' + - include: 'source.hx#operator-optional' + parameter-type-hint: + begin: ':' + beginCaptures: + '0': {name: keyword.operator.type.annotation.hx} + end: (?=\)(?!\s*->)|,|=) + patterns: + - include: 'source.hx#type' + parameter-assign: + begin: '=' + beginCaptures: + '0': {name: keyword.operator.assignment.hx} + end: $ + patterns: + - include: 'source.hx#block' + - include: 'source.hx#block-contents' +scopeName: source.hx.argument diff --git a/helper/haxe-argument.tmLanguage b/helper/haxe-argument.tmLanguage new file mode 100644 index 0000000..e4f8a69 --- /dev/null +++ b/helper/haxe-argument.tmLanguage @@ -0,0 +1 @@ +scopeNamesource.hx.argumentrepositoryparameterpatternsinclude#parameter-nameinclude#parameter-type-hintinclude#parameter-assignincludesource.hx#punctuation-commaincludesource.hx#globalparameter-type-hintend(?=\)(?!\s*->)|,|=)beginCaptures0namekeyword.operator.type.annotation.hxbegin:patternsincludesource.hx#typeparameter-nameendCaptures1namevariable.parameter.hxend([_a-zA-Z]\w*)begin^patternsincludesource.hx#globalincludesource.hx#metadataincludesource.hx#operator-optionalparameter-assignend$beginCaptures0namekeyword.operator.assignment.hxbegin=patternsincludesource.hx#blockincludesource.hx#block-contentspatternsinclude#parameter \ No newline at end of file diff --git a/helper/haxe-type.YAML-tmLanguage b/helper/haxe-type.YAML-tmLanguage index 2956fb4..a75039e 100644 --- a/helper/haxe-type.YAML-tmLanguage +++ b/helper/haxe-type.YAML-tmLanguage @@ -1,3 +1,3 @@ patterns: - include: 'source.hx#type' -scopeName: source.hx.type \ No newline at end of file +scopeName: source.hx.type diff --git a/src/Converter.hx b/src/Converter.hx index 8c3b5f6..6472625 100644 --- a/src/Converter.hx +++ b/src/Converter.hx @@ -8,6 +8,7 @@ class Converter { convert("hxml.YAML-tmLanguage", "hxml.tmLanguage"); convert("helper/haxe-type.YAML-tmLanguage", "helper/haxe-type.tmLanguage"); + convert("helper/haxe-argument.YAML-tmLanguage", "helper/haxe-argument.tmLanguage"); convert("helper/haxe-markdown.YAML-tmLanguage", "helper/haxe-markdown.tmLanguage"); convert("helper/hxml-markdown.YAML-tmLanguage", "helper/hxml-markdown.tmLanguage");