]> git.eshelyaron.com Git - emacs.git/commitdiff
Add a heuristic for type font-lock in rust-ts-mode (bug#69625)
authorYuan Fu <casouri@gmail.com>
Sat, 6 Jul 2024 21:07:39 +0000 (14:07 -0700)
committerEshel Yaron <me@eshelyaron.com>
Sun, 7 Jul 2024 13:17:00 +0000 (15:17 +0200)
* lisp/progmodes/rust-ts-mode.el:
(rust-ts-mode--font-lock-settings): Add rule.

(cherry picked from commit 2e9777512a0cd2fb2e60706d6908247496faeeec)

lisp/progmodes/rust-ts-mode.el

index baf0e1ec013f9994466c503f592a884146eae0f8..cdbf381d023fe1fa8c2f77b711c3f7e9d858c981 100644 (file)
@@ -267,7 +267,11 @@ to be checked as its standard input."
                    eos)
               @font-lock-type-face))
      ((scoped_identifier path: (identifier) @rust-ts-mode--fontify-scope))
-     ((scoped_type_identifier path: (identifier) @rust-ts-mode--fontify-scope)))
+     ((scoped_type_identifier path: (identifier) @rust-ts-mode--fontify-scope))
+     ;; Sometimes the parser can't determine if an identifier is a type,
+     ;; so we use this heuristic. See bug#69625 for the full discussion.
+     ((identifier) @font-lock-type-face
+      (:match ,(rx bos upper) @font-lock-type-face)))
 
    :language 'rust
    :feature 'property