macro_rules! fileify {
($string:expr) => { ... };
($string:expr, $prefix:expr) => { ... };
($string:expr, $prefix:expr, $suffix:expr) => { ... };
}Expand description
fileify takes a string, strips leading and trailing whitespace both for
the whole string and for each line, and makes sure that a final newline is
present. This serves mostly aesthetic purposes (file contents can be
indented):
assert_eq!(
fileify!(
"
line 1
line 2
"
),
"line 1\nline 2\n"
);Overloads allow prefixing and suffixing each line:
let file = fileify!("
line 1
line 2
", "\t");
assert_eq!(file, "\tline 1\n\tline 2\n");
let file = fileify!("
line 1
line 2
", "\t", ",");
assert_eq!(file, "\tline 1,\n\tline 2,\n");
let file = fileify!("
line 1
line 2
", "", ",");
assert_eq!(file, "line 1,\nline 2,\n");