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>;
}