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 abi_version(&self) -> u32
Trait Implementations§
Source§impl From<LanguageFn> for Language
impl From<LanguageFn> for Language
Source§fn from(inner: LanguageFn) -> Language
fn from(inner: LanguageFn) -> Language
Converts to this type from the input type.
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<StrDoc<Self>>
fn ast_grep<S: AsRef<str>>(&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 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
fn injectable_languages(&self) -> Option<&'static [&'static str]>
Source§fn extract_injections<D: Doc>(
&self,
_root: Node<'_, D>,
) -> HashMap<String, Vec<TSRange>>
fn extract_injections<D: Doc>( &self, _root: Node<'_, D>, ) -> HashMap<String, Vec<TSRange>>
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 Eq for Language
impl RefUnwindSafe for Language
impl Send for Language
impl StructuralPartialEq for Language
impl Sync for Language
impl Unpin for Language
impl UnwindSafe for Language
Auto Trait Implementations§
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