Provides an builder API to assist in generating Rust code.
More information about this crate can be found in the crate documentation
To use codegen
, first add this to your Cargo.toml
:
[dependencies]
codegen = { git = "https://github.com/carllerche/codegen" } # Soon on crates.io
Next, add this to your crate:
extern crate codegen;
- Create a
Scope
instance. - Use the builder API to add elements to the scope.
- Call
Scope::to_string()
to get the generated code.
For example:
use codegen::Scope;
let mut scope = Scope::new();
scope.new_struct("Foo")
.derive("Debug")
.field("one", "usize")
.field("two", "String");
println!("{}", scope.to_string());
codegen
will not attempt to perform anything beyond basic formatting. For
improved formatting, the generated code can be passed to rustfmt
.