timpl_internal/lib.rs
1pub fn indent(indent: usize, str: String) -> String {
2 let lines = str.split('\n').enumerate().peekable();
3 let mut result = String::new();
4
5 for (i, line) in lines {
6 if i > 0 {
7 result.push('\n');
8 }
9
10 if i == 0 || line.chars().all(char::is_whitespace) {
11 result.push_str(line);
12 } else {
13 result.push_str(&" ".repeat(indent));
14 result.push_str(line);
15 }
16 }
17
18 result
19}