pub struct Loader { /* private fields */ }Expand description
Module loader that handles multiple URI schemes.
Caches loaded modules to prevent duplicate loading and supports cycle detection through the cache.
Implementations§
Source§impl Loader
impl Loader
Sourcepub fn resolve(
&mut self,
base_path: &Path,
uri: &str,
) -> Result<&ModuleSource, String>
pub fn resolve( &mut self, base_path: &Path, uri: &str, ) -> Result<&ModuleSource, String>
Resolves a URI to a module source.
Supports:
file:./path.md- Local filesystem (relative to base_path)logos:std- Built-in standard librarylogos:core- Built-in core types
Sourcepub fn is_loaded(&self, uri: &str) -> bool
pub fn is_loaded(&self, uri: &str) -> bool
Checks if a module has already been loaded (for cycle detection).
Sourcepub fn loaded_modules(&self) -> Vec<&str>
pub fn loaded_modules(&self) -> Vec<&str>
Returns all loaded module URIs (for debugging).
Auto Trait Implementations§
impl Freeze for Loader
impl RefUnwindSafe for Loader
impl Send for Loader
impl Sync for Loader
impl Unpin for Loader
impl UnwindSafe for Loader
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more