macro_rules! query {
(@target($query:expr), ) => { ... };
(@target($query:expr), @text (
$($key:ident = $val:expr),*
) > $($other:tt)*) => { ... };
(@target($query:expr), @text > $($other:tt)*) => { ... };
(@target($query:expr), @text (
$($key:ident = $val:expr),*
)) => { ... };
(@target($query:expr), @text) => { ... };
(@target($query:expr), $name:ident (
$($key:ident = $val:expr),*
) > $($other:tt)*) => { ... };
(@target($query:expr), $name:ident > $($other:tt)*) => { ... };
(@target($query:expr), $name:ident (
$($key:ident = $val:expr),*
)) => { ... };
(@target($query:expr), $name:ident) => { ... };
($node:expr, $($other:tt)*) => { ... };
}
Expand description
Allows for the creation of queries in a similar format as style rules.
Examples
let res = query!(node, panel(width=300) > title > @text)
.next();
assert_eq!(
&*res
.as_ref()
.and_then(|v| v.text())
.unwrap(),
"Testing"
);