summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLaurenz <laurmaedje@gmail.com>2021-08-30 16:39:16 +0200
committerLaurenz <laurmaedje@gmail.com>2021-08-30 16:39:16 +0200
commitff25573224400673d08b31e576d5a0d87751dbe1 (patch)
tree7a0df37b627a238250ffca454d1dd78dc765cedb /src
parente4e79990dad90aea17ea99e54fcd60435927bb56 (diff)
Lower- and uppercase string conversion functions
Diffstat (limited to 'src')
-rw-r--r--src/library/mod.rs2
-rw-r--r--src/library/utility.rs10
2 files changed, 12 insertions, 0 deletions
diff --git a/src/library/mod.rs b/src/library/mod.rs
index a549aa72..d02c9608 100644
--- a/src/library/mod.rs
+++ b/src/library/mod.rs
@@ -63,6 +63,8 @@ pub fn new() -> Scope {
std.def_func("rgb", rgb);
std.def_func("min", min);
std.def_func("max", max);
+ std.def_func("lower", lower);
+ std.def_func("upper", upper);
// Colors.
std.def_const("white", RgbaColor::WHITE);
diff --git a/src/library/utility.rs b/src/library/utility.rs
index 84f1d7ab..b26ed154 100644
--- a/src/library/utility.rs
+++ b/src/library/utility.rs
@@ -75,3 +75,13 @@ fn minmax(args: &mut Arguments, goal: Ordering) -> TypResult<Value> {
}
Ok(extremum)
}
+
+/// `lower`: Convert a string to lowercase.
+pub fn lower(_: &mut EvalContext, args: &mut Arguments) -> TypResult<Value> {
+ Ok(args.expect::<Str>("string")?.to_lowercase().into())
+}
+
+/// `upper`: Convert a string to uppercase.
+pub fn upper(_: &mut EvalContext, args: &mut Arguments) -> TypResult<Value> {
+ Ok(args.expect::<Str>("string")?.to_uppercase().into())
+}