pub struct Python;
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Python
impl<'de> Deserialize<'de> for Python
Source§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl From<Python> for SupportLang
impl From<Python> for SupportLang
Source§impl Language for Python
impl Language for Python
fn kind_to_id(&self, kind: &str) -> u16
fn field_to_id(&self, field: &str) -> Option<u16>
Source§fn expando_char(&self) -> char
fn expando_char(&self) -> char
Some language does not accept $ as the leading char for identifiers.
We need to change $ to other char at run-time to make parser happy, thus the name expando.
By default this is the same as meta_var char so replacement is done at runtime.
Source§fn pre_process_pattern<'q>(&self, query: &'q str) -> Cow<'q, str>
fn pre_process_pattern<'q>(&self, query: &'q str) -> Cow<'q, str>
normalize pattern code before matching
e.g. remove expression_statement, or prefer parsing {} to object over block
fn build_pattern( &self, builder: &PatternBuilder<'_>, ) -> Result<Pattern, PatternError>
Source§fn meta_var_char(&self) -> char
fn meta_var_char(&self) -> char
Configure meta variable special character
By default $ is the metavar char, but in PHP it can be #
Source§fn extract_meta_var(&self, source: &str) -> Option<MetaVariable>
fn extract_meta_var(&self, source: &str) -> Option<MetaVariable>
extract MetaVariable from a given source string
At runtime we need to use expand_char
Source§impl LanguageExt for Python
impl LanguageExt for Python
Source§fn get_ts_language(&self) -> TSLanguage
fn get_ts_language(&self) -> TSLanguage
tree sitter language to parse the source
Source§fn ast_grep<S>(&self, source: S) -> Root<StrDoc<Self>>
fn ast_grep<S>(&self, source: S) -> Root<StrDoc<Self>>
Create an
AstGrep
instance for the languagefn injectable_languages(&self) -> Option<&'static [&'static str]>
Source§fn extract_injections<L>(
&self,
_root: Node<'_, StrDoc<L>>,
) -> HashMap<String, Vec<Range>>where
L: LanguageExt,
fn extract_injections<L>(
&self,
_root: Node<'_, StrDoc<L>>,
) -> HashMap<String, Vec<Range>>where
L: LanguageExt,
get injected language regions in the root document. e.g. get JavaScripts in HTML
it will return a list of tuples of (language, regions).
The first item is the embedded region language, e.g. javascript
The second item is a list of regions in tree_sitter.
also see https://tree-sitter.github.io/tree-sitter/using-parsers#multi-language-documents
impl Copy for Python
Auto Trait Implementations§
impl Freeze for Python
impl RefUnwindSafe for Python
impl Send for Python
impl Sync for Python
impl Unpin for Python
impl UnwindSafe for Python
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