pub struct LanguageDetector;Expand description
Detects programming language from file extension.
Implementations§
Source§impl LanguageDetector
impl LanguageDetector
Sourcepub fn detect_language(path: &Path) -> Option<Language>
pub fn detect_language(path: &Path) -> Option<Language>
Detects the programming language from a file path.
Returns Some(Language) if the extension is recognized,
or None for unsupported file types.
§Examples
use thread_flow::incremental::dependency_builder::{Language, LanguageDetector};
use std::path::Path;
assert_eq!(
LanguageDetector::detect_language(Path::new("main.rs")),
Some(Language::Rust)
);
assert_eq!(
LanguageDetector::detect_language(Path::new("app.ts")),
Some(Language::TypeScript)
);
assert_eq!(
LanguageDetector::detect_language(Path::new("file.java")),
None
);Auto Trait Implementations§
impl Freeze for LanguageDetector
impl RefUnwindSafe for LanguageDetector
impl Send for LanguageDetector
impl Sync for LanguageDetector
impl Unpin for LanguageDetector
impl UnsafeUnpin for LanguageDetector
impl UnwindSafe for LanguageDetector
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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more