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!() } } }