trim-margin: easy layouting of multi-line strings

Build Status Crates.io

This crate is intended to ease the use of multi-line strings in Rust. When embedding strings with multiple lines in Rust all whitespaces, tabs, etc. are preserved even if they are just used for layouting one's code nicely.

```Rust fn main() { println!("-----------------------"); let misrepresentedmultilinestring = " This is string spans over multiple lines, but its rendering preserves all whitespaces.

    Which is not what we usually intend in this case.
";
println!("{}", misrepresented_multiline_string);
println!("-----------------------");

println!("-----------------------");
let correctly_layouted_string = "For displaying

the a multiline strin properly it would need to be layouted like this.

Which is not very nice."; println!("{}", correctlylayoutedstring); println!("-----------------------"); } ```

The trim-margin crate supports you with proper layouting. By introducing a margin in the multi-line string the trim_margin method can filter out unwanted whitespaces and blank lines.

```Rust extern crate trimmargin; use trimmargin::MarginTrimmable;

fn main() { let multilinestringwithmargin = " |This string has a margin |indicated by the '|' character. | |The following method call will remove ... | * a blank first/last line | * blanks before the margin prefix | * the margin prefix itself ".trimmargin().unwrap(); println!("{}", multilinestringwith_margin); } ```