#!/usr/bin/env sh
# File extension to category resolver.
# Generated by file-extension-list.
# See: https://github.com/dyne/file-extension-list

set -e

ext="$1"
if [ -z "$ext" ] 
then
	>&2 echo "Usage: $0 [FILE-EXT]"
		exit 1
	
fi

case "$ext" in
	3dm|3ds|3mf|f3d|gcode|obj|scad|smt|step|stl|stp)
		echo "3D"
		;;
	7z|a|aar|apk|ar|br|bz2|cab|cpio|deb|dmg|egg|gz|iso|jar|lha|lz|lz4|lzma|lzo|mar|pak|pea|rar|rpm|s7z|shar|tar|tbz2|tgz|tlz|txz|war|whl|xpi|xz|zip|zipx|zst)
		echo "archive"
		;;
	aac|aiff|ape|au|flac|gsm|it|m3u|m4a|mid|mod|mp3|mpa|ogg|opus|pls|ra|s3m|sid|wav|wma|xm)
		echo "audio"
		;;
	azw|azw1|azw3|azw4|azw6|cbr|cbz|epub|mobi)
		echo "book"
		;;
	1.ada|2.ada|ada|adb|ads|asm|asp|aspx|bas|c|c++|cbl|cc|class|clj|cob|cpp|cs|cxx|d|diff|dll|e|el|f|f77|f90|for|fth|ftn|go|groovy|h|hh|hpp|hs|htm|html|hxx|inc|java|js|json|jsp|jsx|kt|kts|lhs|lisp|lua|m|m4|nim|patch|php|php3|php4|php5|phtml|pl|po|pp|prql|ps1|ps1xml|psc1|psd1|psm1|psrc|pssc|py|r|rb|rs|s|scala|sql|swg|swift|ts|tsx|v|vb|vcxproj|wll|xcodeproj|xll|xml|zig)
		echo "code"
		;;
	bash|bat|bin|cmd|com|command|crx|csh|exe|fish|ksh|msi|sh|zsh)
		echo "exec"
		;;
	eot|otf|ttf|woff|woff2)
		echo "font"
		;;
	ai|avif|bmp|dds|dwg|dxf|eps|gif|gpx|heic|heif|jpeg|jpg|jxl|kml|kmz|max|png|ps|psd|svg|tga|thm|tif|tiff|webp|xcf)
		echo "image"
		;;
	csv|ics|ods|tsv|vcf|xls|xlsx)
		echo "sheet"
		;;
	odp|ppt|pptx)
		echo "slide"
		;;
	doc|docx|ebook|log|md|msg|odt|org|pages|pdf|rst|rtf|tex|txt|wpd|wps)
		echo "text"
		;;
	3g2|3gp|aaf|asf|avchd|avi|car|dav|drc|flv|m2ts|m2v|m4p|m4v|mkv|mng|mov|mp2|mp4|mpe|mpeg|mpg|mpv|mts|mxf|nsv|ogm|ogv|ogx|qt|rm|rmvb|roq|srt|svi|vob|webm|wmv|xba|yuv)
		echo "video"
		;;
	css|less|scss|wasm)
		echo "web"
		;;
	*)
		>&2 echo "Unknown file extension: $ext"
		exit 1
esac
