indoc 0.1.5

Indented document literals
docs.rs failed to build indoc-0.1.5
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.
Visit the last successful build: indoc-2.0.5

Indented Documents (indoc)

Build Status Latest Version

This crate provides a Rust compiler plugin for indented string literals. The indoc!() macro takes a multiline string literal and un-indents it so the leftmost non-space character is in the first column.

Installation

[dependencies]
indoc = "^0.1"

Using Indoc

#![plugin(indoc)]

fn main() {
    let testing = indoc!("
        a
           b
        c
           d");
    let expected = "a\n   b\nc\n   d";
    assert_eq!(testing, expected);
}

Indoc also works with raw string literals:

#![plugin(indoc)]

fn main() {
    let testing = indoc!(r#"
        a
           "b"
        c
           d
        "#);
    let expected = "a\n   \"b\"\nc\n   d\n";
    assert_eq!(testing, expected);
}

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in Indoc by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.