summaryrefslogtreecommitdiff
path: root/rust-mode.el
diff options
context:
space:
mode:
authorDato Simó <dato@net.com.org.es>2019-01-21 04:08:23 -0300
committerNathan Moreau <nathan.moreau@m4x.org>2019-10-23 11:18:35 +0200
commit7960c74d4f575fec7b0b435a86f8f07594f24f9f (patch)
tree4e8f61457ae531496f0fcc4bcfea6964510dc56c /rust-mode.el
parent1d42d6981877100bff4e643f6374cee0a15e733f (diff)
downloadrust-mode-7960c74d4f575fec7b0b435a86f8f07594f24f9f.tar.gz
Do not allow subword-match when detecting built-in formatting macros
Before this change, a user-created macro like ‘cprintln!’ would see the ‘println’ subword highlighted as a built-in macro, and the leading ‘c’ left without color. After this commit, only full words will be recognized as built-ins, and ‘cprintln!’ is highlighted as a regular macro in full, not as a built-in. In addition, this commit fixes the same issue for the write! macro.
Diffstat (limited to 'rust-mode.el')
-rw-r--r--rust-mode.el4
1 files changed, 2 insertions, 2 deletions
diff --git a/rust-mode.el b/rust-mode.el
index b912140..b361749 100644
--- a/rust-mode.el
+++ b/rust-mode.el
@@ -676,7 +676,7 @@ Returns nil if the point is not within a Rust string."
1 font-lock-preprocessor-face keep)
;; Builtin formatting macros
- (,(concat (rust-re-grab (concat (regexp-opt rust-builtin-formatting-macros) "!")) (concat rust-formatting-macro-opening-re "\\(?:" rust-start-of-string-re) "\\)?")
+ (,(concat (rust-re-grab (concat (rust-re-word (regexp-opt rust-builtin-formatting-macros)) "!")) (concat rust-formatting-macro-opening-re "\\(?:" rust-start-of-string-re) "\\)?")
(1 'rust-builtin-formatting-macro-face)
(rust-string-interpolation-matcher
(rust-end-of-string)
@@ -684,7 +684,7 @@ Returns nil if the point is not within a Rust string."
(0 'rust-string-interpolation-face t nil)))
;; write! macro
- (,(concat (rust-re-grab "write\\(ln\\)?!") (concat rust-formatting-macro-opening-re "[[:space:]]*[^\"]+,[[:space:]]*" rust-start-of-string-re))
+ (,(concat (rust-re-grab (concat (rust-re-word "write\\(ln\\)?") "!")) (concat rust-formatting-macro-opening-re "[[:space:]]*[^\"]+,[[:space:]]*" rust-start-of-string-re))
(1 'rust-builtin-formatting-macro-face)
(rust-string-interpolation-matcher
(rust-end-of-string)