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

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

[nongnu] elpa/raku-mode 4ec31b6904 070/253: Highlight number literals wi


From: ELPA Syncer
Subject: [nongnu] elpa/raku-mode 4ec31b6904 070/253: Highlight number literals with an explicit base
Date: Sat, 29 Jan 2022 08:28:43 -0500 (EST)

branch: elpa/raku-mode
commit 4ec31b690417ba61a7e432ae81cc0e541da45b4c
Author: Hinrik Örn Sigurðsson <hinrik.sig@gmail.com>
Commit: Hinrik Örn Sigurðsson <hinrik.sig@gmail.com>

    Highlight number literals with an explicit base
    
    Generic number highlighting Coming Soon™.
---
 perl6-font-lock.el | 19 +++++++++++++++++--
 1 file changed, 17 insertions(+), 2 deletions(-)

diff --git a/perl6-font-lock.el b/perl6-font-lock.el
index 656adf7094..198a51975a 100644
--- a/perl6-font-lock.el
+++ b/perl6-font-lock.el
@@ -10,6 +10,10 @@
   "Face for identifiers in Perl 6."
   :group 'perl6-faces)
 
+(defface perl6-number '((t :inherit font-lock-constant-face))
+  "Face for number literals in Perl 6."
+  :group 'perl6-faces)
+
 (defface perl6-string '((t :inherit font-lock-string-face))
   "Face for strings in Perl 6."
   :group 'perl6-faces)
@@ -181,7 +185,14 @@
                             "Abstraction" "Numeric" "Real" "Nil"
                             "Mu")))
       (identifier . ,(rx alpha (0+ alnum) (0+ (any "-'") alpha (0+ alnum))))
-      (version . ,(rx "v" (1+ digit) (0+ "." (or "*" (1+ digit))) (opt "+")))))
+      (version . ,(rx "v" (1+ digit) (0+ "." (or "*" (1+ digit))) (opt "+")))
+      (base-number
+       . ,(rx symbol-start
+              (group-n 1 "0")
+              (or (and (group-n 2 "o") (group-n 3 (any "0-7") (0+ (any 
"0-7_"))))
+                  (and (group-n 2 "b") (group-n 3 (any "0-1") (0+ (any 
"0-1_"))))
+                  (and (group-n 2 "x") (group-n 3 (regex "[[:xdigit:]]") (0+ 
(regex "[[:xdigit:]_]"))))
+                  (and (group-n 2 "d") (group-n 3 (regex "[[:digit:]]") (0+ 
(regex "[[:digit:]_]")))))))))
 
   (defmacro perl6-rx (&rest sexps)
     "Specialized `rx' variant for perl6-mode."
@@ -464,7 +475,11 @@ GROUPS is allowed to reference optional match groups."
     (,(perl6-rx (symbol flow-control)) 0 'perl6-flow-control)
     (,(perl6-rx (symbol pragma)) 0 'perl6-pragma)
     (,(perl6-rx (symbol identifier)) 0 'perl6-identifier)
-    (,(perl6-rx operator-char) 0 'perl6-operator))
+    (,(perl6-rx operator-char) 0 'perl6-operator)
+    (,(perl6-rx base-number)
+     (1 'perl6-number)
+     (2 'perl6-operator)
+     (3 'perl6-number)))
   "Font lock keywords for Perl 6.")
 
 (provide 'perl6-font-lock)



reply via email to

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