aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/app/freq.rs7
-rw-r--r--src/main.rs6
2 files changed, 9 insertions, 4 deletions
diff --git a/src/app/freq.rs b/src/app/freq.rs
index 9446b50..6d80f2e 100644
--- a/src/app/freq.rs
+++ b/src/app/freq.rs
@@ -69,9 +69,10 @@ pub fn freq(args: &ArgMatches) {
let mut stats: Vec<(String, Person)> = stats.into_iter().collect();
stats.sort_by(|&(_, ref a), &(_, ref b)| b.words.cmp(&a.words));
- for &(ref name, ref stat) in stats.iter() {
+ let count = value_t!(args, "count", usize).unwrap_or(stats.len());
+ for &(ref name, ref stat) in stats.iter().take(count) {
let _ = write!(&mut output,
- "{}:\n\tTotal lines: {}\n\tLines without alphabetic characters: {}\n\tTotal words: {}\n\tWords per line: {}\n",
- name, stat.lines, stat.lines - stat.alpha_lines, stat.words, stat.words as f32 / stat.lines as f32);
+ "{}:\n\tTotal lines: {}\n\tLines without alphabetic characters: {}\n\tTotal words: {}\n\tWords per line: {}\n",
+ name, stat.lines, stat.lines - stat.alpha_lines, stat.words, stat.words as f32 / stat.lines as f32);
}
}
diff --git a/src/main.rs b/src/main.rs
index 6c87367..11f007f 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -83,7 +83,11 @@ fn main() {
.subcommand(SubCommand::with_name("convert")
.about("Convert from a source to a target format"))
.subcommand(SubCommand::with_name("freq")
- .about("Analyse the activity of users by certain metrics"))
+ .about("Analyse the activity of users by certain metrics")
+ .arg(Arg::with_name("count")
+ .help("The number of items to be displayed")
+ .takes_value(true)
+ .long("count")))
.subcommand(SubCommand::with_name("seen")
.about("Print the last line a nick was active")
.arg(Arg::with_name("nick")