emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[nongnu] elpa/rust-mode 758ab8c 303/486: Add support for "default" keywo


From: ELPA Syncer
Subject: [nongnu] elpa/rust-mode 758ab8c 303/486: Add support for "default" keyword
Date: Sat, 7 Aug 2021 09:25:41 -0400 (EDT)

branch: elpa/rust-mode
commit 758ab8c6aaa04802223db1eca8c1f7f76c13727d
Author: Tom Tromey <tom@tromey.com>
Commit: Tom Tromey <tom@tromey.com>

    Add support for "default" keyword
    
    Add context-sensitive fontification for the "default" keyword.
---
 rust-mode-tests.el | 9 +++++++++
 rust-mode.el       | 2 ++
 2 files changed, 11 insertions(+)

diff --git a/rust-mode-tests.el b/rust-mode-tests.el
index 5abd4a7..6d58906 100644
--- a/rust-mode-tests.el
+++ b/rust-mode-tests.el
@@ -1510,6 +1510,15 @@ this_is_not_a_string();)"
    ;; Only the i32 should have been highlighted.
    '("i32" font-lock-type-face)))
 
+(ert-deftest rust-test-default-context-sensitive ()
+  (rust-test-font-lock
+   "let default = 7; impl foo { default fn f() { } }"
+   '("let" font-lock-keyword-face
+     "impl" font-lock-keyword-face
+     "default" font-lock-keyword-face
+     "fn" font-lock-keyword-face
+     "f" font-lock-function-name-face)))
+
 (ert-deftest indent-method-chains-no-align ()
   (let ((rust-indent-method-chain nil)) (test-indent
    "
diff --git a/rust-mode.el b/rust-mode.el
index f1c3994..9f9e391 100644
--- a/rust-mode.el
+++ b/rust-mode.el
@@ -526,6 +526,7 @@ buffer."
 (defun rust-re-item-def-imenu (itype)
   (concat "^[[:space:]]*"
           (rust-re-shy (concat (rust-re-word rust-re-vis) "[[:space:]]+")) "?"
+          (rust-re-shy (concat (rust-re-word "default") "[[:space:]]+")) "?"
           (rust-re-shy (concat (rust-re-word rust-re-unsafe) "[[:space:]]+")) 
"?"
           (rust-re-shy (concat (rust-re-word rust-re-extern) "[[:space:]]+"
                                (rust-re-shy "\"[^\"]+\"[[:space:]]+") "?")) "?"
@@ -555,6 +556,7 @@ the desired identifiers), but does not match type 
annotations \"foo::<\"."
   (append
    `(
      ;; Keywords proper
+     ("\\_<\\(default\\)[[:space:]]+fn\\_>" 1 font-lock-keyword-face)
      (,(regexp-opt rust-mode-keywords 'symbols) . font-lock-keyword-face)
 
      ;; Special types



reply via email to

[Prev in Thread] Current Thread [Next in Thread]