use std::path::{Path, PathBuf};
#[derive(Clone, Debug)]
pub struct RmOpts {
pub path: PathBuf,
pub staged: bool,
pub recursive: bool,
pub remote: bool,
}
impl RmOpts {
pub fn from_path<P: AsRef<Path>>(path: P) -> RmOpts {
RmOpts {
path: path.as_ref().to_owned(),
staged: false,
recursive: false,
remote: false,
}
}
pub fn from_staged_path<P: AsRef<Path>>(path: P) -> RmOpts {
RmOpts {
path: path.as_ref().to_owned(),
staged: true,
recursive: false,
remote: false,
}
}
pub fn from_path_opts<P: AsRef<Path>>(path: P, opts: &RmOpts) -> RmOpts {
RmOpts {
path: path.as_ref().to_owned(),
staged: opts.staged,
recursive: opts.recursive,
remote: opts.remote,
}
}
}