use crate::prelude::*;

/// Options for copying files
#[derive(Options, Clone, Debug, Deserialize, Serialize)]
pub struct CopyOptions {
    /// Should files be hard linked instead of copied?
    ///
    /// Enabling this option requires the source and destination to be on the same filesystem or mounted volume.
    #[arg(long)]
    pub hard_link: bool,
}

impl OptionsContract for CopyOptions {
    type Partial = CopyOptionsPartial;
    fn validate(&self, _validator: &mut OptionsValidator) {}
}
