This crate provides indoc's indentation logic for use with strings that are not statically known at compile time. For unindenting string literals, use indoc instead.
This crate exposes two functions:
unindent(&str) -> Stringunindent_bytes(&[u8]) -> Vec<u8>extern crate unindent; use unindent::unindent; fn main() { let indented = " line one line two"; assert_eq!("line one\nline two", unindent(indented)); }
The following rules characterize the behavior of unindent:
This means there are a few equivalent ways to format the same string, so choose one you like. All of the following result in the string "line one\nline two\n":
unindent("          /      unindent(           /      unindent("line one
   line one        /         "line one        /                 line two
   line two       /           line two       /                  ")
   ")            /            ")            /
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.