summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
authorDmitry Gutov <dgutov@yandex.ru>2023-01-06 15:38:00 +0200
committerDmitry Gutov <dgutov@yandex.ru>2023-01-06 15:38:13 +0200
commit92e8c0c091cdb67b27fa271814614ba4cab478d6 (patch)
tree0d0f55e8b363376693dc16ca5992f333428dab3f /lisp
parent7420b6dcc379617ca9691049c16bfb2d158f9496 (diff)
downloademacs-92e8c0c091cdb67b27fa271814614ba4cab478d6.tar.gz
emacs-92e8c0c091cdb67b27fa271814614ba4cab478d6.tar.bz2
emacs-92e8c0c091cdb67b27fa271814614ba4cab478d6.zip
ruby-ts-mode: Highlight more kinds of parameters
* 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.
Diffstat (limited to 'lisp')
-rw-r--r--lisp/progmodes/ruby-ts-mode.el28
1 files changed, 20 insertions, 8 deletions
diff --git a/lisp/progmodes/ruby-ts-mode.el b/lisp/progmodes/ruby-ts-mode.el
index 349318e7579..87fd4ae535f 100644
--- a/lisp/progmodes/ruby-ts-mode.el
+++ b/lisp/progmodes/ruby-ts-mode.el
@@ -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
@@ -323,6 +328,13 @@ values of OVERRIDE"
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)