public static String detectEOL()

in freemarker-docgen-core/src/main/java/org/freemarker/docgen/core/TextUtil.java [266:294]


    public static String detectEOL(String s, String defaultEOL) {
        int unixEOLs = 0;
        int windowsEOLs = 0;
        int macEOLs = 0;
        for (int i = 0; i < s.length(); i++) {
            char c = s.charAt(i);
            if (c == '\n') {
                unixEOLs++;
            }
            if (c == '\r') {
                if (i + 1 < s.length() && s.charAt(i + 1) == '\n') {
                    i++;
                    windowsEOLs++;
                } else {
                    macEOLs++;
                }
            }
        }
        
        if (unixEOLs > windowsEOLs && unixEOLs > macEOLs) {
            return "\n";
        } else if (windowsEOLs > unixEOLs && windowsEOLs > macEOLs) {
            return "\r\n";
        } else if (macEOLs > unixEOLs && macEOLs > windowsEOLs) {
            return "\r";
        } else {
            return defaultEOL;
        }
    }