Skip to main content

taskcmd/
lib.rs

1#![doc = include_str!("../docs/README.md")]
2
3pub mod command;
4pub mod errors;
5pub mod loader;
6pub mod tasks;
7
8use crate::errors::*;
9use crate::loader::load_definitions;
10use crate::tasks::Tasks;
11use antex::ColorMode;
12
13pub fn run() -> Result<()> {
14  let definitions = load_definitions()?;
15  let tasks = Tasks::new(definitions)?;
16  let args = std::env::args().skip(1).collect::<Vec<String>>();
17  if args.len() == 1 {
18    let task_name = &args[0];
19    let exit_status = tasks.execute(task_name)?;
20    std::process::exit(exit_status.code().unwrap());
21  } else {
22    tasks.list(ColorMode::default());
23  }
24  Ok(())
25}