Module whitespace_rs::ender[][src]

Expand description

Report on or fix line endings.

To find out the line endings given a Read trait object use read_eol_info():

use std::error::Error;
use std::fs::File;
use whitespace_rs::ender;

fn main() -> Result<(), Box<dyn Error>> {
  let mut reader = "abc\n\r\r\n".as_bytes();
  let eol_info = ender::read_eol_info(&mut reader)?;

  println!("{:?}", eol_info);
  Ok(())
}

To normalize line endings given a Read trait object, create a Write trait object and use write_new_eols():

use std::error::Error;
use std::fs::File;
use whitespace_rs::ender;

fn main() -> Result<(), Box<dyn Error>> {
  let mut reader = "abc\n\r\r\n".as_bytes();
  let mut writer = Vec::new();
  let num_lines = ender::write_new_eols(&mut reader, &mut writer, ender::EndOfLine::Lf)?;

  println!("{}", num_lines);
  Ok(())
}

Structs

File line information.

Enums

Types of line endings.

Functions

Read end-of-line information for a file.

Write input file out with new end-of-lines.