feat: sort add p,d,m

This commit is contained in:
2020-07-26 23:58:46 +08:00
parent a864b897c3
commit 76d7e1543d

View File

@@ -27,7 +27,7 @@ fn main() -> std::io::Result<()> {
.arg(Arg::with_name("verbose").short("v").long("verbose").multiple(true).help("Sets the level of verbosity"))
.arg(Arg::with_name("exclude").short("x").long("exclude").takes_value(true).multiple(true).help("Exclude some todos from the list"))
.arg(Arg::with_name("list").short("l").long("list").takes_value(true).help("Number of values to display"))
.arg(Arg::with_name("sort").short("s").long("sort").takes_value(true).possible_values(&["priority", "deadline", "member"]).help("Sort todos"))
.arg(Arg::with_name("sort").short("s").long("sort").takes_value(true).possible_values(&["priority", "deadline", "member", "p", "d", "m"]).help("Sort todos"))
.arg(Arg::with_name("member").short("m").long("member").takes_value(true).multiple(true).min_values(1).help("Filter from member"))
.subcommand(SubCommand::with_name("legacy").about("Launch program in legacy mode (supports todo!(), etc..."))
.get_matches();
@@ -68,13 +68,13 @@ fn main() -> std::io::Result<()> {
if let Some(sort) = matches.value_of("sort") {
match sort {
"priority" => tokens.sort_unstable_by_key(|t : &Token| -> String {
"p" | "priority" => tokens.sort_unstable_by_key(|t : &Token| -> String {
t.priority.clone().unwrap_or_else(|| "z".into())
}),
"deadline" => tokens.sort_unstable_by_key(|t : &Token| -> NaiveDate {
"d" | "deadline" => tokens.sort_unstable_by_key(|t : &Token| -> NaiveDate {
t.date.clone().unwrap_or_else(|| NaiveDate::from_ymd(9999, 1, 1))
}),
"member" => tokens.sort_unstable_by_key(|t : &Token| -> String {
"m" | "member" => tokens.sort_unstable_by_key(|t : &Token| -> String {
t.member.clone().unwrap_or_else(|| "zzzzzzzzzzzzz".into())
}),
_ => {}, // IGNORE