Skip to main content

LanguageSupport

Trait LanguageSupport 

Source
pub trait LanguageSupport: Send + Sync {
    // Required methods
    fn extensions(&self) -> &'static [&'static str];
    fn parse(
        &self,
        path: &Path,
        source: &str,
    ) -> Result<ParseResult, ParseError>;
    fn resolve(&self, from_dir: &Path, specifier: &str) -> Option<PathBuf>;
    fn package_name(&self, resolved_path: &Path) -> Option<String>;
    fn workspace_package_name(
        &self,
        file_path: &Path,
        project_root: &Path,
    ) -> Option<String>;
}
Expand description

Language-specific import parsing and specifier resolution.

Required Methods§

Source

fn extensions(&self) -> &'static [&'static str]

Source

fn parse(&self, path: &Path, source: &str) -> Result<ParseResult, ParseError>

Source

fn resolve(&self, from_dir: &Path, specifier: &str) -> Option<PathBuf>

Source

fn package_name(&self, resolved_path: &Path) -> Option<String>

Source

fn workspace_package_name( &self, file_path: &Path, project_root: &Path, ) -> Option<String>

Implementors§