pub struct MultiLangParser { /* private fields */ }Expand description
A reusable multi-language Tree-Sitter parser.
This wrapper owns a single tree_sitter::Parser instance that can be
reused across parse calls and languages.
Implementations§
Source§impl MultiLangParser
impl MultiLangParser
Sourcepub fn new() -> Result<Self, ParserError>
pub fn new() -> Result<Self, ParserError>
Create a new parser without an initial language.
Sourcepub fn parse_source(
&mut self,
lang_id: LanguageId,
source: &str,
) -> Result<Tree, ParserError>
pub fn parse_source( &mut self, lang_id: LanguageId, source: &str, ) -> Result<Tree, ParserError>
Parse a source string for the given language and return the syntax tree.
This is the main entry point other codebases will call.
Auto Trait Implementations§
impl Freeze for MultiLangParser
impl RefUnwindSafe for MultiLangParser
impl Send for MultiLangParser
impl Sync for MultiLangParser
impl Unpin for MultiLangParser
impl UnsafeUnpin for MultiLangParser
impl UnwindSafe for MultiLangParser
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