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.
Indoc is available on crates.io. Use the
following in Cargo.toml
:
toml
[dependencies]
indoc = "^0.1"
Release notes are available under GitHub releases.
```rust
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:
```rust
fn main() { let testing = indoc!(r#" a "b" c d "#); let expected = "a\n \"b\"\nc\n d\n"; assert_eq!(testing, expected); } ```
And byte string literals:
```rust
fn main() { let testing = indoc!(b" a b c d "); let expected = b"a\n b\nc\n d\n"; assert_eq!(testing, expected); } ```
Licensed under either of
at your option.
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.