public static String normalizeEOL()

in freemarker-docgen-core/src/main/java/org/freemarker/docgen/core/TextUtil.java [296:326]


    public static String normalizeEOL(final String s, String eol) {
        int ln = s.length();
        int i = 0;
        while (i < ln) {
            char c = s.charAt(i);
            if (c == '\r' || c == '\n') {
                break;
            }
            i++;
        }
        if (i == ln) {
            return s;
        }

        StringBuilder sb = new StringBuilder(ln + ln / 10);
        int nextToAppend = 0;
        while (i < ln) {
            char c = s.charAt(i);
            if (c == '\r' || c == '\n') {
                sb.append(s, nextToAppend, i);
                sb.append(eol);
                if (c == '\r' && i + 1 < ln && s.charAt(i + 1) == '\n') {
                    i++;
                }
                nextToAppend = i + 1;
            }
            i++;
        }
        sb.append(s, nextToAppend, ln);
        return sb.toString();
    }