diff options
author | ttys3 | 2022-04-24 16:21:07 +0000 |
---|---|---|
committer | GitHub | 2022-04-24 16:21:07 +0000 |
commit | a8cb46680d0588d24262aece840c6b66cb9b87de (patch) | |
tree | 6f71108a6212ed88023e36babc4096a530bcad46 /runtime/queries/vala | |
parent | ea02b46c5de443f90054a2d3bf43d1ef533f4962 (diff) |
feat(lsp): add vala language support (#2243)
Diffstat (limited to 'runtime/queries/vala')
-rw-r--r-- | runtime/queries/vala/highlights.scm | 218 |
1 files changed, 218 insertions, 0 deletions
diff --git a/runtime/queries/vala/highlights.scm b/runtime/queries/vala/highlights.scm new file mode 100644 index 00000000..685cda13 --- /dev/null +++ b/runtime/queries/vala/highlights.scm @@ -0,0 +1,218 @@ +; highlights.scm + +; highlight constants +( + (member_access_expression (identifier) @constant) + (#match? @constant "^[A-Z][A-Z_0-9]*$") +) + +( + (member_access_expression (member_access_expression) @namespace (identifier) @constant) + (#match? @constant "^[A-Z][A-Z_0-9]*$") +) + +(comment) @comment + +(type (symbol (_)? @namespace (identifier) @type)) + +; highlight creation methods in object creation expressions +( + (object_creation_expression (type (symbol (symbol (symbol)? @namespace (identifier) @type) (identifier) @constructor))) + (#match? @constructor "^[a-z][a-z_0-9]*$") +) + +(unqualified_type (symbol . (identifier) @type)) +(unqualified_type (symbol (symbol) @namespace (identifier) @type)) + +(attribute) @variable.other.member +(method_declaration (symbol (symbol) @type (identifier) @function)) +(method_declaration (symbol (identifier) @function)) +(local_function_declaration (identifier) @function) +(destructor_declaration (identifier) @function) +(creation_method_declaration (symbol (symbol (identifier) @type) (identifier) @constructor)) +(creation_method_declaration (symbol (identifier) @constructor)) +(enum_declaration (symbol) @type) +(enum_value (identifier) @constant) +(errordomain_declaration (symbol) @type) +(errorcode (identifier) @constant) +(constant_declaration (identifier) @constant) +(method_call_expression (member_access_expression (identifier) @function)) +(lambda_expression (identifier) @variable.parameter) +(parameter (identifier) @variable.parameter) +(property_declaration (symbol (identifier) @variable.other.member)) +(field_declaration (identifier) @variable) +(identifier) @variable +[ + (this_access) + (base_access) + (value_access) +] @variable.builtin +(boolean) @constant.builtin.boolean +(character) @constant.character +(integer) @constant.numeric.integer +(null) @constant.builtin +(real) @constant.numeric.float +(regex) @string.regexp +(string) @string +[ + (escape_sequence) + (string_formatter) +] @string.special +(template_string) @string +(template_string_expression) @string.special +(verbatim_string) @string +[ + "var" + "void" +] @type.builtin + +[ + "abstract" + "async" + "break" + "case" + "catch" + "class" + "const" + "construct" + "continue" + "default" + "delegate" + "do" + "dynamic" + "else" + "enum" + "errordomain" + "extern" + "finally" + "for" + "foreach" + "get" + "if" + "inline" + "interface" + "internal" + "lock" + "namespace" + "new" + "out" + "override" + "owned" + "partial" + "private" + "protected" + "public" + "ref" + "set" + "signal" + "static" + "struct" + "switch" + "throw" + "throws" + "try" + "unowned" + "virtual" + "weak" + "while" + "with" +] @keyword + +[ + "and" + "as" + "delete" + "in" + "is" + "not" + "or" + "sizeof" + "typeof" +] @keyword.operator + +"using" @namespace + +(symbol "global::" @namespace) + +(array_creation_expression "new" @keyword.operator) +(object_creation_expression "new" @keyword.operator) +(argument "out" @keyword.operator) +(argument "ref" @keyword.operator) + +[ + "continue" + "do" + "for" + "foreach" + "while" +] @keyword.control.repeat + +[ + "catch" + "finally" + "throw" + "throws" + "try" +] @keyword.control.exception + +[ + "return" + "yield" +] @keyword.control.return + +[ + "=" + "==" + "+" + "+=" + "-" + "-=" + "++" + "--" + "|" + "|=" + "&" + "&=" + "^" + "^=" + "/" + "/=" + "*" + "*=" + "%" + "%=" + "<<" + "<<=" + ">>" + ">>=" + "." + "?." + "->" + "!" + "!=" + "~" + "??" + "?" + ":" + "<" + "<=" + ">" + ">=" + "||" + "&&" + "=>" +] @operator + +[ + "," + ";" +] @punctuation.delimiter + +[ + "(" + ")" + "{" + "}" + "[" + "]" +] @punctuation.bracket |