summaryrefslogtreecommitdiff
path: root/crates/typst-ide/src
diff options
context:
space:
mode:
authorLaurenz <laurmaedje@gmail.com>2024-06-10 11:00:54 +0200
committerGitHub <noreply@github.com>2024-06-10 09:00:54 +0000
commita68a241570eca6d46f916e3ee103664a4eb79333 (patch)
treeabd0862bf30bd0df0c4a065439e1c3d2d8da6648 /crates/typst-ide/src
parentf91cad7d7829556e24d219e55db7da56a966523f (diff)
Remove `Tracer` (#4365)
Diffstat (limited to 'crates/typst-ide/src')
-rw-r--r--crates/typst-ide/src/analyze.rs17
-rw-r--r--crates/typst-ide/src/complete.rs3
-rw-r--r--crates/typst-ide/src/jump.rs5
-rw-r--r--crates/typst-ide/src/tooltip.rs8
4 files changed, 15 insertions, 18 deletions
diff --git a/crates/typst-ide/src/analyze.rs b/crates/typst-ide/src/analyze.rs
index d27ce176..b43d87cd 100644
--- a/crates/typst-ide/src/analyze.rs
+++ b/crates/typst-ide/src/analyze.rs
@@ -1,7 +1,7 @@
use comemo::Track;
use ecow::{eco_vec, EcoString, EcoVec};
-use typst::engine::{Engine, Route};
-use typst::eval::{Tracer, Vm};
+use typst::engine::{Engine, Route, Sink, Traced};
+use typst::eval::Vm;
use typst::foundations::{Context, Label, Scopes, Styles, Value};
use typst::introspection::Introspector;
use typst::model::{BibliographyElem, Document};
@@ -38,10 +38,7 @@ pub fn analyze_expr(
}
}
- let mut tracer = Tracer::new();
- tracer.inspect(node.span());
- typst::compile(world, &mut tracer).ok();
- return tracer.values();
+ return typst::trace(world, node.span());
}
};
@@ -59,12 +56,14 @@ pub fn analyze_import(world: &dyn World, source: &LinkedNode) -> Option<Value> {
}
let introspector = Introspector::default();
- let mut tracer = Tracer::new();
+ let traced = Traced::default();
+ let mut sink = Sink::new();
let engine = Engine {
world: world.track(),
- route: Route::default(),
introspector: introspector.track(),
- tracer: tracer.track_mut(),
+ traced: traced.track(),
+ sink: sink.track_mut(),
+ route: Route::default(),
};
let context = Context::none();
diff --git a/crates/typst-ide/src/complete.rs b/crates/typst-ide/src/complete.rs
index 2c4680d1..608b1473 100644
--- a/crates/typst-ide/src/complete.rs
+++ b/crates/typst-ide/src/complete.rs
@@ -1406,7 +1406,6 @@ impl<'a> CompletionContext<'a> {
#[cfg(test)]
mod tests {
- use typst::eval::Tracer;
use super::autocomplete;
use crate::tests::TestWorld;
@@ -1414,7 +1413,7 @@ mod tests {
#[track_caller]
fn test(text: &str, cursor: usize, contains: &[&str], excludes: &[&str]) {
let world = TestWorld::new(text);
- let doc = typst::compile(&world, &mut Tracer::new()).ok();
+ let doc = typst::compile(&world).output.ok();
let (_, completions) =
autocomplete(&world, doc.as_ref(), &world.main, cursor, true)
.unwrap_or_default();
diff --git a/crates/typst-ide/src/jump.rs b/crates/typst-ide/src/jump.rs
index 3bcaa7a3..f632d933 100644
--- a/crates/typst-ide/src/jump.rs
+++ b/crates/typst-ide/src/jump.rs
@@ -170,7 +170,6 @@ fn is_in_rect(pos: Point, size: Size, click: Point) -> bool {
mod tests {
use std::num::NonZeroUsize;
- use typst::eval::Tracer;
use typst::layout::{Abs, Point, Position};
use super::{jump_from_click, jump_from_cursor, Jump};
@@ -200,14 +199,14 @@ mod tests {
#[track_caller]
fn test_click(text: &str, click: Point, expected: Option<Jump>) {
let world = TestWorld::new(text);
- let doc = typst::compile(&world, &mut Tracer::new()).unwrap();
+ let doc = typst::compile(&world).output.unwrap();
assert_eq!(jump_from_click(&world, &doc, &doc.pages[0].frame, click), expected);
}
#[track_caller]
fn test_cursor(text: &str, cursor: usize, expected: Option<Position>) {
let world = TestWorld::new(text);
- let doc = typst::compile(&world, &mut Tracer::new()).unwrap();
+ let doc = typst::compile(&world).output.unwrap();
let pos = jump_from_cursor(&doc, &world.main, cursor);
assert_eq!(pos.is_some(), expected.is_some());
if let (Some(pos), Some(expected)) = (pos, expected) {
diff --git a/crates/typst-ide/src/tooltip.rs b/crates/typst-ide/src/tooltip.rs
index 4864a266..3bf8bb14 100644
--- a/crates/typst-ide/src/tooltip.rs
+++ b/crates/typst-ide/src/tooltip.rs
@@ -2,7 +2,8 @@ use std::fmt::Write;
use ecow::{eco_format, EcoString};
use if_chain::if_chain;
-use typst::eval::{CapturesVisitor, Tracer};
+use typst::engine::Sink;
+use typst::eval::CapturesVisitor;
use typst::foundations::{repr, Capturer, CastInfo, Repr, Value};
use typst::layout::Length;
use typst::model::Document;
@@ -79,7 +80,7 @@ fn expr_tooltip(world: &dyn World, leaf: &LinkedNode) -> Option<Tooltip> {
let mut last = None;
let mut pieces: Vec<EcoString> = vec![];
let mut iter = values.iter();
- for (value, _) in (&mut iter).take(Tracer::MAX_VALUES - 1) {
+ for (value, _) in (&mut iter).take(Sink::MAX_VALUES - 1) {
if let Some((prev, count)) = &mut last {
if *prev == value {
*count += 1;
@@ -253,7 +254,6 @@ fn font_tooltip(world: &dyn World, leaf: &LinkedNode) -> Option<Tooltip> {
#[cfg(test)]
mod tests {
- use typst::eval::Tracer;
use typst::syntax::Side;
use super::{tooltip, Tooltip};
@@ -270,7 +270,7 @@ mod tests {
#[track_caller]
fn test(text: &str, cursor: usize, side: Side, expected: Option<Tooltip>) {
let world = TestWorld::new(text);
- let doc = typst::compile(&world, &mut Tracer::new()).ok();
+ let doc = typst::compile(&world).output.ok();
assert_eq!(tooltip(&world, doc.as_ref(), &world.main, cursor, side), expected);
}