mod client; mod config; mod gitlab; mod jira; mod result; mod tasks; use crate::result::Result; use tasks::Tasks; use tracing::{error, info}; use tracing_subscriber::{filter::LevelFilter, EnvFilter}; const ANSI_CLEAR: &'static str = "\x1b[2J\x1b[1;1H"; #[tokio::main] async fn main() -> Result<()> { color_eyre::install().expect("Failed to install color_eyre"); let filter = EnvFilter::builder() .with_default_directive(LevelFilter::TRACE.into()) .parse_lossy("info,tasks=trace"); tracing_subscriber::fmt().with_env_filter(filter).init(); match run().await { Ok(()) => Ok(()), Err(err) => { error!("{err}"); Err(err) } } } async fn run() -> Result<()> { print!("{ANSI_CLEAR}"); let tasks = Tasks::try_new()?; let gitlab_user = tasks.gitlab.me().await?; info!("{gitlab_user:#?}"); let jira_user = tasks.jira.me().await?; info!("{jira_user:#?}"); let issues = tasks.jira.assigned_open_issues().await?; info!("{issues:#?}"); info!("{}", issues.len()); Ok(()) }