#spans #debugging #macro #proc-macro #token

spanr

一个工具,用于过程宏作者可视化生成的代码中的spans

1 个不稳定版本

0.1.0 2020年8月28日

#716过程宏

MIT/Apache

240KB
321

spanr

一个工具,使过程宏作者能够交互式地查看和调试生成的代码中的Span

屏幕截图

示例用法

#[proc_macro_attribute]
pub fn act_zero(_attr: TokenStream, item: TokenStream) -> TokenStream {
    let res = match act_zero_impl(item) {
        Ok(tokens) => tokens,
        Err(e) => e.to_compile_error(),
    };
    // Save the visualization to a file
    spanr::save_html(res.clone(), "tokens.html").unwrap();
    res.into()
}

构建

此crate依赖于来自proc-macro2 crate的不稳定特性,因此必须使用夜间编译器构建,并且必须配置RUSTFLAGS环境变量。

RUSTFLAGS='--cfg procmacro2_semver_exempt'

依赖项