Struct ast_grep_core::language::TSLanguage
source · pub struct TSLanguage { /* private fields */ }
Implementations§
source§impl Language
impl Language
pub fn field_count(&self) -> u16
pub fn field_id_for_name(&self, field_name: impl AsRef<[u8]>) -> Option<u16>
pub fn field_name_for_id(&self, field_id: u16) -> Option<Cow<'_, str>>
pub fn id_for_node_kind(&self, kind: &str, named: bool) -> u16
pub fn node_kind_count(&self) -> u16
pub fn node_kind_for_id(&self, id: u16) -> Option<Cow<'_, str>>
pub fn node_kind_is_named(&self, id: u16) -> bool
pub fn node_kind_is_visible(&self, id: u16) -> bool
pub fn version(&self) -> u32
Trait Implementations§
source§impl Language for TSLanguage
impl Language for TSLanguage
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: 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 ast_grep<S: AsRef<str>>(&self, source: S) -> AstGrep<Self>
fn ast_grep<S: AsRef<str>>(&self, source: S) -> AstGrep<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