summaryrefslogtreecommitdiff
path: root/src/model/vm.rs
diff options
context:
space:
mode:
authorLaurenz <laurmaedje@gmail.com>2022-11-01 16:56:35 +0100
committerLaurenz <laurmaedje@gmail.com>2022-11-02 09:18:33 +0100
commit37ac5d966ebaf97ac79c507028cd5b742b510b89 (patch)
tree249d43ff0f8d880cb5d00c236993f8ff0c1f10d8 /src/model/vm.rs
parentf547c97072881069417acd3b79b08fb7ecf40ba2 (diff)
More dynamic content representation
Diffstat (limited to 'src/model/vm.rs')
-rw-r--r--src/model/vm.rs11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/model/vm.rs b/src/model/vm.rs
index 6207ffd5..4de57d1c 100644
--- a/src/model/vm.rs
+++ b/src/model/vm.rs
@@ -2,10 +2,10 @@ use std::path::PathBuf;
use comemo::Tracked;
-use super::{Route, Scopes, Value};
+use super::{Content, Route, Scopes, Value};
use crate::diag::{SourceError, StrResult};
use crate::syntax::{SourceId, Span};
-use crate::util::PathExt;
+use crate::util::{EcoString, PathExt};
use crate::{LangItems, World};
/// A virtual machine.
@@ -59,6 +59,13 @@ impl<'a> Vm<'a> {
pub fn items(&self) -> &LangItems {
&self.world.config().items
}
+
+ /// Create text content.
+ ///
+ /// This is a shorthand for `(vm.items().text)(..)`.
+ pub fn text(&self, text: impl Into<EcoString>) -> Content {
+ (self.items().text)(text.into())
+ }
}
/// A control flow event that occurred during evaluation.