aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/lux/data/text.lux
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--stdlib/source/lux/data/text.lux14
1 files changed, 10 insertions, 4 deletions
diff --git a/stdlib/source/lux/data/text.lux b/stdlib/source/lux/data/text.lux
index fb2bc0728..c82dd5e41 100644
--- a/stdlib/source/lux/data/text.lux
+++ b/stdlib/source/lux/data/text.lux
@@ -106,6 +106,11 @@
_
false))
+(def: #export (encloses? boundary value)
+ (-> Text Text Bit)
+ (and (starts-with? boundary value)
+ (ends-with? boundary value)))
+
(def: #export (contains? sub text)
(-> Text Text Bit)
(case ("lux text index" 0 sub text)
@@ -155,18 +160,18 @@
#.None
(#.Cons sample #.Nil)))
-(def: #export (replace-once pattern value template)
+(def: #export (replace-once pattern replacement template)
(-> Text Text Text Text)
(<| (maybe.default template)
(do maybe.monad
[[pre post] (split-with pattern template)]
- (wrap ($_ "lux text concat" pre value post)))))
+ (wrap ($_ "lux text concat" pre replacement post)))))
-(def: #export (replace-all pattern value template)
+(def: #export (replace-all pattern replacement template)
(-> Text Text Text Text)
(case (..split-with pattern template)
(#.Some [pre post])
- ($_ "lux text concat" pre value (replace-all pattern value post))
+ ($_ "lux text concat" pre replacement (replace-all pattern replacement post))
#.None
template))
@@ -264,6 +269,7 @@
(..enclose' ..double-quote))
(def: #export space
+ Text
" ")
(def: #export (space? char)