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