pub mod detect;
pub mod rust;
pub mod rust_maturin;
use std::path::{Path, PathBuf};
use crate::error::Result;
pub trait ProjectType {
fn name(&self) -> &str;
fn read_version(&self, root: &Path) -> Result<semver::Version>;
fn write_version(&self, root: &Path, version: &semver::Version) -> Result<()>;
fn verify_lockfile(&self, root: &Path) -> Result<()>;
fn modified_files(&self) -> Vec<PathBuf>;
}
pub use detect::detect;