[][src]Macro genco::toks

macro_rules! toks {
    ($($x:expr),*) => { ... };
    ($($x:expr,)*) => { ... };
}
👎 Deprecated since 0.5.0:

Use the quote! procedural macro instead.

Helper macro to reduce boilerplate needed with nested token expressions.

Examples

use genco::prelude::*;
use genco::toks;

let n1: Tokens = toks!("var v = ", "bar".quoted(), ";");
This example is not tested
use genco::prelude::*;
use genco::{push, nested};

let mut t = js::Tokens::new();

push!(t, |t| {
    push!(t, "function bar(a, b) {");
    nested!(t, |t| {
        push!(t, "var v = a + b;");
        push!(t, "return v;");
    });
    push!(t, "}");
});

push!(t, "var foo = bar();");

let expected = vec![
    "function bar(a, b) {",
    "    var v = a + b;",
    "    return v;",
    "}",
    "var foo = bar();",
    "",
];

assert_eq!(expected, t.to_file_vec().unwrap());