ecp 0.1.1

easily build compiler plugins.
docs.rs failed to build ecp-0.1.1
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.

ecp

easily build compiler plugins.

Document

Sorry, you need to build the document with cargo doc.

Prerequisites

ecp required latest Nightly Rust.

Why use "compiler plugin" instead of "Macros 1.1"?

I need not only "custom derive", but also more "compiler plugin" features. Currently "Macros 1.1" is also unstable.

Usage

Add dependencies to Cargo.toml

[dependencies]
ecp = "^0.1"

In your main.rs or lib.rs:

#![feature(quote, plugin_registrar, rustc_private)]
extern crate syntax;
extern crate ecp;

Examples

Create a simple macro which prints "Hello world!":

#![feature(quote, plugin_registrar, rustc_private)]
extern crate syntax;
extern crate ecp;
use ecp::prelude::*;

#[plugin_registrar]
pub fn register(reg: &mut Registry) {
    reg.register_macro("test", test);
}

pub fn test(cx: &mut ExtCtxt, _: Span, _: &[TokenTree]) -> Box<MacResult + 'static> {
    MacEager::expr(quote_expr!(cx, println!("Hello world!")))
}

License

ecp is primarily distributed under the terms of the MIT license. See LICENSE for details.