summaryrefslogtreecommitdiff
path: root/rust-mode.el
diff options
context:
space:
mode:
authorChristophe Troestler <Christophe.Troestler@umons.ac.be>2021-12-27 11:40:28 +0100
committerChristophe Troestler <Christophe.Troestler@umons.ac.be>2021-12-27 11:40:28 +0100
commitf80a0ce35b5b4d179b043d01ec7a55dcaf04f8ab (patch)
treee1fed0d678820ad5413db1fedf04d4c9b9ed6203 /rust-mode.el
parenteba544147aa6769f4f0e153e9f7373801dd2db89 (diff)
downloadrust-mode-f80a0ce35b5b4d179b043d01ec7a55dcaf04f8ab.tar.gz
Do not prettify && when it is a double reference
Diffstat (limited to 'rust-mode.el')
-rw-r--r--rust-mode.el14
1 files changed, 8 insertions, 6 deletions
diff --git a/rust-mode.el b/rust-mode.el
index eec6057..6f8a214 100644
--- a/rust-mode.el
+++ b/rust-mode.el
@@ -222,12 +222,14 @@ Use idomenu (imenu with `ido-mode') for best mileage.")
See `prettify-symbols-compose-predicate'."
(and (fboundp 'prettify-symbols-default-compose-p)
(prettify-symbols-default-compose-p start end match)
- ;; Make sure there is a space before || as it is also used for
- ;; functions with 0 arguments.
- (not (and (string= match "||")
- (save-excursion
- (goto-char start)
- (looking-back "\\(?:\\<move\\|=\\) *"))))))
+ ;; Make sure || is not a closure with 0 arguments and && is not
+ ;; a double reference.
+ (pcase match
+ ("||" (not (save-excursion
+ (goto-char start)
+ (looking-back "\\(?:\\<move\\|=\\) *"))))
+ ("&&" (char-equal (char-after end) ?\s))
+ (_ t))))
;;; Mode