[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/raku-mode 14f9b9bba0 2/2: Merge pull request #60 from Raku
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/raku-mode 14f9b9bba0 2/2: Merge pull request #60 from Raku/variable-colors |
Date: |
Mon, 29 Apr 2024 07:00:57 -0400 (EDT) |
branch: elpa/raku-mode
commit 14f9b9bba08c0bbb7f3895380d0b1a9feb7a168d
Merge: 977b14a7c1 7e8284b37c
Author: Altai-man <alexander.kiryuhin@gmail.com>
Commit: GitHub <noreply@github.com>
Merge pull request #60 from Raku/variable-colors
Split variable name faces into different types
---
raku-font-lock.el | 67 +++++++++++++++++++++++++++++++++++++++++++++++++++++--
1 file changed, 65 insertions(+), 2 deletions(-)
diff --git a/raku-font-lock.el b/raku-font-lock.el
index 0507a1fabe..0a7400ff1c 100644
--- a/raku-font-lock.el
+++ b/raku-font-lock.el
@@ -94,6 +94,22 @@
"Face for variable names in Raku."
:group 'raku-faces)
+(defface raku-var-name-mu '((t :inherit font-lock-variable-name-face))
+ "Face for mu variable names in Raku."
+ :group 'raku-faces)
+
+(defface raku-var-name-positional '((t :inherit font-lock-variable-name-face))
+ "Face for positional variable names in Raku."
+ :group 'raku-faces)
+
+(defface raku-var-name-associative '((t :inherit font-lock-variable-name-face))
+ "Face for associative variable names in Raku."
+ :group 'raku-faces)
+
+(defface raku-var-name-callable '((t :inherit font-lock-variable-name-face))
+ "Face for callable variable names in Raku."
+ :group 'raku-faces)
+
(defface raku-version '((t :inherit font-lock-constant-face))
"Face for version literals in Raku."
:group 'raku-faces)
@@ -131,6 +147,38 @@
(1+ (regex ,rx-identifier) "::"))))
(group (or (or digit (char "/!¢"))
(and (regex ,rx-identifier) symbol-end))))))
+ (variable-mu
+ . ,(rx-to-string
+ `(and (group (1+ (char "$")))
+ (group (opt (char ".^*?=!~:")))
+ (group (opt (or (and "::" (0+ (regex ,rx-identifier) "::"))
+ (1+ (regex ,rx-identifier) "::"))))
+ (group (or (or digit (char "/!¢"))
+ (and (regex ,rx-identifier) symbol-end))))))
+ (variable-positional
+ . ,(rx-to-string
+ `(and (group (1+ (char "@")))
+ (group (opt (char ".^*?=!~:")))
+ (group (opt (or (and "::" (0+ (regex ,rx-identifier) "::"))
+ (1+ (regex ,rx-identifier) "::"))))
+ (group (or (or digit (char "/!¢"))
+ (and (regex ,rx-identifier) symbol-end))))))
+ (variable-associative
+ . ,(rx-to-string
+ `(and (group (1+ (char "%")))
+ (group (opt (char ".^*?=!~:")))
+ (group (opt (or (and "::" (0+ (regex ,rx-identifier) "::"))
+ (1+ (regex ,rx-identifier) "::"))))
+ (group (or (or digit (char "/!¢"))
+ (and (regex ,rx-identifier) symbol-end))))))
+ (variable-callable
+ . ,(rx-to-string
+ `(and (group (1+ (char "&")))
+ (group (opt (char ".^*?=!~:")))
+ (group (opt (or (and "::" (0+ (regex ,rx-identifier) "::"))
+ (1+ (regex ,rx-identifier) "::"))))
+ (group (or (or digit (char "/!¢"))
+ (and (regex ,rx-identifier) symbol-end))))))
(reduce-operator
. ,(rx-to-string
`(and (0+ (any "RSXZ\["))
@@ -594,11 +642,26 @@ LIMIT can be used to bound the search."
(or (any ",\)\}") (symbol "where")))))
1 'raku-sigil)
;; $foo @Bla::Hlagh $.bar $?CLASS
- (,(raku-rx variable)
+ (,(raku-rx variable-mu)
+ (1 'raku-sigil)
+ (2 'raku-twigil)
+ (3 'raku-var-package)
+ (4 'raku-var-name-mu))
+ (,(raku-rx variable-positional)
+ (1 'raku-sigil)
+ (2 'raku-twigil)
+ (3 'raku-var-package)
+ (4 'raku-var-name-positional))
+ (,(raku-rx variable-associative)
+ (1 'raku-sigil)
+ (2 'raku-twigil)
+ (3 'raku-var-package)
+ (4 'raku-var-name-associative))
+ (,(raku-rx variable-callable)
(1 'raku-sigil)
(2 'raku-twigil)
(3 'raku-var-package)
- (4 'raku-var-name))
+ (4 'raku-var-name-callable))
;; (-) R=> [*] X~ »+«
(raku-match-metaoperator 0 'raku-operator)
;; v6.0.0
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [nongnu] elpa/raku-mode 14f9b9bba0 2/2: Merge pull request #60 from Raku/variable-colors,
ELPA Syncer <=