From dea81aa7cc0d162d863e39113ebb9e389651f671 Mon Sep 17 00:00:00 2001 From: Jonas Westlund Date: Sun, 20 Aug 2017 18:51:37 +0200 Subject: Types get correct font-lock in if-let statements --- rust-mode.el | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/rust-mode.el b/rust-mode.el index 97b5c3c..72109e5 100644 --- a/rust-mode.el +++ b/rust-mode.el @@ -682,6 +682,9 @@ match data if found. Returns nil if not within a Rust string." ;; Field names like `foo:`, highlight excluding the : (,(concat (rust-re-grab rust-re-ident) ":[^:]") 1 font-lock-variable-name-face) + ;; CamelCase Means Type Or Constructor + (,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) @@ -694,9 +697,6 @@ match data if found. Returns nil if not within a Rust string." ;; Lifetimes like `'foo` (,(concat "'" (rust-re-grab rust-re-ident) "[^']") 1 font-lock-variable-name-face) - ;; CamelCase Means Type Or Constructor - (,rust-re-type-or-constructor 1 font-lock-type-face) - ;; Question mark operator ("\\?" . 'rust-question-mark-face) ) -- cgit v1.2.3 From ac5dac0471f573948ffa7146847820d3d543a9b2 Mon Sep 17 00:00:00 2001 From: Jonas Westlund Date: Mon, 21 Aug 2017 02:25:30 +0200 Subject: Added test for if-let font lock --- rust-mode-tests.el | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/rust-mode-tests.el b/rust-mode-tests.el index aab82df..3ed5bd7 100644 --- a/rust-mode-tests.el +++ b/rust-mode-tests.el @@ -2345,6 +2345,15 @@ fn main() { "/* " font-lock-comment-delimiter-face "no-op */" font-lock-comment-face))) +(ert-deftest rust-if-let-type-font-lock () + (rust-test-font-lock + "if let Some(var) = some_var { /* no-op */ }" + '("if" font-lock-keyword-face + "let" font-lock-keyword-face + "Some" font-lock-type-face + "/* " font-lock-comment-delimiter-face + "no-op */" font-lock-comment-face))) + (ert-deftest rust-test-basic-paren-matching () (rust-test-matching-parens " -- cgit v1.2.3 From 6550d942eca7ce145c95aaaca9c44dd138b14623 Mon Sep 17 00:00:00 2001 From: Jonas Westlund Date: Mon, 21 Aug 2017 02:30:10 +0200 Subject: Renamed and relocated if-let font-lock test --- rust-mode-tests.el | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/rust-mode-tests.el b/rust-mode-tests.el index 3ed5bd7..f0a73a2 100644 --- a/rust-mode-tests.el +++ b/rust-mode-tests.el @@ -1317,6 +1317,15 @@ list of substrings of `STR' each followed by its face." "mut" font-lock-keyword-face "bar" font-lock-variable-name-face))) +(ert-deftest font-lock-if-let-binding () + (rust-test-font-lock + "if let Some(var) = some_var { /* no-op */ }" + '("if" font-lock-keyword-face + "let" font-lock-keyword-face + "Some" font-lock-type-face + "/* " font-lock-comment-delimiter-face + "no-op */" font-lock-comment-face))) + (ert-deftest font-lock-single-quote-character-literal () (rust-test-font-lock "fn main() { let ch = '\\''; }" @@ -2345,15 +2354,6 @@ fn main() { "/* " font-lock-comment-delimiter-face "no-op */" font-lock-comment-face))) -(ert-deftest rust-if-let-type-font-lock () - (rust-test-font-lock - "if let Some(var) = some_var { /* no-op */ }" - '("if" font-lock-keyword-face - "let" font-lock-keyword-face - "Some" font-lock-type-face - "/* " font-lock-comment-delimiter-face - "no-op */" font-lock-comment-face))) - (ert-deftest rust-test-basic-paren-matching () (rust-test-matching-parens " -- cgit v1.2.3