1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 11:38:11 +00:00

file: Clean up mime type enumeration macro

- Improve naming
- Order alphabetically
- Remove duplicates
This commit is contained in:
Linus Groh 2021-05-07 14:47:21 +01:00
parent 2ddd2d0866
commit e37d9eabb1

View file

@ -34,29 +34,26 @@ static Optional<String> image_details(const String& description, const String& p
return String::formatted("{}, {} x {}", description, image_decoder->width(), image_decoder->height()); return String::formatted("{}, {} x {}", description, image_decoder->width(), image_decoder->height());
} }
#define ENUMERATE_DESCRIPTION_CONTENTS(V) \ #define ENUMERATE_MIME_TYPE_DESCRIPTIONS \
V("image/x-portable-bitmap", "PBM image data", image_details) \ __ENUMERATE_MIME_TYPE_DESCRIPTION("application/javascript", "JavaScript source", description_only) \
V("image/x-portable-graymap", "PGM image data", image_details) \ __ENUMERATE_MIME_TYPE_DESCRIPTION("application/json", "JSON data", description_only) \
V("image/png", "PNG image data", image_details) \ __ENUMERATE_MIME_TYPE_DESCRIPTION("image/bmp", "BMP image data", image_details) \
V("image/x-portable-pixmap", "PPM image data", image_details) \ __ENUMERATE_MIME_TYPE_DESCRIPTION("image/gif", "GIF image data", image_details) \
V("image/gif", "GIF image data", image_details) \ __ENUMERATE_MIME_TYPE_DESCRIPTION("image/jpeg", "JPEG image data", image_details) \
V("image/gif", "GIF image data", image_details) \ __ENUMERATE_MIME_TYPE_DESCRIPTION("image/png", "PNG image data", image_details) \
V("image/bmp", "BMP image data", image_details) \ __ENUMERATE_MIME_TYPE_DESCRIPTION("image/x-portable-bitmap", "PBM image data", image_details) \
V("image/jpeg", "JPEG image data", image_details) \ __ENUMERATE_MIME_TYPE_DESCRIPTION("image/x-portable-graymap", "PGM image data", image_details) \
V("image/jpeg", "JFIF image data", image_details) \ __ENUMERATE_MIME_TYPE_DESCRIPTION("image/x-portable-pixmap", "PPM image data", image_details) \
V("image/jpeg", "JPEG image data", image_details) \ __ENUMERATE_MIME_TYPE_DESCRIPTION("text/markdown", "Markdown document", description_only) \
V("text/x-shellscript", "POSIX shell script text executable", description_only) \ __ENUMERATE_MIME_TYPE_DESCRIPTION("text/x-shellscript", "POSIX shell script text executable", description_only)
V("application/json", "JSON data", description_only) \
V("application/javascript", "JavaScript source", description_only) \
V("text/markdown", "Markdown document", description_only)
static Optional<String> get_description_from_mime_type(const String& mime, const String& path) static Optional<String> get_description_from_mime_type(const String& mime, const String& path)
{ {
#define V(mime_type, description, details) \ #define __ENUMERATE_MIME_TYPE_DESCRIPTION(mime_type, description, details) \
if (String(mime_type) == mime) \ if (String(mime_type) == mime) \
return details(String(description), path); return details(String(description), path);
ENUMERATE_DESCRIPTION_CONTENTS(V); ENUMERATE_MIME_TYPE_DESCRIPTIONS;
#undef V #undef __ENUMERATE_MIME_TYPE_DESCRIPTION
return {}; return {};
} }