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); } ```