diff options
Diffstat (limited to 'runtime/queries/wing/highlights.scm')
| -rw-r--r-- | runtime/queries/wing/highlights.scm | 179 |
1 files changed, 179 insertions, 0 deletions
diff --git a/runtime/queries/wing/highlights.scm b/runtime/queries/wing/highlights.scm new file mode 100644 index 000000000..31e914f07 --- /dev/null +++ b/runtime/queries/wing/highlights.scm @@ -0,0 +1,179 @@ +(identifier) @variable + +(reference_identifier) @variable + +(member_identifier) @variable.member + +; Classes +(custom_type) @type + +(class_field + name: (identifier) @property) + +(struct_field + name: (identifier) @property) + +(class_definition + name: (identifier) @type) + +(struct_definition + name: (identifier) @type) + +(interface_definition + name: (identifier) @type) + +(method_definition + name: (identifier) @function.method) + +(json_literal_member + (identifier) @property) + +; Functions +(keyword_argument_key) @variable.parameter + +(parameter_definition + name: (identifier) @variable.parameter) + +(variadic) @variable.parameter.builtin + +(call + caller: (reference + (nested_identifier + property: (member_identifier) @function.method.call))) + +(call + caller: (reference + (reference_identifier) @function.method.call)) + +; Primitives +(number) @number + +(duration) @constant + +(string) @string + +(bool) @boolean + +[ + (builtin_type) + "MutSet" + "MutMap" + "MutArray" + "Json" + "Set" + "Map" + "Array" + "MutJson" +] @type.builtin + +(json_container_type) @type.builtin + +; Special +(comment) @comment @spell + +[ + "-" + "-=" + "+" + "+=" + "*" + "**" + "/" + "%" + "<" + "<=" + "=" + "==" + "!" + "!=" + ">" + ">=" + "&&" + "??" + "||" + "?" +] @operator + +[ + "(" + ")" + "{" + "}" + "[" + "]" +] @punctuation.bracket + +(mutable_container_type + [ + "<" + ">" + ] @punctuation.bracket) + +(immutable_container_type + [ + "<" + ">" + ] @punctuation.bracket) + +[ + ";" + "." + "," + ":" + "=>" +] @punctuation.delimiter + +[ + "as" + "let" + "new" + (phase_specifier) + "impl" + "test" +] @keyword + +"bring" @keyword.import + +[ + "class" + "struct" + "interface" +] @keyword.type + +[ + "for" + "in" +] @keyword.repeat + +[ + "if" + "else" +] @keyword.conditional + +[ + "pub" + "protected" + "internal" + "extern" + (static) +] @keyword.modifier + +"return" @keyword.return + +(import_statement + module_name: (identifier) @module) + +(import_statement + alias: (identifier) @module) + +(call + (reference + (nested_identifier + object: (reference) @_ref + property: (member_identifier) @_ident)) + (argument_list + (positional_argument + (string) @string.regexp)) + (#eq? @_ref "regex") + (#eq? @_ident "compile") + (#offset! @string.regexp 0 1 0 -1)) |
