From 1e7436ca37776a4c1db083fe114169a4931505c2 Mon Sep 17 00:00:00 2001 From: Stevan Milic Date: Sat, 28 Aug 2021 21:07:44 +0200 Subject: update scala highlights (#1760) * add type highlights * add call expression highlights * add function definition highlights * add expression highlights * add literals highlights * add operator highlights * add punctuation highlights * add comment highlights Co-authored-by: Stevan Milic --- queries/scala/highlights.scm | 83 +++++++++++++++++++++++++++++++++++++++++--- 1 file 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 [ @@ -71,6 +123,20 @@ "match" ] @conditional +[ + "(" + ")" + "[" + "]" + "{" + "}" +] @punctuation.bracket + +[ + "." + "," +] @punctuation.delimiter + [ "do" "for" @@ -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 -- cgit v1.2.3-70-g09d2