summaryrefslogtreecommitdiffstats
path: root/src/main.rs
diff options
context:
space:
mode:
authorToby Vincent <tobyv13@gmail.com>2022-11-26 16:43:14 -0600
committerToby Vincent <tobyv13@gmail.com>2022-11-26 16:43:14 -0600
commit46cee052d6d4b60b483ab6841af976d68d954705 (patch)
tree19bbe2170c5a2e6af3b306e14c942ccd1393228a /src/main.rs
parent0f428974b2d7f4cf59490904564e52d134b9ef3a (diff)
feat: add project filtering
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/main.rs b/src/main.rs
index 2c2f980..ca08fa4 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -1,8 +1,7 @@
use anyhow::{Context, Result};
use clap::Parser;
use figment::providers::{Env, Format, Toml};
-use projectr::{Cli, Config, GitSorter, Projects, Sorter};
-use std::path::PathBuf;
+use projectr::{Cli, Config, Project, Search};
#[tracing::instrument]
fn main() -> Result<()> {
@@ -26,14 +25,14 @@ fn main() -> Result<()> {
#[tracing::instrument]
pub fn run(config: &Config) -> Result<()> {
- let mut projects: Vec<PathBuf> = Projects::from_provider(config)
+ let mut projects: Vec<Box<dyn Project>> = Search::from_provider(config)
.context("Failed to extract paths config")?
.collect();
- GitSorter::sort(&mut projects);
+ projects.sort_unstable_by_key(|p| p.timestamp());
for project in projects {
- println!("{}", project.to_string_lossy())
+ println!("{}", project.to_path_buf().to_string_lossy())
}
Ok(())