mod analyze;
mod complete;
mod definition;
mod jump;
mod matchers;
mod tooltip;
mod utils;
pub use self::analyze::{analyze_expr, analyze_import, analyze_labels};
pub use self::complete::{Completion, CompletionKind, autocomplete};
pub use self::definition::{Definition, definition};
pub use self::jump::{Jump, jump_from_click, jump_from_cursor};
pub use self::matchers::{DerefTarget, NamedItem, deref_target, named_items};
pub use self::tooltip::{Tooltip, tooltip};
use ecow::EcoString;
use typst::World;
use typst::syntax::FileId;
use typst::syntax::package::PackageSpec;
pub trait IdeWorld: World {
fn upcast(&self) -> &dyn World;
fn packages(&self) -> &[(PackageSpec, Option<EcoString>)] {
&[]
}
fn files(&self) -> Vec<FileId> {
vec![]
}
}
#[cfg(test)]
mod tests;