#line-ending #newline #text #eol

detect-newline-style

Determine a string's preferred newline character

3 releases

0.1.2 Oct 25, 2023
0.1.1 Oct 16, 2023
0.1.0 Oct 3, 2023

#853 in Text processing

Download history 29/week @ 2024-06-21 37/week @ 2024-06-28 96/week @ 2024-07-05 52/week @ 2024-07-12 22/week @ 2024-07-19 59/week @ 2024-07-26 48/week @ 2024-08-02 47/week @ 2024-08-09 31/week @ 2024-08-16 51/week @ 2024-08-23 42/week @ 2024-08-30 80/week @ 2024-09-06 23/week @ 2024-09-13 31/week @ 2024-09-20 40/week @ 2024-09-27 21/week @ 2024-10-04

120 downloads per month
Used in catppuccin-whiskers

MIT/Apache

12KB
172 lines

detect-newline-style

Latest Version Documentation CI Status

Determine a string's preferred newline character

Installation

cargo add detect-newline-style

Examples

use detect_newline_style::LineEnding;

fn main() {
    let text = "one\rtwo\r\nthree\nfour\n";
    let eol = LineEnding::find(text, LineEnding::LF);

    assert_eq!(eol, LineEnding::LF);

    let text = "one\rtwo\r\nthree\n";
    let eol = LineEnding::find_or_use_lf(text);

    assert_eq!(eol, LineEnding::LF);

    let text = "one\rtwo\r\nthree\n";
    let eol = LineEnding::find_or_use_crlf(text);

    assert_eq!(eol, LineEnding::CRLF);

    assert_eq!(format!("{}", LineEnding::CR), "\r");
    assert_eq!(format!("{}", LineEnding::LF), "\n");
    assert_eq!(format!("{}", LineEnding::CRLF), "\r\n");
}

Dependencies

~2–3MB
~54K SLoC