mirror of
https://github.com/cargo-bins/cargo-binstall.git
synced 2025-04-20 12:38:43 +00:00

`leon_macros::template!` can parse template at compile-time. It accepts a utf-8 string literal and uses `leon` internally to parse it, then generate code that evaluates to `Template<'static>`. - Exclude fuzz from crate leon when publishing - Impl fn-like proc-macro `leon_macros::template!` - Add dep `leon-macros` to binstalk - Use `leon_macros::template!` in `binstalk::fetchers::gh_crate_meta::hosting` - Add doc for `leon-macros` in `leon` - Improve `std::fmt::Display` impl for `leon::ParseError` - Fixed broken infra link in leon Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
21 lines
494 B
Rust
21 lines
494 B
Rust
use leon::{Item, Template};
|
|
|
|
#[test]
|
|
fn test() {
|
|
assert_eq!(leon_macros::template!(""), Template::new(&[], None),);
|
|
|
|
assert_eq!(
|
|
leon_macros::template!("a"),
|
|
Template::new(&[Item::Text("a")], None),
|
|
);
|
|
|
|
assert_eq!(
|
|
leon_macros::template!("{1}"),
|
|
Template::new(&[Item::Key("1")], None),
|
|
);
|
|
|
|
assert_eq!(
|
|
leon_macros::template!("a{ 1 } c"),
|
|
Template::new(&[Item::Text("a"), Item::Key("1"), Item::Text(" c")], None),
|
|
);
|
|
}
|