aboutsummaryrefslogtreecommitdiffstats
path: root/src/main.rs
diff options
context:
space:
mode:
authorToby Vincent <tobyv13@gmail.com>2022-11-22 20:21:36 -0600
committerToby Vincent <tobyv13@gmail.com>2022-11-22 20:22:58 -0600
commit0f428974b2d7f4cf59490904564e52d134b9ef3a (patch)
tree9e29ce643d8f1e6352daa38e4476472a1cf59ba0 /src/main.rs
parent8c4e03340a39a966a06bdce0c948b5462774d020 (diff)
feat: add filtering and sorting for git repos
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs22
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(())
}