From 3dc4d94847b90ee6a7cf940b4bba8ac83dfb4067 Mon Sep 17 00:00:00 2001 From: Paul Campbell Date: Thu, 23 Mar 2023 14:49:56 +0000 Subject: [PATCH] refactoring --- src/lib.rs | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) 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,