Macro ts_macros::query

source ·
query!() { /* proc-macro */ }
Expand description

Define a tree-sitter query, optionally extracting its named captures into an enum.

Usage:

ts_macros::query! {
    MyQuery(Foo, Bar);
(function_definition
 (parameters . (string) @FOO)
 (block
   (expression_statement
     (call
       (_) @callee
       (parameters . (string) @BAR)))))
};

Generates:

pub enum MyQuery {
    Foo = 0,
    Bar = 2,
}
impl MyQuery {
    pub fn query() -> &'static Query;
    pub fn from(raw: u32) -> Option<Self>;
}