24 lines
636 B
Rust
24 lines
636 B
Rust
use clap::Clap;
|
|
|
|
#[derive(Clap, PartialEq, Debug)]
|
|
pub enum ExtensionSet {
|
|
Images,
|
|
Audio,
|
|
Videos,
|
|
Media,
|
|
Documents,
|
|
Archives
|
|
}
|
|
|
|
impl ExtensionSet {
|
|
pub fn extensions(&self) -> Vec<&str> {
|
|
match self {
|
|
Self::Images => vec!["png", "jpg", "jpeg", "webp", "raw", "gif", "apng", "tga", "bmp", "tif", "tiff", "heif",
|
|
"avif", "jp2", "mng", "svg"],
|
|
Self::Videos => vec!["webm", "mp4", "mkv", "mov", "avi", "m4v", "wmv", "bik", "ogv", "qt", "3gp", "3g2", "divx"],
|
|
Self::Audio => vec!["ogg", "oga", "opus", "mp3", "m4a", "aac", "flac", "ape", "midi", "mid", "alac", "wav",
|
|
"aiff", "aa3", "at3"],
|
|
_ => todo!()
|
|
}
|
|
}
|
|
} |