pub struct ExternalEngine { /* private fields */ }Expand description
An external checker engine that communicates with a subprocess via stdin/stdout JSON.
Implementations§
Source§impl ExternalEngine
impl ExternalEngine
pub const fn new( name: String, command: String, args: Vec<String>, extensions: Vec<String>, languages: Vec<String>, ) -> Self
Sourcepub fn handles_extension(&self, extension: Option<&str>) -> bool
pub fn handles_extension(&self, extension: Option<&str>) -> bool
Whether this provider parses the markup of the document being checked.
Unknown extension counts as a match: a provider is skipped only when it has said which formats it handles and this is not one of them.
Trait Implementations§
Source§impl Engine for ExternalEngine
impl Engine for ExternalEngine
fn name(&self) -> &'static str
Source§fn supported_languages(&self) -> Vec<String>
fn supported_languages(&self) -> Vec<String>
BCP-47 tags this engine handles. Empty means every language. Read more
Source§fn as_external(&self) -> Option<&Self>
fn as_external(&self) -> Option<&Self>
Downcast hooks for the two engines whose markup support is configured. Read more
fn check<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
text: &'life1 str,
language_id: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<Diagnostic>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn as_wasm(&self) -> Option<&WasmEngine>
Source§fn check_many<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
texts: &'life1 [String],
language_id: &'life2 str,
) -> Pin<Box<dyn Future<Output = Vec<Result<Vec<Diagnostic>>>> + Send + 'async_trait>>where
Self: Send + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn check_many<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
texts: &'life1 [String],
language_id: &'life2 str,
) -> Pin<Box<dyn Future<Output = Vec<Result<Vec<Diagnostic>>>> + Send + 'async_trait>>where
Self: Send + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Check a batch of independent texts, returning one result per input in
order. Read more
Auto Trait Implementations§
impl Freeze for ExternalEngine
impl RefUnwindSafe for ExternalEngine
impl Send for ExternalEngine
impl Sync for ExternalEngine
impl Unpin for ExternalEngine
impl UnsafeUnpin for ExternalEngine
impl UnwindSafe for ExternalEngine
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> GetSetFdFlags for T
impl<T> GetSetFdFlags for T
Source§fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
Query the “status” flags for the
self file descriptor.Source§fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
Source§fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: Sized + AsFilelike,
fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: Sized + AsFilelike,
Set the “status” flags for the
self file descriptor. Read moreSource§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