|
|
@@ -122,6 +122,7 @@ const EXTENSION_TYPES: Map<&'static str, FileType> = phf_map! {
|
|
|
"psd" => FileType::Image,
|
|
|
"pxm" => FileType::Image,
|
|
|
"raw" => FileType::Image,
|
|
|
+ "qoi" => FileType::Image,
|
|
|
"stl" => FileType::Image,
|
|
|
"svg" => FileType::Image,
|
|
|
"tif" => FileType::Image,
|
|
|
@@ -149,7 +150,7 @@ const EXTENSION_TYPES: Map<&'static str, FileType> = phf_map! {
|
|
|
"webm" => FileType::Video,
|
|
|
"wmv" => FileType::Video,
|
|
|
/* Music files */
|
|
|
- "aac" => FileType::Music,
|
|
|
+ "aac" => FileType::Music, // Advanced Audio Coding
|
|
|
"m4a" => FileType::Music,
|
|
|
"mka" => FileType::Music,
|
|
|
"mp2" => FileType::Music,
|
|
|
@@ -169,11 +170,14 @@ const EXTENSION_TYPES: Map<&'static str, FileType> = phf_map! {
|
|
|
"wv" => FileType::Lossless,
|
|
|
/* Cryptology files */
|
|
|
"asc" => FileType::Crypto, // GnuPG ASCII armored file
|
|
|
+ "cer" => FileType::Crypto,
|
|
|
+ "crt" => FileType::Crypto,
|
|
|
+ "csr" => FileType::Crypto, // PKCS#10 Certificate Signing Request
|
|
|
"gpg" => FileType::Crypto, // GnuPG encrypted file
|
|
|
"kbx" => FileType::Crypto, // GnuPG keybox
|
|
|
"md5" => FileType::Crypto, // MD5 checksum
|
|
|
"p12" => FileType::Crypto, // PKCS#12 certificate (Netscape)
|
|
|
- "pem" => FileType::Crypto, // Privacy enhanced mail certificate
|
|
|
+ "pem" => FileType::Crypto, // Privacy-Enhanced Mail certificate
|
|
|
"pfx" => FileType::Crypto, // PKCS#12 certificate (Microsoft)
|
|
|
"pgp" => FileType::Crypto, // PGP security key
|
|
|
"pub" => FileType::Crypto, // Public key
|
|
|
@@ -201,29 +205,29 @@ const EXTENSION_TYPES: Map<&'static str, FileType> = phf_map! {
|
|
|
"pdf" => FileType::Document,
|
|
|
"ppt" => FileType::Document,
|
|
|
"pptx" => FileType::Document,
|
|
|
- "rtf" => FileType::Document,
|
|
|
+ "rtf" => FileType::Document, // Rich Text Format
|
|
|
"xls" => FileType::Document,
|
|
|
"xlsm" => FileType::Document,
|
|
|
"xlsx" => FileType::Document,
|
|
|
/* Compressed/archive files */
|
|
|
- "7z" => FileType::Compressed,
|
|
|
+ "7z" => FileType::Compressed, // 7-Zip
|
|
|
"ar" => FileType::Compressed,
|
|
|
"arj" => FileType::Compressed,
|
|
|
- "br" => FileType::Compressed,
|
|
|
+ "br" => FileType::Compressed, // Brotli
|
|
|
"bz" => FileType::Compressed,
|
|
|
- "bz2" => FileType::Compressed,
|
|
|
+ "bz2" => FileType::Compressed, // bzip2
|
|
|
"bz3" => FileType::Compressed,
|
|
|
"cpio" => FileType::Compressed,
|
|
|
- "deb" => FileType::Compressed,
|
|
|
+ "deb" => FileType::Compressed, // Debian
|
|
|
"dmg" => FileType::Compressed,
|
|
|
- "gz" => FileType::Compressed,
|
|
|
+ "gz" => FileType::Compressed, // gzip
|
|
|
"iso" => FileType::Compressed,
|
|
|
"lz" => FileType::Compressed,
|
|
|
"lz4" => FileType::Compressed,
|
|
|
"lzh" => FileType::Compressed,
|
|
|
"lzma" => FileType::Compressed,
|
|
|
"lzo" => FileType::Compressed,
|
|
|
- "phar" => FileType::Compressed,
|
|
|
+ "phar" => FileType::Compressed, // PHP PHAR
|
|
|
"qcow" => FileType::Compressed,
|
|
|
"qcow2" => FileType::Compressed,
|
|
|
"rar" => FileType::Compressed,
|
|
|
@@ -240,10 +244,11 @@ const EXTENSION_TYPES: Map<&'static str, FileType> = phf_map! {
|
|
|
"xz" => FileType::Compressed,
|
|
|
"vdi" => FileType::Compressed,
|
|
|
"vhd" => FileType::Compressed,
|
|
|
+ "vhdx" => FileType::Compressed,
|
|
|
"vmdk" => FileType::Compressed,
|
|
|
"z" => FileType::Compressed,
|
|
|
"zip" => FileType::Compressed,
|
|
|
- "zst" => FileType::Compressed,
|
|
|
+ "zst" => FileType::Compressed, // Zstandard
|
|
|
/* Temporary files */
|
|
|
"bak" => FileType::Temp,
|
|
|
"bk" => FileType::Temp,
|
|
|
@@ -258,7 +263,7 @@ const EXTENSION_TYPES: Map<&'static str, FileType> = phf_map! {
|
|
|
"tmp" => FileType::Temp,
|
|
|
/* Compiler output files */
|
|
|
"a" => FileType::Compiled, // Unix static library
|
|
|
- "bundle" => FileType::Compiled, // Mac OS X application bundle
|
|
|
+ "bundle" => FileType::Compiled, // macOS application bundle
|
|
|
"class" => FileType::Compiled, // Java class file
|
|
|
"cma" => FileType::Compiled, // OCaml bytecode library
|
|
|
"cmi" => FileType::Compiled, // OCaml interface
|
|
|
@@ -294,6 +299,7 @@ const EXTENSION_TYPES: Map<&'static str, FileType> = phf_map! {
|
|
|
"csx" => FileType::Source, // C#
|
|
|
"cu" => FileType::Source, // CUDA
|
|
|
"cxx" => FileType::Source, // C/C++
|
|
|
+ "cypher" => FileType::Source, // Cypher (query language)
|
|
|
"d" => FileType::Source, // D
|
|
|
"dart" => FileType::Source, // Dart
|
|
|
"di" => FileType::Source, // D
|
|
|
@@ -311,27 +317,29 @@ const EXTENSION_TYPES: Map<&'static str, FileType> = phf_map! {
|
|
|
"gradle" => FileType::Source, // Gradle
|
|
|
"groovy" => FileType::Source, // Groovy
|
|
|
"gvy" => FileType::Source, // Groovy
|
|
|
- "h" => FileType::Source, // C/C++
|
|
|
- "h++" => FileType::Source, // C/C++
|
|
|
- "hpp" => FileType::Source, // C/C++
|
|
|
+ "h" => FileType::Source, // C/C++ header
|
|
|
+ "h++" => FileType::Source, // C/C++ header
|
|
|
+ "hpp" => FileType::Source, // C/C++ header
|
|
|
"hs" => FileType::Source, // Haskell
|
|
|
- "htc" => FileType::Source, // Javascript
|
|
|
- "hxx" => FileType::Source, // C/C++
|
|
|
+ "htc" => FileType::Source, // JavaScript
|
|
|
+ "hxx" => FileType::Source, // C/C++ header
|
|
|
"inc" => FileType::Source,
|
|
|
"inl" => FileType::Source, // C/C++ Microsoft
|
|
|
"ipynb" => FileType::Source, // Jupyter Notebook
|
|
|
"java" => FileType::Source, // Java
|
|
|
"jl" => FileType::Source, // Julia
|
|
|
- "js" => FileType::Source, // Javascript
|
|
|
+ "js" => FileType::Source, // JavaScript
|
|
|
"jsx" => FileType::Source, // React
|
|
|
"kt" => FileType::Source, // Kotlin
|
|
|
"kts" => FileType::Source, // Kotlin
|
|
|
+ "kusto" => FileType::Source, // Kusto (query language)
|
|
|
"less" => FileType::Source, // less
|
|
|
"lhs" => FileType::Source, // Haskell
|
|
|
"lisp" => FileType::Source, // Lisp
|
|
|
"ltx" => FileType::Source, // LaTeX
|
|
|
"lua" => FileType::Source, // Lua
|
|
|
"m" => FileType::Source, // Matlab
|
|
|
+ "malloy" => FileType::Source, // Malloy (query language)
|
|
|
"matlab" => FileType::Source, // Matlab
|
|
|
"ml" => FileType::Source, // OCaml
|
|
|
"mli" => FileType::Source, // OCaml
|
|
|
@@ -353,6 +361,7 @@ const EXTENSION_TYPES: Map<&'static str, FileType> = phf_map! {
|
|
|
"r" => FileType::Source, // R
|
|
|
"rb" => FileType::Source, // Ruby
|
|
|
"rs" => FileType::Source, // Rust
|
|
|
+ "rq" => FileType::Source, // SPARQL (query language)
|
|
|
"sass" => FileType::Source, // Sass
|
|
|
"scala" => FileType::Source, // Scala
|
|
|
"scss" => FileType::Source, // Sass
|
|
|
@@ -364,6 +373,7 @@ const EXTENSION_TYPES: Map<&'static str, FileType> = phf_map! {
|
|
|
"v" => FileType::Source, // V
|
|
|
"vb" => FileType::Source, // Visual Basic
|
|
|
"vsh" => FileType::Source, // Vertex shader
|
|
|
+ "zig" => FileType::Source, // Zig
|
|
|
};
|
|
|
|
|
|
impl FileType {
|