diff options
| -rw-r--r-- | queries/scala/highlights.scm | 83 |
1 files changed, 78 insertions, 5 deletions
diff --git a/queries/scala/highlights.scm b/queries/scala/highlights.scm index aecbdf487..544780857 100644 --- a/queries/scala/highlights.scm +++ b/queries/scala/highlights.scm @@ -2,14 +2,29 @@ ;; variables -( - (identifier) @variable.builtin - (#match? @variable.builtin "^this$") -) +(identifier) @variable + +((identifier) @variable.builtin + (#match? @variable.builtin "^this$")) -;; method calls +;; types + +(type_identifier) @type + +(class_definition + name: (identifier) @type) + +(object_definition + name: (identifier) @type) + +(trait_definition + name: (identifier) @type) + +(type_definition + name: (type_identifier) @type) ; method definition + (class_definition body: (template_body (function_definition @@ -24,15 +39,52 @@ name: (identifier) @method))) ; method invocation + +(call_expression + function: (identifier) @function) + (call_expression function: (field_expression field: (identifier) @method)) +(generic_function + function: (identifier) @function) + ( (identifier) @function.builtin (#match? @function.builtin "^super$") ) +; function definitions + +(function_definition + name: (identifier) @function) + +(parameter + name: (identifier) @parameter) + +; expressions + +(field_expression field: (identifier) @property) + +(infix_expression operator: (identifier) @operator) +(infix_expression operator: (operator_identifier) @operator) +(infix_type operator: (operator_identifier) @operator) +(infix_type operator: (operator_identifier) @operator) + +; literals + +(boolean_literal) @boolean +(integer_literal) @number +(floating_point_literal) @float +(string) @string + +[ +(symbol_literal) +(string) +(character_literal) +] @string + ;; keywords [ @@ -72,6 +124,20 @@ ] @conditional [ + "(" + ")" + "[" + "]" + "{" + "}" +] @punctuation.bracket + +[ + "." + "," +] @punctuation.delimiter + +[ "do" "for" "while" @@ -80,6 +146,11 @@ "def" @keyword.function +[ + "=>" + "<-" +] @operator + "import" @include [ @@ -90,6 +161,8 @@ "return" @keyword.return +(comment) @comment + ;; `case` is a conditional keyword in case_block (case_block |
