mirror of
https://github.com/nikolassv/bartib
synced 2025-02-26 03:47:09 +00:00
Add an option to only print current projects
This commit is contained in:
parent
c6c9ba17f8
commit
f912c90440
3 changed files with 22 additions and 5 deletions
|
@ -6,10 +6,10 @@ use crate::data::getter;
|
|||
use crate::view::list;
|
||||
|
||||
// lists all currently runninng activities.
|
||||
pub fn list_running(file_name: &str) -> Result<()> {
|
||||
pub fn list_running(file_name: &str, only_project: bool) -> Result<()> {
|
||||
let file_content = bartib_file::get_file_content(file_name)?;
|
||||
let running_activities = getter::get_running_activities(&file_content);
|
||||
list::list_running_activities(&running_activities);
|
||||
list::list_running_activities(&running_activities, only_project);
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
|
11
src/main.rs
11
src/main.rs
|
@ -136,7 +136,14 @@ fn main() -> Result<()> {
|
|||
.about("cancels all currently running activities")
|
||||
)
|
||||
.subcommand(
|
||||
SubCommand::with_name("current").about("lists all currently running activities"),
|
||||
SubCommand::with_name("current")
|
||||
.about("lists all currently running activities")
|
||||
.arg(
|
||||
Arg::with_name("compact_mode")
|
||||
.long("compact")
|
||||
.short("c")
|
||||
.help("Compact mode. Report only projects names. Nothing if no current project. Useful for shell plugins")
|
||||
)
|
||||
)
|
||||
.subcommand(
|
||||
SubCommand::with_name("list")
|
||||
|
@ -257,7 +264,7 @@ fn run_subcommand(matches: &ArgMatches, file_name: &str) -> Result<()> {
|
|||
bartib::controller::manipulation::stop(file_name, time)
|
||||
}
|
||||
("cancel", Some(_)) => bartib::controller::manipulation::cancel(file_name),
|
||||
("current", Some(_)) => bartib::controller::list::list_running(file_name),
|
||||
("current", Some(sub_m)) => bartib::controller::list::list_running(file_name, sub_m.is_present("compact_mode") ),
|
||||
("list", Some(sub_m)) => {
|
||||
let filter = create_filter_for_arguments(sub_m);
|
||||
let do_group_activities = !sub_m.is_present("no_grouping") && filter.date.is_none();
|
||||
|
|
|
@ -62,7 +62,17 @@ fn create_activites_group(title: &str, activities: &[&activity::Activity]) -> ta
|
|||
}
|
||||
|
||||
// displays a table with running activities (no end time)
|
||||
pub fn list_running_activities(running_activities: &[&activity::Activity]) {
|
||||
pub fn list_running_activities(running_activities: &[&activity::Activity], compact_mode: bool) {
|
||||
if compact_mode {
|
||||
print!("{}",
|
||||
running_activities
|
||||
.iter()
|
||||
.map(|a|a.project.clone())
|
||||
.collect::<Vec<_>>()
|
||||
.join(", ")
|
||||
);
|
||||
return
|
||||
}
|
||||
if running_activities.is_empty() {
|
||||
println!("No Activity is currently running");
|
||||
} else {
|
||||
|
|
Loading…
Add table
Reference in a new issue