#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

#512 in Text processing

Download history 3/week @ 2024-02-14 13/week @ 2024-02-21 4/week @ 2024-02-28 1/week @ 2024-03-13 26/week @ 2024-03-27 30/week @ 2024-04-03

56 downloads per month

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
~53K SLoC