Enum ast_grep_language::SupportLang
source · pub enum SupportLang {
Show 21 variants
C,
Cpp,
CSharp,
Css,
Dart,
Go,
Elixir,
Html,
Java,
JavaScript,
Json,
Kotlin,
Lua,
Python,
Ruby,
Rust,
Scala,
Swift,
Thrift,
Tsx,
TypeScript,
}
Expand description
Represents all built-in languages.
Variants§
C
Cpp
CSharp
Css
Dart
Go
Elixir
Html
Java
JavaScript
Json
Kotlin
Lua
Python
Ruby
Rust
Scala
Swift
Thrift
Tsx
TypeScript
Implementations§
source§impl SupportLang
impl SupportLang
pub const fn all_langs() -> &'static [SupportLang]
pub fn file_types(&self) -> Types
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
Implements the language names and aliases.
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<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§impl PartialEq for SupportLang
impl PartialEq 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 ==
.source§impl Serialize for SupportLang
impl Serialize for SupportLang
impl Copy for SupportLang
impl Eq for SupportLang
impl StructuralEq for SupportLang
impl StructuralPartialEq for SupportLang
Auto Trait Implementations§
impl RefUnwindSafe for SupportLang
impl Send for SupportLang
impl Sync for SupportLang
impl Unpin for SupportLang
impl UnwindSafe for SupportLang
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