pub struct Hcl;Trait Implementations§
impl Copy for Hcl
Source§impl<'de> Deserialize<'de> for Hcl
impl<'de> Deserialize<'de> for Hcl
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<Hcl> for SupportLang
impl From<Hcl> for SupportLang
Source§impl Language for Hcl
impl Language for Hcl
fn kind_to_id(&self, kind: &str) -> u16
fn field_to_id(&self, field: &str) -> Option<u16>
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
fn build_pattern( &self, builder: &PatternBuilder<'_>, ) -> Result<Pattern, PatternError>
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
Source§impl LanguageExt for Hcl
impl LanguageExt for Hcl
Source§fn get_ts_language(&self) -> TSLanguage
fn get_ts_language(&self) -> TSLanguage
tree sitter language to parse the source
Source§fn ast_grep<S>(&self, source: S) -> Root<StrDoc<Self>>
fn ast_grep<S>(&self, source: S) -> Root<StrDoc<Self>>
Create an
AstGrep instance for the languagefn injectable_languages(&self) -> Option<&'static [&'static str]>
Source§fn extract_injections<L>(
&self,
_root: Node<'_, StrDoc<L>>,
) -> Vec<(String, Vec<Range>)>where
L: LanguageExt,
fn extract_injections<L>(
&self,
_root: Node<'_, StrDoc<L>>,
) -> Vec<(String, Vec<Range>)>where
L: LanguageExt,
Get injected language regions in the root document. e.g. get JavaScripts in HTML.
Each entry is parsed as an independent tree-sitter document.
Multiple entries for the same language produce separate parse trees.
Also see https://tree-sitter.github.io/tree-sitter/using-parsers#multi-language-documents
Auto Trait Implementations§
impl Freeze for Hcl
impl RefUnwindSafe for Hcl
impl Send for Hcl
impl Sync for Hcl
impl Unpin for Hcl
impl UnsafeUnpin for Hcl
impl UnwindSafe for Hcl
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