aboutsummaryrefslogtreecommitdiff
path: root/source/lux/data/text.lux
diff options
context:
space:
mode:
Diffstat (limited to 'source/lux/data/text.lux')
-rw-r--r--source/lux/data/text.lux14
1 files changed, 11 insertions, 3 deletions
diff --git a/source/lux/data/text.lux b/source/lux/data/text.lux
index e54dff5c0..f701f6079 100644
--- a/source/lux/data/text.lux
+++ b/source/lux/data/text.lux
@@ -4,8 +4,7 @@
## You can obtain one at http://mozilla.org/MPL/2.0/.
(;import lux
- (lux (meta macro
- ast)
+ (lux (meta macro)
(control (monoid #as m)
(eq #as E)
(ord #as O)
@@ -151,9 +150,18 @@
[_ in] (split 2 in)
post-idx (index-of "}" in)
[var post] (split post-idx in)
- [_ post] (split 1 post)]
+ #let [[_ post] (? (: (, Text Text) ["" ""])
+ (split 1 post))]]
(wrap [pre var post])))
+(do-template [<name> <type> <tag>]
+ [(def (<name> value)
+ (-> <type> AST)
+ [["" -1 -1] (<tag> value)])]
+
+ [text$ Text #;TextS]
+ [symbol$ Ident #;SymbolS])
+
(def (unravel-template template)
(-> Text (List AST))
(case (extract-var template)