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

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

[nongnu] elpa/scala-mode e79e627 072/217: Fix highlighting for operators


From: ELPA Syncer
Subject: [nongnu] elpa/scala-mode e79e627 072/217: Fix highlighting for operators beginning with colon.
Date: Sun, 29 Aug 2021 11:30:46 -0400 (EDT)

branch: elpa/scala-mode
commit e79e62794c0c2901f44ada7a74105fbeb14c02f1
Author: Erik Osheim <d_m@plastic-idolatry.com>
Commit: Erik Osheim <d_m@plastic-idolatry.com>

    Fix highlighting for operators beginning with colon.
    
    This fixes an issue with operators named things like :=, :#:, etc.
    It's most noticable when editing sbt files, since := was being
    highlighted as a type ascription instead of a method.
---
 scala-mode-fontlock.el | 18 ++++++++++++------
 1 file changed, 12 insertions(+), 6 deletions(-)

diff --git a/scala-mode-fontlock.el b/scala-mode-fontlock.el
index 327841e..6a96fe3 100644
--- a/scala-mode-fontlock.el
+++ b/scala-mode-fontlock.el
@@ -402,16 +402,22 @@ Does not continue past limit.
                                         (2 font-lock-constant-face nil t)
                                         (3 font-lock-type-face nil t)))
 
-    ;; type ascriptions (: followed by a type)
+    ;; type ascription (: followed by alpha type name)
     (,(rx
        (or (not (in "!#%&*+-/:<=>?@\\^|~")) line-start)
        (group ":")
        (0+ space)
-       (group (or
-               (and (in "a-zA-Z_")
-                    (0+ (in "a-zA-Z0-9_"))
-                    (\? (and "_" (1+ (in "!#%&*+-/:<=>?@\\^|~")))))
-               (and (in "!#%&*+-/<=>?@\\^|~") (0+ (in 
"!#%&*+-/:<=>?@\\^|~"))))))
+       (group (in "a-zA-Z_")
+              (0+ (in "a-zA-Z0-9_"))
+              (\? (and "_" (1+ (in "!#%&*+-/:<=>?@\\^|~"))))))
+     (1 font-lock-keyword-face) (2 font-lock-type-face))
+
+    ;; type ascription (: followed by punctuation type name)
+    (,(rx
+       (or (not (in "!#%&*+-/:<=>?@\\^|~")) line-start)
+       (group ":")
+       (1+ space)
+       (group (1+ (in "-!#%&*+/:<=>?@\\^|~"))))
      (1 font-lock-keyword-face) (2 font-lock-type-face))
 
     ;; extends followed by type



reply via email to

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