feat: sort add p,d,m
This commit is contained in:
@@ -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("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("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("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"))
|
.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..."))
|
.subcommand(SubCommand::with_name("legacy").about("Launch program in legacy mode (supports todo!(), etc..."))
|
||||||
.get_matches();
|
.get_matches();
|
||||||
@@ -68,13 +68,13 @@ fn main() -> std::io::Result<()> {
|
|||||||
|
|
||||||
if let Some(sort) = matches.value_of("sort") {
|
if let Some(sort) = matches.value_of("sort") {
|
||||||
match 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())
|
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))
|
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())
|
t.member.clone().unwrap_or_else(|| "zzzzzzzzzzzzz".into())
|
||||||
}),
|
}),
|
||||||
_ => {}, // IGNORE
|
_ => {}, // IGNORE
|
||||||
|
|||||||
Reference in New Issue
Block a user