Struct ast_grep_language::Php
source · pub struct Php;
Implementations§
Trait Implementations§
source§impl<'de> Deserialize<'de> for Php
impl<'de> Deserialize<'de> for Php
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<Php> for SupportLang
impl From<Php> for SupportLang
source§impl Language for Php
impl Language for Php
source§fn get_ts_language(&self) -> TSLanguage
fn get_ts_language(&self) -> TSLanguage
tree sitter language to parse the source
source§fn from_path<P>(_path: P) -> Option<Self>
fn from_path<P>(_path: P) -> Option<Self>
Return the file language from path. Return None if the file type is not supported.
source§fn ast_grep<S>(&self, source: S) -> AstGrep<StrDoc<Self>>
fn ast_grep<S>(&self, source: S) -> AstGrep<StrDoc<Self>>
Create an
AstGrep
instance for the languagesource§fn skippable_kind_ids(&self) -> &'static [u16]
fn skippable_kind_ids(&self) -> &'static [u16]
ignore trivial tokens in language matching
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
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 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 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
fn injectable_languages(&self) -> Option<&'static [&'static str]>
source§fn extract_injections<D>(
&self,
_root: Node<'_, D>,
) -> HashMap<String, Vec<Range>>where
D: Doc,
fn extract_injections<D>(
&self,
_root: Node<'_, D>,
) -> HashMap<String, Vec<Range>>where
D: Doc,
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 Php
Auto Trait Implementations§
impl Freeze for Php
impl RefUnwindSafe for Php
impl Send for Php
impl Sync for Php
impl Unpin for Php
impl UnwindSafe for Php
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)