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}