Struct ast_grep_language::C 
source · pub struct C;Implementations§
Trait Implementations§
source§impl<'de> Deserialize<'de> for C
 
impl<'de> Deserialize<'de> for C
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<C> for SupportLang
 
impl From<C> for SupportLang
source§impl Language for C
 
impl Language for C
source§fn get_ts_language(&self) -> TSLanguage
 
fn get_ts_language(&self) -> TSLanguage
tree sitter language to parse the source
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
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 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
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 C
Auto Trait Implementations§
impl Freeze for C
impl RefUnwindSafe for C
impl Send for C
impl Sync for C
impl Unpin for C
impl UnwindSafe for C
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)