pub trait SourceRead {
// Required methods
fn working_dir(&self) -> &Path;
fn base_dir(&self) -> Option<&Path>;
fn read_file(&self, path: &Path) -> Result<String, Error>;
fn read_dir(&self, path: &Path) -> Result<Vec<PathBuf>, Error>;
fn is_file(&self, path: &Path) -> bool;
fn is_dir(&self, path: &Path) -> bool;
fn canonicalize_import(
&self,
key: &ImportKey,
) -> Result<(PathBuf, String), Error>;
}