diff options
| author | Tom Tromey <tom@tromey.com> | 2017-05-14 21:22:05 -0600 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-05-14 21:22:05 -0600 |
| commit | 3220937aca17fd3200c9616d97a3484f55b604d5 (patch) | |
| tree | ed970e4f49750b78e47650677c57f1226e0827ca | |
| parent | dae5af71ebf4b5c6797ef057e8a0ebf655bcdbfb (diff) | |
| parent | 758ab8c6aaa04802223db1eca8c1f7f76c13727d (diff) | |
| download | rust-mode-3220937aca17fd3200c9616d97a3484f55b604d5.tar.gz | |
Merge pull request #209 from tromey/default-keyword
Add support for "default" keyword
| -rw-r--r-- | rust-mode-tests.el | 9 | ||||
| -rw-r--r-- | rust-mode.el | 2 |
2 files changed, 11 insertions, 0 deletions
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 |
