ruast 0.0.23

A printable & modifiable Rust AST
Documentation
fn main() -> Result<(), Box<dyn std::error::Error>> {
    use ruast::*;

    let mut krate = Crate::new();

    let path = Path::single("foo").chain("bar");
    krate.add_item(Use::path(UsePath::from(path)));

    let tree = Path::single("foo").chain("bar").chain_use_rename("baz");
    krate.add_item(Use::from(tree));

    let tree = Path::single("foo")
        .chain("bar")
        .chain_use_group(vec![UseTree::name("baz"), UseTree::name("qux")]);
    krate.add_item(Use::from(tree));

    let tree = Path::single("foo").chain("bar").chain_use_glob();
    krate.add_item(Use::from(tree));

    println!("{krate}");
    Ok(())
}