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) -> String
unindent_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.