From e20140426e4a7331ef4055d26744b4c27848a361 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Thu, 7 Jun 2018 08:49:29 -0600 Subject: [PATCH] Fix font-locking of "let ref" Fixes #271 --- rust-mode-tests.el | 5 +++++ rust-mode.el | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/rust-mode-tests.el b/rust-mode-tests.el index 3e6c67aa..64d65c42 100644 --- a/rust-mode-tests.el +++ b/rust-mode-tests.el @@ -1296,6 +1296,11 @@ list of substrings of `STR' each followed by its face." "let foo;" '("let" font-lock-keyword-face "foo" font-lock-variable-name-face)) + (rust-test-font-lock + "let ref foo;" + '("let" font-lock-keyword-face + "ref" font-lock-keyword-face + "foo" font-lock-variable-name-face)) (rust-test-font-lock "let mut foo;" '("let" font-lock-keyword-face diff --git a/rust-mode.el b/rust-mode.el index 011f615f..51b92d7c 100644 --- a/rust-mode.el +++ b/rust-mode.el @@ -687,7 +687,7 @@ match data if found. Returns nil if not within a Rust string." (,rust-re-type-or-constructor 1 font-lock-type-face) ;; Type-inferred binding - (,(concat "\\_<\\(?:let\\|ref\\)\\s-+\\(?:mut\\s-+\\)?" (rust-re-grab rust-re-ident) "\\_>") 1 font-lock-variable-name-face) + (,(concat "\\_<\\(?:let\\s-+ref\\|let\\|ref\\)\\s-+\\(?:mut\\s-+\\)?" (rust-re-grab rust-re-ident) "\\_>") 1 font-lock-variable-name-face) ;; Type names like `Foo::`, highlight excluding the :: (,(rust-path-font-lock-matcher rust-re-uc-ident) 1 font-lock-type-face)