use std::path::PathBuf;
use anyhow::Result;
#[derive(Debug)]
pub struct Project {
pub dir: PathBuf,
pub name: String,
}
pub fn resolve() -> Result<Project> {
let dir = std::env::current_dir()?;
let name = dir.file_name().map(|n| n.to_string_lossy().into_owned()).unwrap_or_else(|| "workon".into());
Ok(Project { dir, name })
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn resolve_uses_cwd() {
let result = resolve().unwrap();
assert_eq!(result.dir, std::env::current_dir().unwrap());
assert!(!result.name.is_empty());
}
}