]> git.eshelyaron.com Git - emacs.git/commitdiff
ruby-ts-mode: Highlight more kinds of parameters
authorDmitry Gutov <dgutov@yandex.ru>
Fri, 6 Jan 2023 13:38:00 +0000 (15:38 +0200)
committerDmitry Gutov <dgutov@yandex.ru>
Fri, 6 Jan 2023 13:38:13 +0000 (15:38 +0200)
* lisp/progmodes/ruby-ts-mode.el
(ruby-ts--font-lock-settings): Highlight destructured parameters,
lambda parameters, identifiers in pattern matching clauses
(array/hash) and exception variables.
Move the 'symbol' matchers lower to make 'hash_key_symbol' lower
priority than hash keys in match patterns.

lisp/progmodes/ruby-ts-mode.el

index 349318e75790bfc4e0c093a357e278f6c098721d..87fd4ae535f7e0f556d96015f6b3145e4b9e346f 100644 (file)
@@ -215,13 +215,6 @@ values of OVERRIDE"
      (false) @font-lock-doc-markup-face
      (nil) @font-lock-doc-markup-face)
 
-   :language language
-   :feature 'symbol
-   '((bare_symbol) @font-lock-constant-face
-     (delimited_symbol (string_content) @font-lock-constant-face)
-     (hash_key_symbol) @font-lock-constant-face
-     (simple_symbol) @font-lock-constant-face)
-
    ;; Before 'operator so (unary) works.
    :language language
    :feature 'literal
@@ -303,7 +296,19 @@ values of OVERRIDE"
      (hash_splat_parameter
       name: (identifier) @font-lock-variable-name-face)
      (block_parameter
-      name: (identifier) @font-lock-variable-name-face))
+      name: (identifier) @font-lock-variable-name-face)
+     (destructured_parameter
+      (identifier) @font-lock-variable-name-face)
+     (lambda_parameters
+      (identifier) @font-lock-variable-name-face)
+     (exception_variable
+      (identifier) @font-lock-variable-name-face)
+     (array_pattern
+      (identifier) @font-lock-variable-name-face)
+     (keyword_pattern
+      key: (hash_key_symbol) @font-lock-variable-name-face)
+     (in_clause
+      pattern: (identifier) @font-lock-variable-name-face))
 
    ;; Yuan recommends also putting method definitions into the
    ;; 'function' category (thus keeping it in both).  I've opted to
@@ -322,6 +327,13 @@ values of OVERRIDE"
      (operator_assignment
       left: (identifier) @font-lock-variable-name-face))
 
+   :language language
+   :feature 'symbol
+   '((bare_symbol) @font-lock-constant-face
+     (delimited_symbol (string_content) @font-lock-constant-face)
+     (hash_key_symbol) @font-lock-constant-face
+     (simple_symbol) @font-lock-constant-face)
+
    :language language
    :feature 'error
    '((ERROR) @font-lock-warning-face)