diff --git a/src/lib.rs b/src/lib.rs index 304b7a2..4f9adf1 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -38,15 +38,16 @@ pub fn skip(cli: &Cli, writer: &mut impl Write) -> Result<()> { None => Box::new(BufReader::new(std::io::stdin())), }; if let Some(line) = &cli.line { - skip_file_lines_matching(&cli, reader, writer, line) + skip_lines_matching(&cli, reader, writer, line) } else if let Some(ref token) = cli.token { - skip_file_tokens(cli, reader, writer, token) + skip_tokens(cli, reader, writer, token) } else { - skip_file_lines(cli, reader, writer) + skip_lines(cli, reader, writer) } } -fn skip_file_lines(cli: &Cli, reader: Box, writer: &mut impl Write) -> Result<()> { +// skip a number of lines +fn skip_lines(cli: &Cli, reader: Box, writer: &mut impl Write) -> Result<()> { let mut counter = 0usize; for current_line in reader.lines() { if let Ok(current_line) = current_line { @@ -59,7 +60,8 @@ fn skip_file_lines(cli: &Cli, reader: Box, writer: &mut impl Write) Ok(()) } -fn skip_file_lines_matching( +// skip until a number of matching lines seen +fn skip_lines_matching( cli: &Cli, reader: Box, writer: &mut impl Write, @@ -79,7 +81,9 @@ fn skip_file_lines_matching( Ok(()) } -fn skip_file_tokens( +// skip until a number of tokens seen +// may or may not count each occurance of token on a line - see cli.ignore_extras +fn skip_tokens( cli: &Cli, reader: Box, writer: &mut impl Write,