Functions/GenXdev.FileSystem/FileExtensionGroups.cs
public static class FileGroups
{ public static readonly Dictionary<string, HashSet<string>> Groups = new Dictionary<string, HashSet<string>>(StringComparer.OrdinalIgnoreCase) { // Everyday categories ["Pictures"] = new HashSet<string>(StringComparer.OrdinalIgnoreCase) { ".jpg", ".jpeg", ".png", ".gif", ".bmp", ".tiff", ".tif", ".heic", ".webp", ".raw", ".cr2", ".nef", ".orf", ".arw" }, ["Videos"] = new HashSet<string>(StringComparer.OrdinalIgnoreCase) { ".mp4", ".mkv", ".avi", ".mov", ".wmv", ".flv", ".mpeg", ".mpg", ".m4v", ".3gp", ".webm" }, ["Music"] = new HashSet<string>(StringComparer.OrdinalIgnoreCase) { ".mp3", ".wav", ".flac", ".aac", ".ogg", ".wma", ".m4a", ".alac", ".aiff", ".mid", ".midi" }, ["Documents"] = new HashSet<string>(StringComparer.OrdinalIgnoreCase) { ".doc", ".docx", ".odt", ".rtf", ".pdf", ".tex", ".wpd" }, ["Spreadsheets"] = new HashSet<string>(StringComparer.OrdinalIgnoreCase) { ".xls", ".xlsx", ".ods", ".csv", ".tsv" }, ["Presentations"] = new HashSet<string>(StringComparer.OrdinalIgnoreCase) { ".ppt", ".pptx", ".odp", ".key" }, ["Archives"] = new HashSet<string>(StringComparer.OrdinalIgnoreCase) { ".7z", ".7z.001", ".xz", ".bzip2", ".gzip", ".tar", ".zip", ".zip.001", ".wim", ".ar", ".arj", ".cab", ".chm", ".cpio", ".cramfs", ".dmg", ".ext", ".fat", ".gpt", ".hfs", ".ihex", ".iso", ".lzh", ".lzma", ".mbr", ".msi", ".nsis", ".ntfs", ".qcow2", ".rar", ".rpm", ".squashfs", ".udf", ".uefi", ".vdi", ".vhd", ".vmdk", ".xar", ".z" }, ["Installers"] = new HashSet<string>(StringComparer.OrdinalIgnoreCase) { ".msi", ".exe", ".apk", ".dmg", ".pkg", ".deb", ".rpm" }, ["Executables"] = new HashSet<string>(StringComparer.OrdinalIgnoreCase) { ".exe", ".com", ".bin", ".app", ".out", ".elf", ".scr" }, ["Databases"] = new HashSet<string>(StringComparer.OrdinalIgnoreCase) { ".db", ".sqlite", ".accdb", ".mdb", ".sql", ".dbf", ".ndf", ".ldf" }, ["DesignFiles"] = new HashSet<string>(StringComparer.OrdinalIgnoreCase) { ".psd", ".ai", ".indd", ".xd", ".fig", ".sketch", ".cdr", ".dwg", ".dxf" }, ["Ebooks"] = new HashSet<string>(StringComparer.OrdinalIgnoreCase) { ".epub", ".mobi", ".azw3", ".fb2", ".pdf" }, ["Subtitles"] = new HashSet<string>(StringComparer.OrdinalIgnoreCase) { ".srt", ".vtt", ".sub", ".ssa", ".ass" }, ["Fonts"] = new HashSet<string>(StringComparer.OrdinalIgnoreCase) { ".ttf", ".otf", ".woff", ".woff2", ".eot" }, ["EmailFiles"] = new HashSet<string>(StringComparer.OrdinalIgnoreCase) { ".eml", ".msg", ".pst", ".ost", ".mbox" }, ["3DModels"] = new HashSet<string>(StringComparer.OrdinalIgnoreCase) { ".obj", ".stl", ".fbx", ".blend", ".3ds", ".dae", ".ply" }, ["GameAssets"] = new HashSet<string>(StringComparer.OrdinalIgnoreCase) { ".pak", ".wad", ".sav", ".dat", ".uasset", ".utx", ".bsp" }, ["MedicalFiles"] = new HashSet<string>(StringComparer.OrdinalIgnoreCase) { ".dcm", ".dicom", ".nii", ".hdr", ".img" }, ["FinancialFiles"] = new HashSet<string>(StringComparer.OrdinalIgnoreCase) { ".qbw", ".qbb", ".qfx", ".ofx", ".gnucash", ".xls", ".xlsx", ".csv" }, ["LegalFiles"] = new HashSet<string>(StringComparer.OrdinalIgnoreCase) { ".docx", ".pdf", ".rtf", ".odt" }, // Developer / power user categories ["SourceCode"] = new HashSet<string>(StringComparer.OrdinalIgnoreCase) { ".cs", ".java", ".py", ".cpp", ".c", ".h", ".hpp", ".js", ".ts", ".go", ".rb", ".php", ".swift", ".rs", ".kt", ".m", ".scala" }, ["Scripts"] = new HashSet<string>(StringComparer.OrdinalIgnoreCase) { ".ps1", ".bat", ".cmd", ".sh", ".bash", ".zsh", ".fish", ".pl", ".awk", ".tcl" }, ["MarkupAndData"] = new HashSet<string>(StringComparer.OrdinalIgnoreCase) { ".xml", ".json", ".yaml", ".yml", ".toml", ".ini", ".cfg", ".conf", ".csv", ".tsv" }, ["Configuration"] = new HashSet<string>(StringComparer.OrdinalIgnoreCase) { ".ini", ".cfg", ".conf", ".properties", ".env" }, ["Logs"] = new HashSet<string>(StringComparer.OrdinalIgnoreCase) { ".log", ".out", ".err", ".trace" }, ["TextFiles"] = new HashSet<string>(StringComparer.OrdinalIgnoreCase) { ".txt", ".md", ".rst", ".nfo", ".asc" }, ["WebFiles"] = new HashSet<string>(StringComparer.OrdinalIgnoreCase) { ".html", ".htm", ".xhtml", ".css", ".scss", ".less", ".js" }, ["MusicLyricsAndChords"] = new HashSet<string>(StringComparer.OrdinalIgnoreCase) { ".chordpro", ".cho", ".crd", ".ly", ".abc" }, ["CreativeWriting"] = new HashSet<string>(StringComparer.OrdinalIgnoreCase) { ".story", ".novel", ".poem", ".lyrics", ".txt", ".md" }, ["Recipes"] = new HashSet<string>(StringComparer.OrdinalIgnoreCase) { ".recipe", ".cook", ".txt", ".md" }, ["ResearchFiles"] = new HashSet<string>(StringComparer.OrdinalIgnoreCase) { ".bib", ".ris", ".enl", ".nbib", ".tex", ".pdf", ".csv" } }; } |