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

    Don't highlight digits in identifiers as numbers
---
 perl6-font-lock.el | 52 ++++++++++++++++------------------------------------
 1 file changed, 16 insertions(+), 36 deletions(-)

diff --git a/perl6-font-lock.el b/perl6-font-lock.el
index 2b700df03e..c39e416742 100644
--- a/perl6-font-lock.el
+++ b/perl6-font-lock.el
@@ -209,13 +209,13 @@
       (version . ,(rx "v" (1+ digit) (0+ "." (or "*" (1+ digit))) (opt "+")))
       (number
        . ,(rx
-           (opt (1+ digit) (opt "_" (1+ digit)))
-           (opt ".")
-           (1+ digit)
-           (opt (group-n 1 (any "Ee"))
-                (opt "-")
-                (1+ digit) (opt "_" (1+ digit)))
-           (opt (group-n 2 "i"))))
+           (group-n 1
+             (opt (1+ digit) (opt "_" (1+ digit)))
+             (opt ".")
+             (1+ digit))
+           (opt (group-n 2 (any "Ee"))
+                (group-n 3 (opt "-") (1+ digit) (opt "_" (1+ digit))))
+           (opt (group-n 4 "i"))))
       (base-number
        . ,(rx symbol-start
               (group-n 1 "0")
@@ -428,25 +428,6 @@ LIMIT can be used to bound the search."
                                       (and line-start (0+ space)))))))))
    limit))
 
-(defun perl6-fontify (groups)
-  "Fontify the current match.
-
-GROUPS should be a list, each element being a list containing the number
-of a match group and the name of a face.
-
-GROUPS is allowed to reference optional match groups."
-  (dolist (group groups)
-    (let ((group-num (car group))
-          (group-face (cdr group)))
-      (when (match-string group-num)
-        (let* ((state (save-excursion
-                        (syntax-ppss (match-beginning group-num))))
-               (in-string (nth 3 state))
-               (in-comment (nth 4 state)))
-          (unless (or in-string in-comment)
-            (put-text-property (match-beginning group-num) (match-end 
group-num)
-                               'face group-face)))))))
-
 (defun perl6-match-property (property context limit)
   (when (symbolp context)
     (setq context (list context)))
@@ -487,10 +468,9 @@ GROUPS is allowed to reference optional match groups."
      (4 'perl6-var-name))
     (,(perl6-rx symbol-start version) 0 'perl6-version)
     (perl6-match-type-constraint
-     0 (ignore (perl6-fontify
-               '((1 . perl6-type-constraint)
-                 (2 . perl6-type-constraint)
-                 (3 . perl6-type-property)))))
+     (1 'perl6-type-constraint nil t)
+     (2 'perl6-type-constraint nil t)
+     (3 'perl6-type-property nil t))
     (,(perl6-rx (group (any ".^")) (group identifier symbol-end))
      (1 'perl6-operator)
      (2 'perl6-identifier))
@@ -520,11 +500,6 @@ GROUPS is allowed to reference optional match groups."
     (,(perl6-rx (symbol loop)) 0 'perl6-loop)
     (,(perl6-rx (symbol flow-control)) 0 'perl6-flow-control)
     (,(perl6-rx (symbol pragma)) 0 'perl6-pragma)
-    (,(perl6-rx number)
-     0 (ignore (perl6-fontify
-                '((0 . perl6-number)
-                  (1 . perl6-number-addition)
-                  (2 . perl6-number-addition)))))
     (,(perl6-rx (symbol (or "Inf" "NaN")))
      0 'perl6-number)
     (,(perl6-rx line-start (0+ space) (group identifier ":") (or space 
line-end))
@@ -534,11 +509,16 @@ GROUPS is allowed to reference optional match groups."
                 (group (symbol identifier)))
      1 'perl6-label)
     (,(perl6-rx
-       (opt "::")
+       (or symbol-start "::")
        identifier
        (opt (0+ "::" identifier))
        (opt "::"))
      0 'perl6-identifier)
+    (,(perl6-rx number)
+     (1 'perl6-number)
+     (2 'perl6-number-addition nil t)
+     (3 'perl6-number nil t)
+     (4 'perl6-number-addition nil t))
     (,(perl6-rx operator-char) 0 'perl6-operator)
     (,(perl6-rx base-number)
      (1 'perl6-number)

Reply via email to