use anyhow::Result; use clap::Parser; use projectr::{config::Config, project::Projects, tmux::Tmux, Search}; fn main() -> Result<()> { let config = Config::parse(); tracing_subscriber::fmt::fmt() .pretty() .with_writer(std::io::stderr) .with_max_level(&config.verbosity) .init(); let mut projects = Projects::from(config.parsers); projects.extend(config.projects); if let Ok(search) = Search::try_from(config.search) { projects.extend(search); } if let Ok(sessions) = Tmux::sessions() { projects.extend(sessions) } Ok(projects.write(std::io::stdout())?) }