Enum ast_grep_language::SupportLang
source · pub enum SupportLang {
Show 16 variants
C,
CSharp,
Css,
Dart,
Go,
Html,
Java,
JavaScript,
Kotlin,
Lua,
Python,
Rust,
Swift,
Thrift,
Tsx,
TypeScript,
}Expand description
represents a dynamic language
Variants§
Implementations§
source§impl SupportLang
impl SupportLang
pub fn all_langs() -> Vec<SupportLang> ⓘ
Trait Implementations§
source§impl Clone for SupportLang
impl Clone for SupportLang
source§fn clone(&self) -> SupportLang
fn clone(&self) -> SupportLang
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moresource§impl Debug for SupportLang
impl Debug for SupportLang
source§impl<'de> Deserialize<'de> for SupportLang
impl<'de> Deserialize<'de> for SupportLang
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 Display for SupportLang
impl Display for SupportLang
source§impl FromStr for SupportLang
impl FromStr for SupportLang
source§impl Hash for SupportLang
impl Hash for SupportLang
source§impl Language for SupportLang
impl Language for SupportLang
source§fn from_path<P: AsRef<Path>>(path: P) -> Option<Self>
fn from_path<P: AsRef<Path>>(path: P) -> Option<Self>
Return the file language from path. Return None if the file type is not supported.
source§fn get_ts_language(&self) -> TSLanguage
fn get_ts_language(&self) -> TSLanguage
tree sitter language to parse the source
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
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 ast_grep<S>(&self, source: S) -> AstGrep<Self>where
S: AsRef<str>,
fn ast_grep<S>(&self, source: S) -> AstGrep<Self>where S: AsRef<str>,
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§impl PartialEq<SupportLang> for SupportLang
impl PartialEq<SupportLang> for SupportLang
source§fn eq(&self, other: &SupportLang) -> bool
fn eq(&self, other: &SupportLang) -> bool
This method tests for
self and other values to be equal, and is used
by ==.