| | |
| | private const EXTENSION_MAP = [ |
| | - 'txt' => [self::CAT_TEXT, 'text/plain'], |
| | - 'url' => [self::CAT_TEXT, 'text/plain'], |
| | + // Web & Markup |
| | 'html' => [self::CAT_TEXT, 'text/html'], |
| | 'htm' => [self::CAT_TEXT, 'text/html'], |
| | + 'xhtml' => [self::CAT_TEXT, 'application/xhtml+xml'], |
| | 'css' => [self::CAT_TEXT, 'text/css'], |
| | + 'scss' => [self::CAT_TEXT, 'text/x-scss'], |
| | + 'less' => [self::CAT_TEXT, 'text/x-less'], |
| | 'js' => [self::CAT_TEXT, 'application/javascript'], |
| | + 'jsx' => [self::CAT_TEXT, 'text/javascript'], |
| | + 'ts' => [self::CAT_TEXT, 'text/x-typescript'], |
| | + 'tsx' => [self::CAT_TEXT, 'text/x-typescript'], |
| | + 'vue' => [self::CAT_TEXT, 'text/x-vue'], |
| | 'json' => [self::CAT_TEXT, 'application/json'], |
| | 'xml' => [self::CAT_TEXT, 'application/xml'], |
| | + 'md' => [self::CAT_TEXT, 'text/markdown'], |
| | + 'wasm' => [self::CAT_APP, 'application/wasm'], |
| | + |
| | + // Documents |
| | + 'txt' => [self::CAT_TEXT, 'text/plain'], |
| | 'pdf' => [self::CAT_TEXT, 'application/pdf'], |
| | + 'csv' => [self::CAT_TEXT, 'text/csv'], |
| | + 'tsv' => [self::CAT_TEXT, 'text/tab-separated-values'], |
| | + 'tex' => [self::CAT_TEXT, 'text/x-tex'], |
| | + 'rst' => [self::CAT_TEXT, 'text/x-rst'], |
| | + |
| | + // Archives |
| | 'zip' => [self::CAT_ARCHIVE, 'application/zip'], |
| | 'jar' => [self::CAT_ARCHIVE, 'application/java-archive'], |
| | 'war' => [self::CAT_ARCHIVE, 'application/java-archive'], |
| | 'ear' => [self::CAT_ARCHIVE, 'application/java-archive'], |
| | - 'class' => [self::CAT_APP, 'application/java-vm'], |
| | 'gz' => [self::CAT_ARCHIVE, 'application/gzip'], |
| | 'bz2' => [self::CAT_ARCHIVE, 'application/x-bzip2'], |
| | 'xz' => [self::CAT_ARCHIVE, 'application/x-xz'], |
| | 'tar' => [self::CAT_ARCHIVE, 'application/x-tar'], |
| | 'rar' => [self::CAT_ARCHIVE, 'application/vnd.rar'], |
| | '7z' => [self::CAT_ARCHIVE, 'application/x-7z-compressed'], |
| | + |
| | + // Images |
| | 'jpg' => [self::CAT_IMAGE, 'image/jpeg'], |
| | 'jpeg' => [self::CAT_IMAGE, 'image/jpeg'], |
 |
| | 'tif' => [self::CAT_IMAGE, 'image/tiff'], |
| | 'ico' => [self::CAT_IMAGE, 'image/x-icon'], |
| | + |
| | + // Video & Audio |
| | 'mp4' => [self::CAT_VIDEO, 'video/mp4'], |
| | 'avi' => [self::CAT_VIDEO, 'video/x-msvideo'], |
 |
| | 'flac' => [self::CAT_AUDIO, 'audio/flac'], |
| | 'aac' => [self::CAT_AUDIO, 'audio/aac'], |
| | + |
| | + // Programming Languages |
| | 'php' => [self::CAT_TEXT, 'application/x-php'], |
| | 'py' => [self::CAT_TEXT, 'text/x-python'], |
| | + 'rb' => [self::CAT_TEXT, 'text/x-ruby'], |
| | 'java' => [self::CAT_TEXT, 'text/x-java'], |
| | 'c' => [self::CAT_TEXT, 'text/x-c'], |
| | 'cpp' => [self::CAT_TEXT, 'text/x-c++'], |
| | 'h' => [self::CAT_TEXT, 'text/x-c'], |
| | 'hpp' => [self::CAT_TEXT, 'text/x-c++'], |
| | 'cs' => [self::CAT_TEXT, 'text/x-csharp'], |
| | 'go' => [self::CAT_TEXT, 'text/x-go'], |
| | 'rs' => [self::CAT_TEXT, 'text/x-rust'], |
| | - 'rb' => [self::CAT_TEXT, 'text/x-ruby'], |
| | 'pl' => [self::CAT_TEXT, 'text/x-perl'], |
| | - 'sh' => [self::CAT_APP, 'application/x-sh'], |
| | - 'bat' => [self::CAT_APP, 'application/x-bat'], |
| | + 'lua' => [self::CAT_TEXT, 'text/x-lua'], |
| | + 'swift' => [self::CAT_TEXT, 'text/x-swift'], |
| | + 'kt' => [self::CAT_TEXT, 'text/x-kotlin'], |
| | + 'kts' => [self::CAT_TEXT, 'text/x-kotlin'], |
| | + 'dart' => [self::CAT_TEXT, 'text/x-dart'], |
| | + 'r' => [self::CAT_TEXT, 'text/x-r'], |
| | + 'sql' => [self::CAT_TEXT, 'application/sql'], |
| | + 'sh' => [self::CAT_TEXT, 'application/x-sh'], |
| | + 'bat' => [self::CAT_TEXT, 'application/x-bat'], |
| | 'ps1' => [self::CAT_APP, 'application/x-powershell'], |
| | - 'md' => [self::CAT_TEXT, 'text/markdown'], |
| | + 'el' => [self::CAT_TEXT, 'text/x-script.elisp'], |
| | + 'clj' => [self::CAT_TEXT, 'text/x-clojure'], |
| | + 'ex' => [self::CAT_TEXT, 'text/x-elixir'], |
| | + 'hs' => [self::CAT_TEXT, 'text/x-haskell'], |
| | + 'erl' => [self::CAT_TEXT, 'text/x-erlang'], |
| | + 'm' => [self::CAT_TEXT, 'text/x-objectivec'], |
| | + 'class' => [self::CAT_APP, 'application/java-vm'], |
| | + 'groovy' => [self::CAT_TEXT, 'text/x-groovy'], |
| | + |
| | + // Config & System |
| | 'yaml' => [self::CAT_TEXT, 'text/yaml'], |
| | 'yml' => [self::CAT_TEXT, 'text/yaml'], |
| | 'toml' => [self::CAT_TEXT, 'application/toml'], |
| | 'ini' => [self::CAT_TEXT, 'text/plain'], |
| | 'cfg' => [self::CAT_TEXT, 'text/plain'], |
| | 'conf' => [self::CAT_TEXT, 'text/plain'], |
| | + 'env' => [self::CAT_TEXT, 'text/plain'], |
| | + 'gitignore' => [self::CAT_TEXT, 'text/plain'], |
| | + 'dockerfile' => [self::CAT_TEXT, 'text/plain'], |
| | + 'version' => [self::CAT_TEXT, 'text/plain'], |
| | + 'gradle' => [self::CAT_TEXT, 'text/plain'], |
| | + 'properties' => [self::CAT_TEXT, 'text/plain'], |
| | ]; |
| | |
 |
| | } |
| | ?> |
| | - |
| | |