public static string NormalizeIndentation(string s) { var first = FirstNonEmptyLineOf(s); if (first.Length == 0) { return(s); } string indent = reg.Match(first).Value; if (indent.Length == 0) { return(s); } var result = new StringBuilder(); foreach (string line in TextReaderEnumerator.lines(new StringReader(s))) { if (line.StartsWith(indent)) { result.AppendLine(line.Substring(RuntimeServices.NormalizeStringIndex(line, indent.Length))); } else { result.AppendLine(line); } } return(result.ToString().Trim()); }
public static string FirstNonEmptyLineOf(string s) { foreach (var line in TextReaderEnumerator.lines(new StringReader(s))) { if (line.Trim().Length > 0) { return(line); } } return(string.Empty); }