diff options
author | Toby Vincent <tobyv13@gmail.com> | 2022-11-22 20:21:36 -0600 |
---|---|---|
committer | Toby Vincent <tobyv13@gmail.com> | 2022-11-22 20:22:58 -0600 |
commit | 0f428974b2d7f4cf59490904564e52d134b9ef3a (patch) | |
tree | 9e29ce643d8f1e6352daa38e4476472a1cf59ba0 /src/main.rs | |
parent | 8c4e03340a39a966a06bdce0c948b5462774d020 (diff) |
feat: add filtering and sorting for git repos
Diffstat (limited to 'src/main.rs')
-rw-r--r-- | src/main.rs | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/src/main.rs b/src/main.rs index b2bc844..2c2f980 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,8 +1,8 @@ use anyhow::{Context, Result}; use clap::Parser; use figment::providers::{Env, Format, Toml}; -use projectr::{Cli, Config}; -use tracing_subscriber::EnvFilter; +use projectr::{Cli, Config, GitSorter, Projects, Sorter}; +use std::path::PathBuf; #[tracing::instrument] fn main() -> Result<()> { @@ -19,8 +19,22 @@ fn main() -> Result<()> { .pretty() .with_writer(std::io::stderr) .with_max_level(cli.verbosity) - .with_env_filter(EnvFilter::from_default_env()) .init(); - projectr::run(&config).context("Failed to run projectr") + run(&config).context("Failed to run projectr") +} + +#[tracing::instrument] +pub fn run(config: &Config) -> Result<()> { + let mut projects: Vec<PathBuf> = Projects::from_provider(config) + .context("Failed to extract paths config")? + .collect(); + + GitSorter::sort(&mut projects); + + for project in projects { + println!("{}", project.to_string_lossy()) + } + + Ok(()) } |