summaryrefslogtreecommitdiff
path: root/library/src/base
diff options
context:
space:
mode:
authorLaurenz <laurmaedje@gmail.com>2022-11-26 13:39:18 +0100
committerLaurenz <laurmaedje@gmail.com>2022-11-26 13:41:27 +0100
commit7af46fc025ee08eb78ae7f6898300083c886bf6f (patch)
tree5837d972961844650bc9668d8516d7b5239a8d18 /library/src/base
parent3cdd8bfa40fe5fdf0c676af905c3c2c1f614ef24 (diff)
Dynamic labels
Diffstat (limited to 'library/src/base')
-rw-r--r--library/src/base/string.rs6
1 files changed, 6 insertions, 0 deletions
diff --git a/library/src/base/string.rs b/library/src/base/string.rs
index 262dd5c6..9c3b9562 100644
--- a/library/src/base/string.rs
+++ b/library/src/base/string.rs
@@ -14,11 +14,17 @@ pub fn str(_: &Vm, args: &mut Args) -> SourceResult<Value> {
Ok(Value::Str(match v {
Value::Int(v) => format_str!("{}", v),
Value::Float(v) => format_str!("{}", v),
+ Value::Label(label) => label.0.into(),
Value::Str(v) => v,
v => bail!(span, "cannot convert {} to string", v.type_name()),
}))
}
+/// Create a label from a string.
+pub fn label(_: &Vm, args: &mut Args) -> SourceResult<Value> {
+ Ok(Value::Label(Label(args.expect("string")?)))
+}
+
/// Create blind text.
pub fn lorem(_: &Vm, args: &mut Args) -> SourceResult<Value> {
let words: usize = args.expect("number of words")?;