pub trait ModuleResolver: SendSync {
// Required method
fn resolve(
&self,
engine: &Engine,
source: Option<&str>,
path: &str,
pos: Position,
) -> Result<Arc<Module>, Box<EvalAltResult>>;
// Provided methods
fn resolve_raw(
&self,
engine: &Engine,
global: &mut GlobalRuntimeState,
scope: &mut Scope<'_>,
path: &str,
pos: Position,
) -> Result<Arc<Module>, Box<EvalAltResult>> { ... }
fn resolve_ast(
&self,
engine: &Engine,
source: Option<&str>,
path: &str,
pos: Position,
) -> Option<Result<AST, Box<EvalAltResult>>> { ... }
}Expand description
Trait that encapsulates a module resolution service.