aboutsummaryrefslogtreecommitdiff
path: root/src/lux/lexer.clj
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/lux/lexer.clj14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/lux/lexer.clj b/src/lux/lexer.clj
index f0a8ba91a..b7729156a 100644
--- a/src/lux/lexer.clj
+++ b/src/lux/lexer.clj
@@ -84,12 +84,9 @@
(return (&/V "lux;Meta" (&/T meta (&/V "Text" token))))))
(def ^:private lex-ident
- (&/try-all% (&/|list (|do [[_ [meta _]] (&reader/read-text ";")
- [_ [_ token]] (&reader/read-regex +ident-re+)]
- (return (&/V "lux;Meta" (&/T meta (&/T "lux" token)))))
- (|do [[_ [meta token]] (&reader/read-regex +ident-re+)]
+ (&/try-all% (&/|list (|do [[_ [meta token]] (&reader/read-regex +ident-re+)]
(&/try-all% (&/|list (|do [_ (&reader/read-text ";")
- [_ [_ local-token]] (&reader/read-regex +ident-re+)]
+ [_ [_ local-token]] (&reader/read-regex +ident-re+)]
(&/try-all% (&/|list (|do [unaliased (&module/dealias token)]
(return (&/V "lux;Meta" (&/T meta (&/T unaliased local-token)))))
(|do [? (&module/exists? token)]
@@ -99,6 +96,13 @@
)))
(return (&/V "lux;Meta" (&/T meta (&/T "" token))))
)))
+ (|do [[_ [meta _]] (&reader/read-text ";;")
+ [_ [_ token]] (&reader/read-regex +ident-re+)
+ module-name &/get-module-name]
+ (return (&/V "lux;Meta" (&/T meta (&/T module-name token)))))
+ (|do [[_ [meta _]] (&reader/read-text ";")
+ [_ [_ token]] (&reader/read-regex +ident-re+)]
+ (return (&/V "lux;Meta" (&/T meta (&/T "lux" token)))))
)))
(def ^:private lex-symbol