use phf::{phf_map, Map};
use crate::{detect, FileType, FileTypeResolver};
pub(crate) static FILE_EXTENSION: Map<&'static str, FileTypeResolver> = phf_map! {
"ebnf" => FileTypeResolver::Static(FileType::Ebnf),
"ejs" => FileTypeResolver::Static(FileType::EJavaScript),
"hexdump" => FileTypeResolver::Static(FileType::HexDump),
"llvm" => FileTypeResolver::Static(FileType::Llvm),
"m2" => FileTypeResolver::Static(FileType::Modula2),
"mi" => FileTypeResolver::Static(FileType::Modula2),
"rpmnew" => FileTypeResolver::Dynamic(detect::bak),
"rush" => FileTypeResolver::Static(FileType::Rush),
"ursa" => FileTypeResolver::Static(FileType::Ursa),
"verilog" => FileTypeResolver::Static(FileType::Verilog),
"vh" => FileTypeResolver::Static(FileType::Verilog),
"vlg" => FileTypeResolver::Static(FileType::Verilog),
"zir" => FileTypeResolver::Static(FileType::Zir),
"8th" => FileTypeResolver::Static(FileType::Eighth),
"a65" => FileTypeResolver::Static(FileType::A65),
"aap" => FileTypeResolver::Static(FileType::Aap),
"abap" => FileTypeResolver::Static(FileType::Abap),
"abc" => FileTypeResolver::Static(FileType::Abc),
"abl" => FileTypeResolver::Static(FileType::Abel),
"abnf" => FileTypeResolver::Static(FileType::Abnf),
"wrm" => FileTypeResolver::Static(FileType::Acedb),
"ads" => FileTypeResolver::Static(FileType::Ada),
"ada" => FileTypeResolver::Static(FileType::Ada),
"gpr" => FileTypeResolver::Static(FileType::Ada),
"adb" => FileTypeResolver::Static(FileType::Ada),
"tdf" => FileTypeResolver::Static(FileType::Ahdl),
"aidl" => FileTypeResolver::Static(FileType::Aidl),
"aml" => FileTypeResolver::Static(FileType::Aml),
"run" => FileTypeResolver::Static(FileType::Ampl),
"g4" => FileTypeResolver::Static(FileType::Antlr4),
"applescript" => FileTypeResolver::Static(FileType::AppleScript),
"scpt" => FileTypeResolver::Static(FileType::AppleScript),
"ino" => FileTypeResolver::Static(FileType::Arduino),
"pde" => FileTypeResolver::Static(FileType::Arduino),
"art" => FileTypeResolver::Static(FileType::Art),
"asciidoc" => FileTypeResolver::Static(FileType::AsciiDoc),
"adoc" => FileTypeResolver::Static(FileType::AsciiDoc),
"asn1" => FileTypeResolver::Static(FileType::Asn),
"asn" => FileTypeResolver::Static(FileType::Asn),
"astro" => FileTypeResolver::Static(FileType::Astro),
"asy" => FileTypeResolver::Static(FileType::Asy),
"atl" => FileTypeResolver::Static(FileType::Atlas),
"as" => FileTypeResolver::Static(FileType::Atlas),
"zed" => FileTypeResolver::Static(FileType::Authzed),
"ahk" => FileTypeResolver::Static(FileType::AutoHotKey),
"au3" => FileTypeResolver::Static(FileType::AutoIt),
"ave" => FileTypeResolver::Static(FileType::Ave),
"gawk" => FileTypeResolver::Static(FileType::Awk),
"awk" => FileTypeResolver::Static(FileType::Awk),
"ref" => FileTypeResolver::Static(FileType::B),
"imp" => FileTypeResolver::Static(FileType::B),
"mch" => FileTypeResolver::Static(FileType::B),
"bass" => FileTypeResolver::Static(FileType::Bass),
"bc" => FileTypeResolver::Static(FileType::Bc),
"bdf" => FileTypeResolver::Static(FileType::Bdf),
"beancount" => FileTypeResolver::Static(FileType::BeanCount),
"bib" => FileTypeResolver::Static(FileType::Bib),
"bicep" => FileTypeResolver::Static(FileType::Bicep),
"bicepparam" => FileTypeResolver::Static(FileType::BicepParams),
"zone" => FileTypeResolver::Static(FileType::Bindzone),
"bb" => FileTypeResolver::Static(FileType::Bitbake),
"bbappend" => FileTypeResolver::Static(FileType::Bitbake),
"bbclass" => FileTypeResolver::Static(FileType::Bitbake),
"bl" => FileTypeResolver::Static(FileType::Blank),
"blp" => FileTypeResolver::Static(FileType::Blueprint),
"bp" => FileTypeResolver::Static(FileType::Bp),
"bt" => FileTypeResolver::Static(FileType::Bpftrace),
"bs" => FileTypeResolver::Static(FileType::Brighterscript),
"brs" => FileTypeResolver::Static(FileType::Brightscript),
"bsd" => FileTypeResolver::Static(FileType::Bsdl),
"bsdl" => FileTypeResolver::Static(FileType::Bsdl),
"bst" => FileTypeResolver::Static(FileType::Bst),
"bzl" => FileTypeResolver::Static(FileType::Bzl),
"bxl" => FileTypeResolver::Static(FileType::Bzl),
"bazel" => FileTypeResolver::Static(FileType::Bzl),
"BUILD" => FileTypeResolver::Static(FileType::Bzl),
"mdh" => FileTypeResolver::Static(FileType::C),
"epro" => FileTypeResolver::Static(FileType::C),
"qc" => FileTypeResolver::Static(FileType::C),
"c3" => FileTypeResolver::Static(FileType::C3),
"c3i" => FileTypeResolver::Static(FileType::C3),
"c3t" => FileTypeResolver::Static(FileType::C3),
"cabal" => FileTypeResolver::Static(FileType::Cabal),
"cairo" => FileTypeResolver::Static(FileType::Cairo),
"cj" => FileTypeResolver::Static(FileType::Cangjie),
"capnp" => FileTypeResolver::Static(FileType::Capnp),
"cdc" => FileTypeResolver::Static(FileType::Cdc),
"cdl" => FileTypeResolver::Static(FileType::Cdl),
"toc" => FileTypeResolver::Static(FileType::Cdrtoc),
"cedar" => FileTypeResolver::Static(FileType::Cedar),
"cfc" => FileTypeResolver::Static(FileType::Cf),
"cfm" => FileTypeResolver::Static(FileType::Cf),
"cfi" => FileTypeResolver::Static(FileType::Cf),
"hgrc" => FileTypeResolver::Static(FileType::Cfg),
"chf" => FileTypeResolver::Static(FileType::Ch),
"chai" => FileTypeResolver::Static(FileType::ChaiScript),
"chs" => FileTypeResolver::Static(FileType::Chaskell),
"chatito" => FileTypeResolver::Static(FileType::Chatito),
"chopro" => FileTypeResolver::Static(FileType::Chordpro),
"crd" => FileTypeResolver::Static(FileType::Chordpro),
"crdpro" => FileTypeResolver::Static(FileType::Chordpro),
"cho" => FileTypeResolver::Static(FileType::Chordpro),
"chordpro" => FileTypeResolver::Static(FileType::Chordpro),
"ck" => FileTypeResolver::Static(FileType::Chuck),
"cl" => FileTypeResolver::Static(FileType::Lisp),
"eni" => FileTypeResolver::Static(FileType::Cl),
"icl" => FileTypeResolver::Static(FileType::Clean),
"cljx" => FileTypeResolver::Static(FileType::Clojure),
"clj" => FileTypeResolver::Static(FileType::Clojure),
"cljc" => FileTypeResolver::Static(FileType::Clojure),
"cljs" => FileTypeResolver::Static(FileType::Clojure),
"cook" => FileTypeResolver::Static(FileType::Cook),
"cmake" => FileTypeResolver::Static(FileType::CMake),
"cmod" => FileTypeResolver::Static(FileType::CMod),
"cob" => FileTypeResolver::Static(FileType::Cobol),
"cbl" => FileTypeResolver::Static(FileType::Cobol),
"atg" => FileTypeResolver::Static(FileType::Coco),
"recipe" => FileTypeResolver::Static(FileType::ConaryRecipe),
"ctags" => FileTypeResolver::Static(FileType::Conf),
"nmconnection" => FileTypeResolver::Static(FileType::ConfIni),
"mklx" => FileTypeResolver::Static(FileType::Context),
"mkiv" => FileTypeResolver::Static(FileType::Context),
"mkii" => FileTypeResolver::Static(FileType::Context),
"mkxl" => FileTypeResolver::Static(FileType::Context),
"mkvi" => FileTypeResolver::Static(FileType::Context),
"corn" => FileTypeResolver::Static(FileType::Corn),
"cpon" => FileTypeResolver::Static(FileType::Cpon),
"moc" => FileTypeResolver::Static(FileType::Cpp),
"hh" => FileTypeResolver::Static(FileType::Cpp),
"tlh" => FileTypeResolver::Static(FileType::Cpp),
"inl" => FileTypeResolver::Static(FileType::Cpp),
"ipp" => FileTypeResolver::Static(FileType::Cpp),
"c++" => FileTypeResolver::Static(FileType::Cpp),
"C" => FileTypeResolver::Static(FileType::Cpp),
"cxx" => FileTypeResolver::Static(FileType::Cpp),
"H" => FileTypeResolver::Static(FileType::Cpp),
"tcc" => FileTypeResolver::Static(FileType::Cpp),
"hxx" => FileTypeResolver::Static(FileType::Cpp),
"hpp" => FileTypeResolver::Static(FileType::Cpp),
"ixx" => FileTypeResolver::Static(FileType::Cpp),
"mpp" => FileTypeResolver::Static(FileType::Cpp),
"ccm" => FileTypeResolver::Static(FileType::Cpp),
"cppm" => FileTypeResolver::Static(FileType::Cpp),
"cxxm" => FileTypeResolver::Static(FileType::Cpp),
"c++m" => FileTypeResolver::Static(FileType::Cpp),
"cql" => FileTypeResolver::Static(FileType::Cqlang),
"crm" => FileTypeResolver::Static(FileType::Crm),
"cr" => FileTypeResolver::Static(FileType::Crystal),
"cake" => FileTypeResolver::Static(FileType::CSharp),
"csx" => FileTypeResolver::Static(FileType::CSharp),
"cs" => FileTypeResolver::Static(FileType::CSharp),
"csc" => FileTypeResolver::Static(FileType::Csc),
"csdl" => FileTypeResolver::Static(FileType::Csdl),
"cshtml" => FileTypeResolver::Static(FileType::Html),
"fdr" => FileTypeResolver::Static(FileType::Csp),
"csp" => FileTypeResolver::Static(FileType::Csp),
"css" => FileTypeResolver::Static(FileType::Css),
"csv" => FileTypeResolver::Static(FileType::Csv),
"con" => FileTypeResolver::Static(FileType::CTerm),
"feature" => FileTypeResolver::Static(FileType::Cucumber),
"cuh" => FileTypeResolver::Static(FileType::Cuda),
"cu" => FileTypeResolver::Static(FileType::Cuda),
"cue" => FileTypeResolver::Static(FileType::Cue),
"pld" => FileTypeResolver::Static(FileType::Cupl),
"si" => FileTypeResolver::Static(FileType::Cuplsim),
"cyn" => FileTypeResolver::Static(FileType::Cynpp),
"cypher" => FileTypeResolver::Static(FileType::Cypher),
"dfy" => FileTypeResolver::Static(FileType::Dafny),
"dart" => FileTypeResolver::Static(FileType::Dart),
"drt" => FileTypeResolver::Static(FileType::Dart),
"ds" => FileTypeResolver::Static(FileType::DataScript),
"dax" => FileTypeResolver::Static(FileType::Dax),
"dcd" => FileTypeResolver::Static(FileType::Dcd),
"def" => FileTypeResolver::Static(FileType::Def),
"desc" => FileTypeResolver::Static(FileType::Desc),
"directory" => FileTypeResolver::Static(FileType::Desktop),
"desktop" => FileTypeResolver::Static(FileType::Desktop),
"dhall" => FileTypeResolver::Static(FileType::Dhall),
"diff" => FileTypeResolver::Static(FileType::Diff),
"rej" => FileTypeResolver::Static(FileType::Diff),
"dj" => FileTypeResolver::Static(FileType::Djot),
"djot" => FileTypeResolver::Static(FileType::Djot),
"Dockerfile" => FileTypeResolver::Static(FileType::Dockerfile),
"dockerfile" => FileTypeResolver::Static(FileType::Dockerfile),
"bat" => FileTypeResolver::Static(FileType::DosBatch),
"wrap" => FileTypeResolver::Static(FileType::DosIni),
"ini" => FileTypeResolver::Static(FileType::DosIni),
"INI" => FileTypeResolver::Static(FileType::DosIni),
"vbp" => FileTypeResolver::Static(FileType::DosIni),
"dot" => FileTypeResolver::Static(FileType::Dot),
"gv" => FileTypeResolver::Static(FileType::Dot),
"drac" => FileTypeResolver::Static(FileType::Dracula),
"drc" => FileTypeResolver::Static(FileType::Dracula),
"lvs" => FileTypeResolver::Static(FileType::Dracula),
"lpe" => FileTypeResolver::Static(FileType::Dracula),
"dsp" => FileTypeResolver::Static(FileType::Make),
"dtd" => FileTypeResolver::Static(FileType::Dtd),
"dts" => FileTypeResolver::Static(FileType::Dts),
"dtsi" => FileTypeResolver::Static(FileType::Dts),
"dtso" => FileTypeResolver::Static(FileType::Dts),
"its" => FileTypeResolver::Static(FileType::Dts),
"keymap" => FileTypeResolver::Static(FileType::Dts),
"overlay" => FileTypeResolver::Static(FileType::Dts),
"dylan" => FileTypeResolver::Static(FileType::Dylan),
"intr" => FileTypeResolver::Static(FileType::DylanIntr),
"lid" => FileTypeResolver::Static(FileType::DylanLid),
"ecd" => FileTypeResolver::Static(FileType::Ecd),
"edf" => FileTypeResolver::Static(FileType::Edif),
"edif" => FileTypeResolver::Static(FileType::Edif),
"edo" => FileTypeResolver::Static(FileType::Edif),
"eex" => FileTypeResolver::Static(FileType::EElixir),
"leex" => FileTypeResolver::Static(FileType::EElixir),
"am" => FileTypeResolver::Static(FileType::Elf),
"exs" => FileTypeResolver::Static(FileType::Elixir),
"elm" => FileTypeResolver::Static(FileType::Elm),
"lc" => FileTypeResolver::Static(FileType::Elsa),
"elv" => FileTypeResolver::Static(FileType::Elvish),
"epp" => FileTypeResolver::Static(FileType::EPuppet),
"erl" => FileTypeResolver::Static(FileType::Erlang),
"hrl" => FileTypeResolver::Static(FileType::Erlang),
"yaws" => FileTypeResolver::Static(FileType::Erlang),
"erb" => FileTypeResolver::Static(FileType::ERuby),
"rhtml" => FileTypeResolver::Static(FileType::ERuby),
"esdl" => FileTypeResolver::Static(FileType::Esdl),
"ec" => FileTypeResolver::Static(FileType::Esqlc),
"EC" => FileTypeResolver::Static(FileType::Esqlc),
"strl" => FileTypeResolver::Static(FileType::Esterel),
"exp" => FileTypeResolver::Static(FileType::Expect),
"f" => FileTypeResolver::Static(FileType::Fortran),
"factor" => FileTypeResolver::Static(FileType::Factor),
"fal" => FileTypeResolver::Static(FileType::Falcon),
"fan" => FileTypeResolver::Static(FileType::Fan),
"fwt" => FileTypeResolver::Static(FileType::Fan),
"fnl" => FileTypeResolver::Static(FileType::Fennel),
"fnlm" => FileTypeResolver::Static(FileType::Fennel),
"fga" => FileTypeResolver::Static(FileType::Fga),
"m4gl" => FileTypeResolver::Static(FileType::Fgl),
"4gl" => FileTypeResolver::Static(FileType::Fgl),
"4gh" => FileTypeResolver::Static(FileType::Fgl),
"fir" => FileTypeResolver::Static(FileType::Firrtl),
"fish" => FileTypeResolver::Static(FileType::Fish),
"flix" => FileTypeResolver::Static(FileType::Flix),
"ftl" => FileTypeResolver::Static(FileType::Fluent),
"focexec" => FileTypeResolver::Static(FileType::FocExec),
"fex" => FileTypeResolver::Static(FileType::FocExec),
"ft" => FileTypeResolver::Static(FileType::Forth),
"fth" => FileTypeResolver::Static(FileType::Forth),
"4th" => FileTypeResolver::Static(FileType::Forth),
"FOR" => FileTypeResolver::Static(FileType::Fortran),
"f77" => FileTypeResolver::Static(FileType::Fortran),
"f03" => FileTypeResolver::Static(FileType::Fortran),
"fortran" => FileTypeResolver::Static(FileType::Fortran),
"F95" => FileTypeResolver::Static(FileType::Fortran),
"f90" => FileTypeResolver::Static(FileType::Fortran),
"F03" => FileTypeResolver::Static(FileType::Fortran),
"fpp" => FileTypeResolver::Static(FileType::Fortran),
"FTN" => FileTypeResolver::Static(FileType::Fortran),
"ftn" => FileTypeResolver::Static(FileType::Fortran),
"for" => FileTypeResolver::Static(FileType::Fortran),
"F90" => FileTypeResolver::Static(FileType::Fortran),
"F77" => FileTypeResolver::Static(FileType::Fortran),
"f95" => FileTypeResolver::Static(FileType::Fortran),
"FPP" => FileTypeResolver::Static(FileType::Fortran),
"F" => FileTypeResolver::Static(FileType::Fortran),
"F08" => FileTypeResolver::Static(FileType::Fortran),
"f08" => FileTypeResolver::Static(FileType::Fortran),
"fpc" => FileTypeResolver::Static(FileType::FpcMake),
"fsl" => FileTypeResolver::Static(FileType::FrameScript),
"fb" => FileTypeResolver::Static(FileType::FreeBasic),
"fsh" => FileTypeResolver::Static(FileType::Fsh),
"fsi" => FileTypeResolver::Static(FileType::FSharp),
"fsx" => FileTypeResolver::Static(FileType::FSharp),
"fc" => FileTypeResolver::Static(FileType::Func),
"fusion" => FileTypeResolver::Static(FileType::Fusion),
"gdb" => FileTypeResolver::Static(FileType::Gdb),
"gdmo" => FileTypeResolver::Static(FileType::Gdmo),
"mo" => FileTypeResolver::Static(FileType::Gdmo),
"tscn" => FileTypeResolver::Static(FileType::GdResource),
"tres" => FileTypeResolver::Static(FileType::GdResource),
"gd" => FileTypeResolver::Static(FileType::GdScript),
"gdshader" => FileTypeResolver::Static(FileType::GdShader),
"shader" => FileTypeResolver::Static(FileType::GdShader),
"ged" => FileTypeResolver::Static(FileType::Gedcom),
"gel" => FileTypeResolver::Static(FileType::Gel),
"gmi" => FileTypeResolver::Static(FileType::GemText),
"gemini" => FileTypeResolver::Static(FileType::GemText),
"gift" => FileTypeResolver::Static(FileType::Gift),
"prettierignore" => FileTypeResolver::Static(FileType::GitIgnore),
"gleam" => FileTypeResolver::Static(FileType::Gleam),
"vert" => FileTypeResolver::Static(FileType::Glsl),
"tesc" => FileTypeResolver::Static(FileType::Glsl),
"tese" => FileTypeResolver::Static(FileType::Glsl),
"glsl" => FileTypeResolver::Static(FileType::Glsl),
"geom" => FileTypeResolver::Static(FileType::Glsl),
"frag" => FileTypeResolver::Static(FileType::Glsl),
"rgen" => FileTypeResolver::Static(FileType::Glsl),
"rmiss" => FileTypeResolver::Static(FileType::Glsl),
"rchit" => FileTypeResolver::Static(FileType::Glsl),
"rahit" => FileTypeResolver::Static(FileType::Glsl),
"rint" => FileTypeResolver::Static(FileType::Glsl),
"rcall" => FileTypeResolver::Static(FileType::Glsl),
"gn" => FileTypeResolver::Static(FileType::Gn),
"gni" => FileTypeResolver::Static(FileType::Gn),
"gnuplot" => FileTypeResolver::Static(FileType::GnuPlot),
"gpi" => FileTypeResolver::Static(FileType::GnuPlot),
"go" => FileTypeResolver::Static(FileType::Go),
"gp" => FileTypeResolver::Static(FileType::Gp),
"gs" => FileTypeResolver::Static(FileType::Grads),
"gql" => FileTypeResolver::Static(FileType::GraphQl),
"graphql" => FileTypeResolver::Static(FileType::GraphQl),
"graphqls" => FileTypeResolver::Static(FileType::GraphQl),
"gretl" => FileTypeResolver::Static(FileType::Gretl),
"groff" => FileTypeResolver::Static(FileType::Groff),
"mom" => FileTypeResolver::Static(FileType::Nroff),
"gradle" => FileTypeResolver::Static(FileType::Groovy),
"groovy" => FileTypeResolver::Static(FileType::Groovy),
"gsp" => FileTypeResolver::Static(FileType::Gsp),
"gjs" => FileTypeResolver::Static(FileType::JavaScriptGlimmer),
"gts" => FileTypeResolver::Static(FileType::TypeScriptGlimmer),
"gyp" => FileTypeResolver::Static(FileType::Gyp),
"gypi" => FileTypeResolver::Static(FileType::Gyp),
"hack" => FileTypeResolver::Static(FileType::Hack),
"hackpartial" => FileTypeResolver::Static(FileType::Hack),
"haml" => FileTypeResolver::Static(FileType::Haml),
"hsm" => FileTypeResolver::Static(FileType::Hamster),
"hbs" => FileTypeResolver::Static(FileType::Handlebars),
"ha" => FileTypeResolver::Static(FileType::Hare),
"hs-boot" => FileTypeResolver::Static(FileType::Haskell),
"hsig" => FileTypeResolver::Static(FileType::Haskell),
"hsc" => FileTypeResolver::Static(FileType::Haskell),
"hs" => FileTypeResolver::Static(FileType::Haskell),
"persistentmodels" => FileTypeResolver::Static(FileType::HaskellPersistent),
"ht" => FileTypeResolver::Static(FileType::Haste),
"htpp" => FileTypeResolver::Static(FileType::HastePreProc),
"hx" => FileTypeResolver::Static(FileType::Haxe),
"hcl" => FileTypeResolver::Static(FileType::Hcl),
"hb" => FileTypeResolver::Static(FileType::Hb),
"sum" => FileTypeResolver::Static(FileType::Hercules),
"errsum" => FileTypeResolver::Static(FileType::Hercules),
"ev" => FileTypeResolver::Static(FileType::Hercules),
"vc" => FileTypeResolver::Static(FileType::Hercules),
"heex" => FileTypeResolver::Static(FileType::Heex),
"hex" => FileTypeResolver::Static(FileType::Hex),
"a43" => FileTypeResolver::Static(FileType::Hex),
"a90" => FileTypeResolver::Static(FileType::Hex),
"h32" => FileTypeResolver::Static(FileType::Hex),
"h80" => FileTypeResolver::Static(FileType::Hex),
"h86" => FileTypeResolver::Static(FileType::Hex),
"ihex" => FileTypeResolver::Static(FileType::Hex),
"ihe" => FileTypeResolver::Static(FileType::Hex),
"ihx" => FileTypeResolver::Static(FileType::Hex),
"int" => FileTypeResolver::Static(FileType::Hex),
"mcs" => FileTypeResolver::Static(FileType::Hex),
"hjson" => FileTypeResolver::Static(FileType::HJson),
"m3u" => FileTypeResolver::Static(FileType::HlsPlaylist),
"m3u8" => FileTypeResolver::Static(FileType::HlsPlaylist),
"hog" => FileTypeResolver::Static(FileType::Hog),
"hws" => FileTypeResolver::Static(FileType::Hollywood),
"hoon" => FileTypeResolver::Static(FileType::Hoon),
"htt" => FileTypeResolver::Static(FileType::HtTest),
"htb" => FileTypeResolver::Static(FileType::HtTest),
"http" => FileTypeResolver::Static(FileType::Http),
"hurl" => FileTypeResolver::Static(FileType::Hurl),
"hy" => FileTypeResolver::Static(FileType::Hy),
"hylo" => FileTypeResolver::Static(FileType::Hylo),
"iba" => FileTypeResolver::Static(FileType::IBasic),
"ibi" => FileTypeResolver::Static(FileType::IBasic),
"icn" => FileTypeResolver::Static(FileType::Icon),
"idr" => FileTypeResolver::Static(FileType::Idris),
"inf" => FileTypeResolver::Static(FileType::Inform),
"INF" => FileTypeResolver::Static(FileType::Inform),
"ii" => FileTypeResolver::Static(FileType::Initng),
"inko" => FileTypeResolver::Static(FileType::Inko),
"ipkg" => FileTypeResolver::Static(FileType::Ipkg),
"iss" => FileTypeResolver::Static(FileType::Iss),
"mst" => FileTypeResolver::Static(FileType::Ist),
"ist" => FileTypeResolver::Static(FileType::Ist),
"ijs" => FileTypeResolver::Static(FileType::J),
"JAL" => FileTypeResolver::Static(FileType::Jal),
"jal" => FileTypeResolver::Static(FileType::Jal),
"jpr" => FileTypeResolver::Static(FileType::Jam),
"jpl" => FileTypeResolver::Static(FileType::Jam),
"janet" => FileTypeResolver::Static(FileType::JanetSimple),
"jav" => FileTypeResolver::Static(FileType::Java),
"java" => FileTypeResolver::Static(FileType::Java),
"jsh" => FileTypeResolver::Static(FileType::Java),
"jj" => FileTypeResolver::Static(FileType::JavaCc),
"jjt" => FileTypeResolver::Static(FileType::JavaCc),
"es" => FileTypeResolver::Static(FileType::JavaScript),
"mjs" => FileTypeResolver::Static(FileType::JavaScript),
"javascript" => FileTypeResolver::Static(FileType::JavaScript),
"js" => FileTypeResolver::Static(FileType::JavaScript),
"jsm" => FileTypeResolver::Static(FileType::JavaScript),
"cjs" => FileTypeResolver::Static(FileType::JavaScript),
"jsx" => FileTypeResolver::Static(FileType::Jsx),
"clp" => FileTypeResolver::Static(FileType::Jess),
"jgr" => FileTypeResolver::Static(FileType::JGraph),
"jinja" => FileTypeResolver::Static(FileType::Jinja),
"jjdescription" => FileTypeResolver::Static(FileType::Jjdescription),
"j73" => FileTypeResolver::Static(FileType::Jovial),
"jov" => FileTypeResolver::Static(FileType::Jovial),
"jovial" => FileTypeResolver::Static(FileType::Jovial),
"properties" => FileTypeResolver::Static(FileType::JProperties),
"jq" => FileTypeResolver::Static(FileType::Jq),
"slnf" => FileTypeResolver::Static(FileType::Json),
"json" => FileTypeResolver::Static(FileType::Json),
"jsonp" => FileTypeResolver::Static(FileType::Json),
"geojson" => FileTypeResolver::Static(FileType::Json),
"mcmeta" => FileTypeResolver::Static(FileType::Json),
"webmanifest" => FileTypeResolver::Static(FileType::Json),
"ipynb" => FileTypeResolver::Static(FileType::Json),
"jupyterlab-settings" => FileTypeResolver::Static(FileType::Json),
"sublime-project" => FileTypeResolver::Static(FileType::Json),
"sublime-settings" => FileTypeResolver::Static(FileType::Json),
"sublime-workspace" => FileTypeResolver::Static(FileType::Json),
"json-patch" => FileTypeResolver::Static(FileType::Json),
"bd" => FileTypeResolver::Static(FileType::Json),
"bda" => FileTypeResolver::Static(FileType::Json),
"xci" => FileTypeResolver::Static(FileType::Json),
"json5" => FileTypeResolver::Static(FileType::Json5),
"jsonc" => FileTypeResolver::Static(FileType::JsonC),
"jsonl" => FileTypeResolver::Static(FileType::JsonL),
"jsonnet" => FileTypeResolver::Static(FileType::Jsonnet),
"libsonnet" => FileTypeResolver::Static(FileType::Jsonnet),
"jsp" => FileTypeResolver::Static(FileType::Jsp),
"jl" => FileTypeResolver::Static(FileType::Julia),
"just" => FileTypeResolver::Static(FileType::Just),
"Just" => FileTypeResolver::Static(FileType::Just),
"JUST" => FileTypeResolver::Static(FileType::Just),
"kl" => FileTypeResolver::Static(FileType::Karel),
"KL" => FileTypeResolver::Static(FileType::Karel),
"kdl" => FileTypeResolver::Static(FileType::Kdl),
"kerml" => FileTypeResolver::Static(FileType::Kerml),
"kv" => FileTypeResolver::Static(FileType::Kivy),
"kix" => FileTypeResolver::Static(FileType::Kix),
"kk" => FileTypeResolver::Static(FileType::Koka),
"kos" => FileTypeResolver::Static(FileType::Kos),
"kts" => FileTypeResolver::Static(FileType::Kotlin),
"kt" => FileTypeResolver::Static(FileType::Kotlin),
"ktm" => FileTypeResolver::Static(FileType::Kotlin),
"sub" => FileTypeResolver::Static(FileType::Krl),
"Sub" => FileTypeResolver::Static(FileType::Krl),
"SUB" => FileTypeResolver::Static(FileType::Krl),
"ks" => FileTypeResolver::Static(FileType::KScript),
"k" => FileTypeResolver::Static(FileType::Kwt),
"ACE" => FileTypeResolver::Static(FileType::Lace),
"ace" => FileTypeResolver::Static(FileType::Lace),
"lalrpop" => FileTypeResolver::Static(FileType::Lalrpop),
"latte" => FileTypeResolver::Static(FileType::Latte),
"lte" => FileTypeResolver::Static(FileType::Latte),
"ld" => FileTypeResolver::Static(FileType::Ld),
"ldif" => FileTypeResolver::Static(FileType::Ldif),
"lean" => FileTypeResolver::Static(FileType::Lean),
"journal" => FileTypeResolver::Static(FileType::Ledger),
"ldg" => FileTypeResolver::Static(FileType::Ledger),
"ledger" => FileTypeResolver::Static(FileType::Ledger),
"xrl" => FileTypeResolver::Static(FileType::Leex),
"leo" => FileTypeResolver::Static(FileType::Leo),
"less" => FileTypeResolver::Static(FileType::Less),
"lex" => FileTypeResolver::Static(FileType::Lex),
"lxx" => FileTypeResolver::Static(FileType::Lex),
"l++" => FileTypeResolver::Static(FileType::Lex),
"l" => FileTypeResolver::Static(FileType::Lex),
"lhs" => FileTypeResolver::Static(FileType::LHaskell),
"lidr" => FileTypeResolver::Static(FileType::Lidris2),
"ly" => FileTypeResolver::Static(FileType::Lilypond),
"ily" => FileTypeResolver::Static(FileType::Lilypond),
"liquid" => FileTypeResolver::Static(FileType::Liquid),
"liq" => FileTypeResolver::Static(FileType::Liquidsoap),
"L" => FileTypeResolver::Static(FileType::Lisp),
"lisp" => FileTypeResolver::Static(FileType::Lisp),
"el" => FileTypeResolver::Static(FileType::Lisp),
"lsp" => FileTypeResolver::Static(FileType::Lisp),
"asd" => FileTypeResolver::Static(FileType::Lisp),
"lt" => FileTypeResolver::Static(FileType::Lite),
"lite" => FileTypeResolver::Static(FileType::Lite),
"livemd" => FileTypeResolver::Static(FileType::Livebook),
"ll" => FileTypeResolver::Static(FileType::Llvm),
"lgt" => FileTypeResolver::Static(FileType::Logtalk),
"lotos" => FileTypeResolver::Static(FileType::Lotos),
"lot" => FileTypeResolver::Static(FileType::Lotos),
"lout" => FileTypeResolver::Static(FileType::Lout),
"lou" => FileTypeResolver::Static(FileType::Lout),
"ulpc" => FileTypeResolver::Static(FileType::Lpc),
"lpc" => FileTypeResolver::Static(FileType::Lpc),
"lss" => FileTypeResolver::Static(FileType::Lss),
"nse" => FileTypeResolver::Static(FileType::Lua),
"rockspec" => FileTypeResolver::Static(FileType::Lua),
"lua" => FileTypeResolver::Static(FileType::Lua),
"tlu" => FileTypeResolver::Static(FileType::Lua),
"luau" => FileTypeResolver::Static(FileType::Luau),
"lrc" => FileTypeResolver::Static(FileType::Lyrics),
"at" => FileTypeResolver::Static(FileType::M4),
"quake" => FileTypeResolver::Static(FileType::M3Quake),
"eml" => FileTypeResolver::Static(FileType::Mail),
"mk" => FileTypeResolver::Static(FileType::Make),
"mak" => FileTypeResolver::Static(FileType::Make),
"page" => FileTypeResolver::Static(FileType::Mallard),
"map" => FileTypeResolver::Static(FileType::Map),
"mws" => FileTypeResolver::Static(FileType::Maple),
"mpl" => FileTypeResolver::Static(FileType::Maple),
"mv" => FileTypeResolver::Static(FileType::Maple),
"mkdn" => FileTypeResolver::Static(FileType::Markdown),
"md" => FileTypeResolver::Static(FileType::Markdown),
"mdwn" => FileTypeResolver::Static(FileType::Markdown),
"mkd" => FileTypeResolver::Static(FileType::Markdown),
"markdown" => FileTypeResolver::Static(FileType::Markdown),
"mdown" => FileTypeResolver::Static(FileType::Markdown),
"masm" => FileTypeResolver::Static(FileType::Masm),
"mhtml" => FileTypeResolver::Static(FileType::Mason),
"mason" => FileTypeResolver::Static(FileType::Mason),
"master" => FileTypeResolver::Static(FileType::Master),
"mas" => FileTypeResolver::Static(FileType::Master),
"demo" => FileTypeResolver::Static(FileType::Maxima),
"dm1" => FileTypeResolver::Static(FileType::Maxima),
"dm2" => FileTypeResolver::Static(FileType::Maxima),
"dm3" => FileTypeResolver::Static(FileType::Maxima),
"dmt" => FileTypeResolver::Static(FileType::Maxima),
"wxm" => FileTypeResolver::Static(FileType::Maxima),
"mbsyncrc" => FileTypeResolver::Static(FileType::Mbsync),
"mw" => FileTypeResolver::Static(FileType::Mediawiki),
"wiki" => FileTypeResolver::Static(FileType::Mediawiki),
"mel" => FileTypeResolver::Static(FileType::Mel),
"mmd" => FileTypeResolver::Static(FileType::Mermaid),
"mmdc" => FileTypeResolver::Static(FileType::Mermaid),
"mermaid" => FileTypeResolver::Static(FileType::Mermaid),
"mf" => FileTypeResolver::Static(FileType::Mf),
"mgl" => FileTypeResolver::Static(FileType::Mgl),
"mgp" => FileTypeResolver::Static(FileType::Mgp),
"my" => FileTypeResolver::Static(FileType::Mib),
"mib" => FileTypeResolver::Static(FileType::Mib),
"mix" => FileTypeResolver::Static(FileType::Mix),
"mixal" => FileTypeResolver::Static(FileType::Mix),
"mlir" => FileTypeResolver::Static(FileType::Mlir),
"nb" => FileTypeResolver::Static(FileType::Mma),
"wl" => FileTypeResolver::Static(FileType::Mma),
"mmp" => FileTypeResolver::Static(FileType::Mmp),
"DEF" => FileTypeResolver::Static(FileType::Modula2),
"m3" => FileTypeResolver::Static(FileType::Modula3),
"i3" => FileTypeResolver::Static(FileType::Modula3),
"mg" => FileTypeResolver::Static(FileType::Modula3),
"ig" => FileTypeResolver::Static(FileType::Modula3),
"lm3" => FileTypeResolver::Static(FileType::Modula3),
"mojo" => FileTypeResolver::Static(FileType::Mojo),
"🔥" => FileTypeResolver::Static(FileType::Mojo),
"ssc" => FileTypeResolver::Static(FileType::Monk),
"monk" => FileTypeResolver::Static(FileType::Monk),
"tsc" => FileTypeResolver::Static(FileType::Monk),
"isc" => FileTypeResolver::Static(FileType::Monk),
"moo" => FileTypeResolver::Static(FileType::Moo),
"moon" => FileTypeResolver::Static(FileType::MoonScript),
"move" => FileTypeResolver::Static(FileType::Move),
"mp" => FileTypeResolver::Static(FileType::Mp),
"mpiv" => FileTypeResolver::Static(FileType::MpMetafun),
"mpvi" => FileTypeResolver::Static(FileType::MpMetafun),
"mpxl" => FileTypeResolver::Static(FileType::MpMetafun),
"mof" => FileTypeResolver::Static(FileType::Msidl),
"odl" => FileTypeResolver::Static(FileType::Msidl),
"msql" => FileTypeResolver::Static(FileType::Msql),
"mss" => FileTypeResolver::Static(FileType::Mss),
"mu" => FileTypeResolver::Static(FileType::Mupad),
"mush" => FileTypeResolver::Static(FileType::Mush),
"mustache" => FileTypeResolver::Static(FileType::Mustache),
"mysql" => FileTypeResolver::Static(FileType::MySql),
"n1ql" => FileTypeResolver::Static(FileType::N1ql),
"nql" => FileTypeResolver::Static(FileType::N1ql),
"nanorc" => FileTypeResolver::Static(FileType::Nanorc),
"nasm" => FileTypeResolver::Static(FileType::Nasm),
"NSA" => FileTypeResolver::Static(FileType::Natural),
"NSC" => FileTypeResolver::Static(FileType::Natural),
"NSG" => FileTypeResolver::Static(FileType::Natural),
"NSL" => FileTypeResolver::Static(FileType::Natural),
"NSM" => FileTypeResolver::Static(FileType::Natural),
"NSN" => FileTypeResolver::Static(FileType::Natural),
"NSP" => FileTypeResolver::Static(FileType::Natural),
"NSS" => FileTypeResolver::Static(FileType::Natural),
"ncf" => FileTypeResolver::Static(FileType::Ncf),
"nginx" => FileTypeResolver::Static(FileType::Nginx),
"ncl" => FileTypeResolver::Static(FileType::Nickel),
"nim" => FileTypeResolver::Static(FileType::Nim),
"nims" => FileTypeResolver::Static(FileType::Nim),
"nimble" => FileTypeResolver::Static(FileType::Nim),
"ninja" => FileTypeResolver::Static(FileType::Ninja),
"nix" => FileTypeResolver::Static(FileType::Nix),
"norg" => FileTypeResolver::Static(FileType::Norg),
"nq" => FileTypeResolver::Static(FileType::Nq),
"nqc" => FileTypeResolver::Static(FileType::Nqc),
"roff" => FileTypeResolver::Static(FileType::Nroff),
"tmac" => FileTypeResolver::Static(FileType::Nroff),
"man" => FileTypeResolver::Static(FileType::Nroff),
"nr" => FileTypeResolver::Static(FileType::Nroff),
"tr" => FileTypeResolver::Static(FileType::Nroff),
"nsi" => FileTypeResolver::Static(FileType::Nsis),
"nsh" => FileTypeResolver::Static(FileType::Nsis),
"nt" => FileTypeResolver::Static(FileType::Ntriples),
"nu" => FileTypeResolver::Static(FileType::Nu),
"nbt" => FileTypeResolver::Static(FileType::Numbat),
"obj" => FileTypeResolver::Static(FileType::Obj),
"objdump" => FileTypeResolver::Static(FileType::Objdump),
"cppobjdump" => FileTypeResolver::Static(FileType::Objdump),
"obl" => FileTypeResolver::Static(FileType::Obse),
"obse" => FileTypeResolver::Static(FileType::Obse),
"oblivion" => FileTypeResolver::Static(FileType::Obse),
"obscript" => FileTypeResolver::Static(FileType::Obse),
"mlt" => FileTypeResolver::Static(FileType::OCaml),
"mly" => FileTypeResolver::Static(FileType::OCaml),
"mll" => FileTypeResolver::Static(FileType::OCaml),
"mlp" => FileTypeResolver::Static(FileType::OCaml),
"mlip" => FileTypeResolver::Static(FileType::OCaml),
"mli" => FileTypeResolver::Static(FileType::OCamlInterface),
"ml" => FileTypeResolver::Static(FileType::OCaml),
"occ" => FileTypeResolver::Static(FileType::Occam),
"odin" => FileTypeResolver::Static(FileType::Odin),
"xom" => FileTypeResolver::Static(FileType::OmniMark),
"xin" => FileTypeResolver::Static(FileType::OmniMark),
"opam" => FileTypeResolver::Static(FileType::Opam),
"or" => FileTypeResolver::Static(FileType::OpenRoad),
"scad" => FileTypeResolver::Static(FileType::OpenScad),
"ovpn" => FileTypeResolver::Static(FileType::OpenVpn),
"opl" => FileTypeResolver::Static(FileType::Opl),
"opL" => FileTypeResolver::Static(FileType::Opl),
"oPl" => FileTypeResolver::Static(FileType::Opl),
"oPL" => FileTypeResolver::Static(FileType::Opl),
"Opl" => FileTypeResolver::Static(FileType::Opl),
"OpL" => FileTypeResolver::Static(FileType::Opl),
"OPl" => FileTypeResolver::Static(FileType::Opl),
"OPL" => FileTypeResolver::Static(FileType::Opl),
"ora" => FileTypeResolver::Static(FileType::Ora),
"org" => FileTypeResolver::Static(FileType::Org),
"org_archive" => FileTypeResolver::Static(FileType::Org),
"pandoc" => FileTypeResolver::Static(FileType::Pandoc),
"pdk" => FileTypeResolver::Static(FileType::Pandoc),
"pd" => FileTypeResolver::Static(FileType::Pandoc),
"pdc" => FileTypeResolver::Static(FileType::Pandoc),
"pxsl" => FileTypeResolver::Static(FileType::Papp),
"papp" => FileTypeResolver::Static(FileType::Papp),
"pxml" => FileTypeResolver::Static(FileType::Papp),
"pas" => FileTypeResolver::Static(FileType::Pascal),
"lpr" => FileTypeResolver::Static(FileType::Pascal),
"dpr" => FileTypeResolver::Static(FileType::Pascal),
"txtpb" => FileTypeResolver::Static(FileType::Pbtxt),
"textproto" => FileTypeResolver::Static(FileType::Pbtxt),
"textpb" => FileTypeResolver::Static(FileType::Pbtxt),
"pbtxt" => FileTypeResolver::Static(FileType::Pbtxt),
"aconfig" => FileTypeResolver::Static(FileType::Pbtxt),
"g" => FileTypeResolver::Static(FileType::Pccts),
"pcmk" => FileTypeResolver::Static(FileType::Pcmk),
"pdf" => FileTypeResolver::Static(FileType::Pdf),
"pem" => FileTypeResolver::Static(FileType::Pem),
"cer" => FileTypeResolver::Static(FileType::Pem),
"crt" => FileTypeResolver::Static(FileType::Pem),
"csr" => FileTypeResolver::Static(FileType::Pem),
"plx" => FileTypeResolver::Static(FileType::Perl),
"prisma" => FileTypeResolver::Static(FileType::Prisma),
"psgi" => FileTypeResolver::Static(FileType::Perl),
"al" => FileTypeResolver::Static(FileType::Perl),
"ctp" => FileTypeResolver::Static(FileType::Php),
"php" => FileTypeResolver::Static(FileType::Php),
"phpt" => FileTypeResolver::Static(FileType::Php),
"php0" => FileTypeResolver::Static(FileType::Php),
"php1" => FileTypeResolver::Static(FileType::Php),
"php2" => FileTypeResolver::Static(FileType::Php),
"php3" => FileTypeResolver::Static(FileType::Php),
"php4" => FileTypeResolver::Static(FileType::Php),
"php5" => FileTypeResolver::Static(FileType::Php),
"php6" => FileTypeResolver::Static(FileType::Php),
"php7" => FileTypeResolver::Static(FileType::Php),
"php8" => FileTypeResolver::Static(FileType::Php),
"php9" => FileTypeResolver::Static(FileType::Php),
"phtml" => FileTypeResolver::Static(FileType::Php),
"theme" => FileTypeResolver::Static(FileType::Php),
"pike" => FileTypeResolver::Static(FileType::Pike),
"pmod" => FileTypeResolver::Static(FileType::Pike),
"rcp" => FileTypeResolver::Static(FileType::Pilrc),
"pkl" => FileTypeResolver::Static(FileType::Pkl),
"pcf" => FileTypeResolver::Static(FileType::Pkl),
"pli" => FileTypeResolver::Static(FileType::Pli),
"pl1" => FileTypeResolver::Static(FileType::Pli),
"p36" => FileTypeResolver::Static(FileType::Plm),
"plm" => FileTypeResolver::Static(FileType::Plm),
"pac" => FileTypeResolver::Static(FileType::Plm),
"plp" => FileTypeResolver::Static(FileType::Plp),
"pls" => FileTypeResolver::Static(FileType::Plsql),
"plsql" => FileTypeResolver::Static(FileType::Plsql),
"po" => FileTypeResolver::Static(FileType::Po),
"pot" => FileTypeResolver::Static(FileType::Po),
"pod" => FileTypeResolver::Static(FileType::Pod),
"filter" => FileTypeResolver::Static(FileType::PoeFilter),
"pk" => FileTypeResolver::Static(FileType::Poke),
"pony" => FileTypeResolver::Static(FileType::Pony),
"ps" => FileTypeResolver::Static(FileType::Postscr),
"epsi" => FileTypeResolver::Static(FileType::Postscr),
"afm" => FileTypeResolver::Static(FileType::Postscr),
"epsf" => FileTypeResolver::Static(FileType::Postscr),
"eps" => FileTypeResolver::Static(FileType::Postscr),
"pfa" => FileTypeResolver::Static(FileType::Postscr),
"ai" => FileTypeResolver::Static(FileType::Postscr),
"pov" => FileTypeResolver::Static(FileType::Pov),
"ppd" => FileTypeResolver::Static(FileType::Ppd),
"it" => FileTypeResolver::Static(FileType::Ppwiz),
"ih" => FileTypeResolver::Static(FileType::Ppwiz),
"pq" => FileTypeResolver::Static(FileType::Pq),
"action" => FileTypeResolver::Static(FileType::Privoxy),
"pc" => FileTypeResolver::Static(FileType::Proc),
"pdb" => FileTypeResolver::Static(FileType::Prolog),
"pml" => FileTypeResolver::Static(FileType::Promela),
"proto" => FileTypeResolver::Static(FileType::Proto),
"prql" => FileTypeResolver::Static(FileType::Prql),
"psd1" => FileTypeResolver::Static(FileType::Ps1),
"psm1" => FileTypeResolver::Static(FileType::Ps1),
"ps1" => FileTypeResolver::Static(FileType::Ps1),
"pssc" => FileTypeResolver::Static(FileType::Ps1),
"ps1xml" => FileTypeResolver::Static(FileType::Ps1Xml),
"psf" => FileTypeResolver::Static(FileType::Psf),
"psl" => FileTypeResolver::Static(FileType::Psl),
"ptx" => FileTypeResolver::Static(FileType::Ptx),
"pug" => FileTypeResolver::Static(FileType::Pug),
"purs" => FileTypeResolver::Static(FileType::Purescript),
"arr" => FileTypeResolver::Static(FileType::Pyret),
"pxd" => FileTypeResolver::Static(FileType::Pyrex),
"pxi" => FileTypeResolver::Static(FileType::Pyrex),
"pyx" => FileTypeResolver::Static(FileType::Pyrex),
"pyx+" => FileTypeResolver::Static(FileType::Pyrex),
"pyw" => FileTypeResolver::Static(FileType::Python),
"py" => FileTypeResolver::Static(FileType::Python),
"pyi" => FileTypeResolver::Static(FileType::Python),
"ptl" => FileTypeResolver::Static(FileType::Python),
"ipy" => FileTypeResolver::Static(FileType::Python),
"ql" => FileTypeResolver::Static(FileType::Ql),
"qll" => FileTypeResolver::Static(FileType::Ql),
"qml" => FileTypeResolver::Static(FileType::Qmljs),
"qbs" => FileTypeResolver::Static(FileType::Qmljs),
"qmd" => FileTypeResolver::Static(FileType::Quarto),
"bms" => FileTypeResolver::Static(FileType::Quickbms),
"rkt" => FileTypeResolver::Static(FileType::Racket),
"rktd" => FileTypeResolver::Static(FileType::Racket),
"rktl" => FileTypeResolver::Static(FileType::Racket),
"rad" => FileTypeResolver::Static(FileType::Radiance),
"mat" => FileTypeResolver::Static(FileType::Radiance),
"pod6" => FileTypeResolver::Static(FileType::Raku),
"rakudoc" => FileTypeResolver::Static(FileType::Raku),
"rakutest" => FileTypeResolver::Static(FileType::Raku),
"rakumod" => FileTypeResolver::Static(FileType::Raku),
"pm6" => FileTypeResolver::Static(FileType::Raku),
"raku" => FileTypeResolver::Static(FileType::Raku),
"t6" => FileTypeResolver::Static(FileType::Raku),
"p6" => FileTypeResolver::Static(FileType::Raku),
"raml" => FileTypeResolver::Static(FileType::Raml),
"sysx" => FileTypeResolver::Static(FileType::Rapid),
"sysX" => FileTypeResolver::Static(FileType::Rapid),
"Sysx" => FileTypeResolver::Static(FileType::Rapid),
"SysX" => FileTypeResolver::Static(FileType::Rapid),
"SYSX" => FileTypeResolver::Static(FileType::Rapid),
"SYSx" => FileTypeResolver::Static(FileType::Rapid),
"modx" => FileTypeResolver::Static(FileType::Rapid),
"modX" => FileTypeResolver::Static(FileType::Rapid),
"Modx" => FileTypeResolver::Static(FileType::Rapid),
"ModX" => FileTypeResolver::Static(FileType::Rapid),
"MODX" => FileTypeResolver::Static(FileType::Rapid),
"MODx" => FileTypeResolver::Static(FileType::Rapid),
"rasi" => FileTypeResolver::Static(FileType::Rasi),
"rasinc" => FileTypeResolver::Static(FileType::Rasi),
"rbs" => FileTypeResolver::Static(FileType::Rbs),
"rego" => FileTypeResolver::Static(FileType::Rego),
"rem" => FileTypeResolver::Static(FileType::Remind),
"remind" => FileTypeResolver::Static(FileType::Remind),
"pip" => FileTypeResolver::Static(FileType::Requirements),
"res" => FileTypeResolver::Static(FileType::ReScript),
"resi" => FileTypeResolver::Static(FileType::ReScript),
"frt" => FileTypeResolver::Static(FileType::Reva),
"testUnit" => FileTypeResolver::Static(FileType::Rexx),
"rex" => FileTypeResolver::Static(FileType::Rexx),
"orx" => FileTypeResolver::Static(FileType::Rexx),
"rexx" => FileTypeResolver::Static(FileType::Rexx),
"jrexx" => FileTypeResolver::Static(FileType::Rexx),
"rxj" => FileTypeResolver::Static(FileType::Rexx),
"rexxj" => FileTypeResolver::Static(FileType::Rexx),
"testGroup" => FileTypeResolver::Static(FileType::Rexx),
"rxo" => FileTypeResolver::Static(FileType::Rexx),
"Rd" => FileTypeResolver::Static(FileType::RHelp),
"rd" => FileTypeResolver::Static(FileType::RHelp),
"rib" => FileTypeResolver::Static(FileType::Rib),
"Rmd" => FileTypeResolver::Static(FileType::Rmd),
"rmd" => FileTypeResolver::Static(FileType::Rmd),
"smd" => FileTypeResolver::Static(FileType::Rmd),
"Smd" => FileTypeResolver::Static(FileType::Rmd),
"rnc" => FileTypeResolver::Static(FileType::Rnc),
"rng" => FileTypeResolver::Static(FileType::Rng),
"rnw" => FileTypeResolver::Static(FileType::Rnoweb),
"snw" => FileTypeResolver::Static(FileType::Rnoweb),
"Rnw" => FileTypeResolver::Static(FileType::Rnoweb),
"Snw" => FileTypeResolver::Static(FileType::Rnoweb),
"robot" => FileTypeResolver::Static(FileType::Robot),
"resource" => FileTypeResolver::Static(FileType::Robot),
"roc" => FileTypeResolver::Static(FileType::Roc),
"ron" => FileTypeResolver::Static(FileType::Ron),
"rsc" => FileTypeResolver::Static(FileType::RouterOs),
"x" => FileTypeResolver::Static(FileType::Rpcgen),
"rpgle" => FileTypeResolver::Static(FileType::Rpgle),
"rpgleinc" => FileTypeResolver::Static(FileType::Rpgle),
"rpl" => FileTypeResolver::Static(FileType::Rpl),
"Srst" => FileTypeResolver::Static(FileType::Rrst),
"srst" => FileTypeResolver::Static(FileType::Rrst),
"Rrst" => FileTypeResolver::Static(FileType::Rrst),
"rrst" => FileTypeResolver::Static(FileType::Rrst),
"rst" => FileTypeResolver::Static(FileType::Rst),
"rtf" => FileTypeResolver::Static(FileType::Rtf),
"rjs" => FileTypeResolver::Static(FileType::Ruby),
"rxml" => FileTypeResolver::Static(FileType::Ruby),
"rb" => FileTypeResolver::Static(FileType::Ruby),
"rbi" => FileTypeResolver::Static(FileType::Ruby),
"rant" => FileTypeResolver::Static(FileType::Ruby),
"ru" => FileTypeResolver::Static(FileType::Ruby),
"rbw" => FileTypeResolver::Static(FileType::Ruby),
"gemspec" => FileTypeResolver::Static(FileType::Ruby),
"builder" => FileTypeResolver::Static(FileType::Ruby),
"rake" => FileTypeResolver::Static(FileType::Ruby),
"rs" => FileTypeResolver::Static(FileType::Rust),
"sa" => FileTypeResolver::Static(FileType::Sather),
"sage" => FileTypeResolver::Static(FileType::Sage),
"sls" => FileTypeResolver::Static(FileType::Salt),
"sas" => FileTypeResolver::Static(FileType::Sas),
"sass" => FileTypeResolver::Static(FileType::Sass),
"sbt" => FileTypeResolver::Static(FileType::Sbt),
"scala" => FileTypeResolver::Static(FileType::Scala),
"mill" => FileTypeResolver::Static(FileType::Scala),
"ss" => FileTypeResolver::Static(FileType::Scheme),
"scm" => FileTypeResolver::Static(FileType::Scheme),
"sld" => FileTypeResolver::Static(FileType::Scheme),
"stsg" => FileTypeResolver::Static(FileType::Scheme),
"sce" => FileTypeResolver::Static(FileType::Scilab),
"sci" => FileTypeResolver::Static(FileType::Scilab),
"scss" => FileTypeResolver::Static(FileType::Scss),
"sd" => FileTypeResolver::Static(FileType::Sd),
"sdc" => FileTypeResolver::Static(FileType::Sdc),
"pr" => FileTypeResolver::Static(FileType::Sdl),
"sdl" => FileTypeResolver::Static(FileType::Sdl),
"sed" => FileTypeResolver::Static(FileType::Sed),
"sexp" => FileTypeResolver::Static(FileType::Sexplib),
"lo" => FileTypeResolver::Static(FileType::Sh),
"la" => FileTypeResolver::Static(FileType::Sh),
"lai" => FileTypeResolver::Static(FileType::Sh),
"mdd" => FileTypeResolver::Static(FileType::Sh),
"slang" => FileTypeResolver::Static(FileType::Slang),
"sieve" => FileTypeResolver::Static(FileType::Sieve),
"siv" => FileTypeResolver::Static(FileType::Sieve),
"sim" => FileTypeResolver::Static(FileType::Simula),
"s85" => FileTypeResolver::Static(FileType::Sinda),
"sin" => FileTypeResolver::Static(FileType::Sinda),
"ssm" => FileTypeResolver::Static(FileType::Sisu),
"sst" => FileTypeResolver::Static(FileType::Sisu),
"ssi" => FileTypeResolver::Static(FileType::Sisu),
"_sst" => FileTypeResolver::Static(FileType::Sisu),
"-sst" => FileTypeResolver::Static(FileType::Sisu),
"il" => FileTypeResolver::Static(FileType::Skill),
"ils" => FileTypeResolver::Static(FileType::Skill),
"cdf" => FileTypeResolver::Static(FileType::Skill),
"sl" => FileTypeResolver::Static(FileType::Slang),
"ice" => FileTypeResolver::Static(FileType::Slice),
"slint" => FileTypeResolver::Static(FileType::Slint),
"score" => FileTypeResolver::Static(FileType::Slrnsc),
"sol" => FileTypeResolver::Static(FileType::Solidity),
"smali" => FileTypeResolver::Static(FileType::Smali),
"tpl" => FileTypeResolver::Static(FileType::Smarty),
"ihlp" => FileTypeResolver::Static(FileType::Smcl),
"smcl" => FileTypeResolver::Static(FileType::Smcl),
"hlp" => FileTypeResolver::Static(FileType::Smcl),
"smith" => FileTypeResolver::Static(FileType::Smith),
"smt" => FileTypeResolver::Static(FileType::Smith),
"smithy" => FileTypeResolver::Static(FileType::Smithy),
"sml" => FileTypeResolver::Static(FileType::Sml),
"smk" => FileTypeResolver::Static(FileType::Snakemake),
"spt" => FileTypeResolver::Static(FileType::Snobol4),
"sno" => FileTypeResolver::Static(FileType::Snobol4),
"sln" => FileTypeResolver::Static(FileType::Solution),
"soy" => FileTypeResolver::Static(FileType::Soy),
"sparql" => FileTypeResolver::Static(FileType::Sparql),
"rq" => FileTypeResolver::Static(FileType::Sparql),
"spec" => FileTypeResolver::Static(FileType::Spec),
"spice" => FileTypeResolver::Static(FileType::Spice),
"sp" => FileTypeResolver::Static(FileType::Spice),
"spd" => FileTypeResolver::Static(FileType::Spup),
"spdata" => FileTypeResolver::Static(FileType::Spup),
"speedup" => FileTypeResolver::Static(FileType::Spup),
"spi" => FileTypeResolver::Static(FileType::Spyce),
"spy" => FileTypeResolver::Static(FileType::Spyce),
"tyc" => FileTypeResolver::Static(FileType::Sql),
"pkb" => FileTypeResolver::Static(FileType::Sql),
"tyb" => FileTypeResolver::Static(FileType::Sql),
"pks" => FileTypeResolver::Static(FileType::Sql),
"sqlj" => FileTypeResolver::Static(FileType::Sqlj),
"sqi" => FileTypeResolver::Static(FileType::Sqr),
"sqr" => FileTypeResolver::Static(FileType::Sqr),
"nut" => FileTypeResolver::Static(FileType::Squirrel),
"s28" => FileTypeResolver::Static(FileType::Srec),
"s37" => FileTypeResolver::Static(FileType::Srec),
"srec" => FileTypeResolver::Static(FileType::Srec),
"mot" => FileTypeResolver::Static(FileType::Srec),
"s19" => FileTypeResolver::Static(FileType::Srec),
"srt" => FileTypeResolver::Static(FileType::Srt),
"ssa" => FileTypeResolver::Static(FileType::Ssa),
"ass" => FileTypeResolver::Static(FileType::Ssa),
"st" => FileTypeResolver::Static(FileType::St),
"ipd" => FileTypeResolver::Static(FileType::Starlark),
"sky" => FileTypeResolver::Static(FileType::Starlark),
"star" => FileTypeResolver::Static(FileType::Starlark),
"starlark" => FileTypeResolver::Static(FileType::Starlark),
"imata" => FileTypeResolver::Static(FileType::Stata),
"do" => FileTypeResolver::Static(FileType::Stata),
"mata" => FileTypeResolver::Static(FileType::Stata),
"ado" => FileTypeResolver::Static(FileType::Stata),
"stp" => FileTypeResolver::Static(FileType::Stp),
"styl" => FileTypeResolver::Static(FileType::Stylus),
"stylus" => FileTypeResolver::Static(FileType::Stylus),
"quark" => FileTypeResolver::Static(FileType::Supercollider),
"sface" => FileTypeResolver::Static(FileType::Surface),
"svelte" => FileTypeResolver::Static(FileType::Svelte),
"svg" => FileTypeResolver::Static(FileType::Svg),
"sw" => FileTypeResolver::Static(FileType::Sway),
"swift" => FileTypeResolver::Static(FileType::Swift),
"swiftinterface" => FileTypeResolver::Static(FileType::Swift),
"swig" => FileTypeResolver::Static(FileType::Swig),
"swg" => FileTypeResolver::Static(FileType::Swig),
"sysml" => FileTypeResolver::Static(FileType::Sysml),
"svh" => FileTypeResolver::Static(FileType::SystemVerilog),
"sv" => FileTypeResolver::Static(FileType::SystemVerilog),
"cmm" => FileTypeResolver::Static(FileType::Trace32),
"cmmt" => FileTypeResolver::Static(FileType::Trace32),
"t32" => FileTypeResolver::Static(FileType::Trace32),
"td" => FileTypeResolver::Static(FileType::Tablegen),
"tak" => FileTypeResolver::Static(FileType::Tak),
"tal" => FileTypeResolver::Static(FileType::Tal),
"task" => FileTypeResolver::Static(FileType::TaskEdit),
"tm" => FileTypeResolver::Static(FileType::Tcl),
"tcl" => FileTypeResolver::Static(FileType::Tcl),
"itk" => FileTypeResolver::Static(FileType::Tcl),
"itcl" => FileTypeResolver::Static(FileType::Tcl),
"tk" => FileTypeResolver::Static(FileType::Tcl),
"jacl" => FileTypeResolver::Static(FileType::Tcl),
"tl" => FileTypeResolver::Static(FileType::Teal),
"templ" => FileTypeResolver::Static(FileType::Templ),
"tmpl" => FileTypeResolver::Static(FileType::Template),
"tera" => FileTypeResolver::Static(FileType::Tera),
"ti" => FileTypeResolver::Static(FileType::Terminfo),
"dtx" => FileTypeResolver::Static(FileType::Tex),
"ltx" => FileTypeResolver::Static(FileType::Tex),
"bbl" => FileTypeResolver::Static(FileType::Tex),
"latex" => FileTypeResolver::Static(FileType::Tex),
"sty" => FileTypeResolver::Static(FileType::Tex),
"pgf" => FileTypeResolver::Static(FileType::Tex),
"nlo" => FileTypeResolver::Static(FileType::Tex),
"nls" => FileTypeResolver::Static(FileType::Tex),
"thm" => FileTypeResolver::Static(FileType::Tex),
"eps_tex" => FileTypeResolver::Static(FileType::Tex),
"pdf_tex" => FileTypeResolver::Static(FileType::Tex),
"pygtex" => FileTypeResolver::Static(FileType::Tex),
"pygstyle" => FileTypeResolver::Static(FileType::Tex),
"clo" => FileTypeResolver::Static(FileType::Tex),
"aux" => FileTypeResolver::Static(FileType::Tex),
"brf" => FileTypeResolver::Static(FileType::Tex),
"ind" => FileTypeResolver::Static(FileType::Tex),
"lof" => FileTypeResolver::Static(FileType::Tex),
"loe" => FileTypeResolver::Static(FileType::Tex),
"nav" => FileTypeResolver::Static(FileType::Tex),
"vrb" => FileTypeResolver::Static(FileType::Tex),
"ins" => FileTypeResolver::Static(FileType::Tex),
"tikz" => FileTypeResolver::Static(FileType::Tex),
"bbx" => FileTypeResolver::Static(FileType::Tex),
"cbx" => FileTypeResolver::Static(FileType::Tex),
"beamer" => FileTypeResolver::Static(FileType::Tex),
"texi" => FileTypeResolver::Static(FileType::TexInfo),
"txi" => FileTypeResolver::Static(FileType::TexInfo),
"texinfo" => FileTypeResolver::Static(FileType::TexInfo),
"text" => FileTypeResolver::Static(FileType::Text),
"tfvars" => FileTypeResolver::Static(FileType::TerraformVars),
"thrift" => FileTypeResolver::Static(FileType::Thrift),
"tig" => FileTypeResolver::Static(FileType::Tiger),
"Tiltfile" => FileTypeResolver::Static(FileType::Tiltfile),
"tiltfile" => FileTypeResolver::Static(FileType::Tiltfile),
"tla" => FileTypeResolver::Static(FileType::Tla),
"tli" => FileTypeResolver::Static(FileType::Tli),
"toml" => FileTypeResolver::Static(FileType::Toml),
"tpp" => FileTypeResolver::Static(FileType::Tpp),
"treetop" => FileTypeResolver::Static(FileType::Treetop),
"trig" => FileTypeResolver::Static(FileType::Trig),
"slt" => FileTypeResolver::Static(FileType::Tsalt),
"tsscl" => FileTypeResolver::Static(FileType::Tsscl),
"tssgm" => FileTypeResolver::Static(FileType::Tssgm),
"tssop" => FileTypeResolver::Static(FileType::Tssop),
"tsv" => FileTypeResolver::Static(FileType::Tsv),
"tutor" => FileTypeResolver::Static(FileType::Tutor),
"twig" => FileTypeResolver::Static(FileType::Twig),
"mts" => FileTypeResolver::Static(FileType::TypeScript),
"cts" => FileTypeResolver::Static(FileType::TypeScript),
"tsx" => FileTypeResolver::Static(FileType::Tsx),
"tsp" => FileTypeResolver::Static(FileType::Typespec),
"uc" => FileTypeResolver::Static(FileType::Uc),
"uit" => FileTypeResolver::Static(FileType::Uil),
"uil" => FileTypeResolver::Static(FileType::Uil),
"ungram" => FileTypeResolver::Static(FileType::Ungrammar),
"u" => FileTypeResolver::Static(FileType::Unison),
"uu" => FileTypeResolver::Static(FileType::Unison),
"url" => FileTypeResolver::Static(FileType::UrlShortcut),
"usd" => FileTypeResolver::Static(FileType::Usd),
"usda" => FileTypeResolver::Static(FileType::Usd),
"vsh" => FileTypeResolver::Static(FileType::V),
"vv" => FileTypeResolver::Static(FileType::V),
"ctl" => FileTypeResolver::Static(FileType::Vb),
"dob" => FileTypeResolver::Static(FileType::Vb),
"dsm" => FileTypeResolver::Static(FileType::Vb),
"dsr" => FileTypeResolver::Static(FileType::Vb),
"pag" => FileTypeResolver::Static(FileType::Vb),
"sba" => FileTypeResolver::Static(FileType::Vb),
"vb" => FileTypeResolver::Static(FileType::Vb),
"vbs" => FileTypeResolver::Static(FileType::Vb),
"vba" => FileTypeResolver::Static(FileType::Vim),
"vdf" => FileTypeResolver::Static(FileType::Vdf),
"vdmpp" => FileTypeResolver::Static(FileType::Vdmpp),
"vpp" => FileTypeResolver::Static(FileType::Vdmpp),
"vdmrt" => FileTypeResolver::Static(FileType::Vdmrt),
"vdmsl" => FileTypeResolver::Static(FileType::Vdmsl),
"vdm" => FileTypeResolver::Static(FileType::Vdmsl),
"vto" => FileTypeResolver::Static(FileType::Vento),
"vr" => FileTypeResolver::Static(FileType::Vera),
"vri" => FileTypeResolver::Static(FileType::Vera),
"vrh" => FileTypeResolver::Static(FileType::Vera),
"va" => FileTypeResolver::Static(FileType::Verilogams),
"vams" => FileTypeResolver::Static(FileType::Verilogams),
"vhdl" => FileTypeResolver::Static(FileType::Vhdl),
"vst" => FileTypeResolver::Static(FileType::Vhdl),
"vhd" => FileTypeResolver::Static(FileType::Vhdl),
"hdl" => FileTypeResolver::Static(FileType::Vhdl),
"vho" => FileTypeResolver::Static(FileType::Vhdl),
"vbe" => FileTypeResolver::Static(FileType::Vhdl),
"tape" => FileTypeResolver::Static(FileType::Vhs),
"vim" => FileTypeResolver::Static(FileType::Vim),
"mar" => FileTypeResolver::Static(FileType::Vmasm),
"cm" => FileTypeResolver::Static(FileType::Voscm),
"wrl" => FileTypeResolver::Static(FileType::Vrml),
"vroom" => FileTypeResolver::Static(FileType::Vroom),
"vue" => FileTypeResolver::Static(FileType::Vue),
"wast" => FileTypeResolver::Static(FileType::Wast),
"wat" => FileTypeResolver::Static(FileType::Wat),
"wdl" => FileTypeResolver::Static(FileType::Wdl),
"wm" => FileTypeResolver::Static(FileType::WebMacro),
"wgsl" => FileTypeResolver::Static(FileType::Wgsl),
"wbt" => FileTypeResolver::Static(FileType::WinBatch),
"wit" => FileTypeResolver::Static(FileType::Wit),
"wml" => FileTypeResolver::Static(FileType::Wml),
"wsf" => FileTypeResolver::Static(FileType::Wsh),
"wsc" => FileTypeResolver::Static(FileType::Wsh),
"wsml" => FileTypeResolver::Static(FileType::Wsml),
"ad" => FileTypeResolver::Static(FileType::XDefaults),
"xhtml" => FileTypeResolver::Static(FileType::Xhtml),
"xht" => FileTypeResolver::Static(FileType::Xhtml),
"msc" => FileTypeResolver::Static(FileType::XMath),
"msf" => FileTypeResolver::Static(FileType::XMath),
"psc1" => FileTypeResolver::Static(FileType::Xml),
"tpm" => FileTypeResolver::Static(FileType::Xml),
"xliff" => FileTypeResolver::Static(FileType::Xml),
"atom" => FileTypeResolver::Static(FileType::Xml),
"xul" => FileTypeResolver::Static(FileType::Xml),
"cdxml" => FileTypeResolver::Static(FileType::Xml),
"mpd" => FileTypeResolver::Static(FileType::Xml),
"rss" => FileTypeResolver::Static(FileType::Xml),
"fsproj" => FileTypeResolver::Static(FileType::Xml),
"ui" => FileTypeResolver::Static(FileType::Xml),
"vbproj" => FileTypeResolver::Static(FileType::Xml),
"xlf" => FileTypeResolver::Static(FileType::Xml),
"wsdl" => FileTypeResolver::Static(FileType::Xml),
"csproj" => FileTypeResolver::Static(FileType::Xml),
"wpl" => FileTypeResolver::Static(FileType::Xml),
"xmi" => FileTypeResolver::Static(FileType::Xml),
"xpr" => FileTypeResolver::Static(FileType::Xml),
"xpfm" => FileTypeResolver::Static(FileType::Xml),
"spfm" => FileTypeResolver::Static(FileType::Xml),
"bxml" => FileTypeResolver::Static(FileType::Xml),
"mmi" => FileTypeResolver::Static(FileType::Xml),
"xcu" => FileTypeResolver::Static(FileType::Xml),
"xlb" => FileTypeResolver::Static(FileType::Xml),
"xlc" => FileTypeResolver::Static(FileType::Xml),
"xba" => FileTypeResolver::Static(FileType::Xml),
"slnx" => FileTypeResolver::Static(FileType::Xml),
"xpm2" => FileTypeResolver::Static(FileType::Xpm2),
"xqy" => FileTypeResolver::Static(FileType::XQuery),
"xqm" => FileTypeResolver::Static(FileType::XQuery),
"xquery" => FileTypeResolver::Static(FileType::XQuery),
"xq" => FileTypeResolver::Static(FileType::XQuery),
"xql" => FileTypeResolver::Static(FileType::XQuery),
"xs" => FileTypeResolver::Static(FileType::Xs),
"xsd" => FileTypeResolver::Static(FileType::Xsd),
"xsl" => FileTypeResolver::Static(FileType::Xslt),
"xslt" => FileTypeResolver::Static(FileType::Xslt),
"yy" => FileTypeResolver::Static(FileType::Yacc),
"y++" => FileTypeResolver::Static(FileType::Yacc),
"yxx" => FileTypeResolver::Static(FileType::Yacc),
"yml" => FileTypeResolver::Static(FileType::Yaml),
"yaml" => FileTypeResolver::Static(FileType::Yaml),
"eyaml" => FileTypeResolver::Static(FileType::Yaml),
"mplstyle" => FileTypeResolver::Static(FileType::Yaml),
"kyaml" => FileTypeResolver::Static(FileType::Yaml),
"kyml" => FileTypeResolver::Static(FileType::Yaml),
"grc" => FileTypeResolver::Static(FileType::Yaml),
"yang" => FileTypeResolver::Static(FileType::Yang),
"yuck" => FileTypeResolver::Static(FileType::Yuck),
"z8a" => FileTypeResolver::Static(FileType::Z8a),
"zig" => FileTypeResolver::Static(FileType::Zig),
"zon" => FileTypeResolver::Static(FileType::Zig),
"ziggy" => FileTypeResolver::Static(FileType::Ziggy),
"ziggy-schema" => FileTypeResolver::Static(FileType::ZiggySchema),
"zu" => FileTypeResolver::Static(FileType::Zimbu),
"zut" => FileTypeResolver::Static(FileType::ZimbuTempl),
"zs" => FileTypeResolver::Static(FileType::Zserio),
"zsh" => FileTypeResolver::Static(FileType::Zsh),
"zunit" => FileTypeResolver::Static(FileType::Zsh),
"zsh-theme" => FileTypeResolver::Static(FileType::Zsh),
"vala" => FileTypeResolver::Static(FileType::Vala),
"class" => FileTypeResolver::Static(FileType::Stata),
"asa" => FileTypeResolver::Dynamic(detect::asa),
"asm" => FileTypeResolver::Dynamic(detect::asm),
"s" => FileTypeResolver::Dynamic(detect::asm),
"S" => FileTypeResolver::Dynamic(detect::asm),
"a" => FileTypeResolver::Dynamic(detect::asm),
"A" => FileTypeResolver::Dynamic(detect::asm),
"lst" => FileTypeResolver::Dynamic(detect::asm),
"mac" => FileTypeResolver::Dynamic(detect::asm),
"asp" => FileTypeResolver::Dynamic(detect::asp),
"bas" => FileTypeResolver::Dynamic(detect::bas),
"bi" => FileTypeResolver::Dynamic(detect::bas),
"bm" => FileTypeResolver::Dynamic(detect::bas),
"btm" => FileTypeResolver::Dynamic(detect::btm),
"cfg" => FileTypeResolver::Dynamic(detect::cfg),
"Cfg" => FileTypeResolver::Dynamic(detect::cfg),
"CFG" => FileTypeResolver::Dynamic(detect::cfg),
"ch" => FileTypeResolver::Dynamic(detect::change),
"hook" => FileTypeResolver::Dynamic(detect::hook),
"control" => FileTypeResolver::Dynamic(detect::control),
"copyright" => FileTypeResolver::Dynamic(detect::copyright),
"csh" => FileTypeResolver::Dynamic(detect::csh),
"cpp" => FileTypeResolver::Dynamic(detect::cpp),
"cc" => FileTypeResolver::Dynamic(detect::cpp),
"dat" => FileTypeResolver::Dynamic(detect::dat),
"Dat" => FileTypeResolver::Dynamic(detect::dat),
"DAT" => FileTypeResolver::Dynamic(detect::dat),
"decl" => FileTypeResolver::Dynamic(detect::decl),
"dec" => FileTypeResolver::Dynamic(detect::decl),
"d" => FileTypeResolver::Dynamic(detect::dtrace),
"e" => FileTypeResolver::Dynamic(detect::e),
"E" => FileTypeResolver::Dynamic(detect::e),
"edn" => FileTypeResolver::Dynamic(detect::edn),
"ent" => FileTypeResolver::Dynamic(detect::ent),
"eu" => FileTypeResolver::Dynamic(detect::euphoria),
"EU" => FileTypeResolver::Dynamic(detect::euphoria),
"ew" => FileTypeResolver::Dynamic(detect::euphoria),
"EW" => FileTypeResolver::Dynamic(detect::euphoria),
"EX" => FileTypeResolver::Dynamic(detect::euphoria),
"exu" => FileTypeResolver::Dynamic(detect::euphoria),
"EXU" => FileTypeResolver::Dynamic(detect::euphoria),
"exw" => FileTypeResolver::Dynamic(detect::euphoria),
"EXW" => FileTypeResolver::Dynamic(detect::euphoria),
"ex" => FileTypeResolver::Dynamic(detect::ex),
"frm" => FileTypeResolver::Dynamic(detect::frm),
"fs" => FileTypeResolver::Dynamic(detect::fs),
"h" => FileTypeResolver::Dynamic(detect::header),
"cpt" => FileTypeResolver::Dynamic(detect::html),
"dtml" => FileTypeResolver::Dynamic(detect::html),
"htm" => FileTypeResolver::Dynamic(detect::html),
"html" => FileTypeResolver::Dynamic(detect::html),
"pt" => FileTypeResolver::Dynamic(detect::html),
"shtml" => FileTypeResolver::Dynamic(detect::html),
"stm" => FileTypeResolver::Dynamic(detect::html),
"hw" => FileTypeResolver::Dynamic(detect::hw),
"module" => FileTypeResolver::Dynamic(detect::hw),
"pkg" => FileTypeResolver::Dynamic(detect::hw),
"idl" => FileTypeResolver::Dynamic(detect::idl),
"inc" => FileTypeResolver::Dynamic(detect::inc),
"inp" => FileTypeResolver::Dynamic(detect::inp),
"c" => FileTypeResolver::Dynamic(detect::lpc),
"lsl" => FileTypeResolver::Dynamic(detect::lsl),
"m" => FileTypeResolver::Dynamic(detect::m),
"mc" => FileTypeResolver::Dynamic(detect::mc),
"m4" => FileTypeResolver::Dynamic(detect::m4_ext),
"mm" => FileTypeResolver::Dynamic(detect::mm),
"mms" => FileTypeResolver::Dynamic(detect::mms),
"mod" => FileTypeResolver::Dynamic(detect::mod_),
"Mod" => FileTypeResolver::Dynamic(detect::mod_),
"MOD" => FileTypeResolver::Dynamic(detect::mod_),
"0" => FileTypeResolver::Dynamic(detect::nroff),
"1" => FileTypeResolver::Dynamic(detect::nroff),
"2" => FileTypeResolver::Dynamic(detect::nroff),
"3" => FileTypeResolver::Dynamic(detect::nroff),
"4" => FileTypeResolver::Dynamic(detect::nroff),
"5" => FileTypeResolver::Dynamic(detect::nroff),
"6" => FileTypeResolver::Dynamic(detect::nroff),
"7" => FileTypeResolver::Dynamic(detect::nroff),
"8" => FileTypeResolver::Dynamic(detect::nroff),
"9" => FileTypeResolver::Dynamic(detect::nroff),
"0p" => FileTypeResolver::Dynamic(detect::nroff),
"1p" => FileTypeResolver::Dynamic(detect::nroff),
"3p" => FileTypeResolver::Dynamic(detect::nroff),
"1x" => FileTypeResolver::Dynamic(detect::nroff),
"2x" => FileTypeResolver::Dynamic(detect::nroff),
"3x" => FileTypeResolver::Dynamic(detect::nroff),
"4x" => FileTypeResolver::Dynamic(detect::nroff),
"5x" => FileTypeResolver::Dynamic(detect::nroff),
"6x" => FileTypeResolver::Dynamic(detect::nroff),
"7x" => FileTypeResolver::Dynamic(detect::nroff),
"8x" => FileTypeResolver::Dynamic(detect::nroff),
"3am" => FileTypeResolver::Dynamic(detect::nroff),
"3perl" => FileTypeResolver::Dynamic(detect::nroff),
"3pm" => FileTypeResolver::Dynamic(detect::nroff),
"3posix" => FileTypeResolver::Dynamic(detect::nroff),
"3type" => FileTypeResolver::Dynamic(detect::nroff),
"n" => FileTypeResolver::Dynamic(detect::nroff),
"PL" => FileTypeResolver::Dynamic(detect::pl),
"prg" => FileTypeResolver::Dynamic(detect::prg),
"Prg" => FileTypeResolver::Dynamic(detect::prg),
"PRG" => FileTypeResolver::Dynamic(detect::prg),
"R" => FileTypeResolver::Dynamic(detect::r),
"sig" => FileTypeResolver::Dynamic(detect::sig),
"sil" => FileTypeResolver::Dynamic(detect::sil),
"typ" => FileTypeResolver::Dynamic(detect::typ),
"src" => FileTypeResolver::Dynamic(detect::src),
"Src" => FileTypeResolver::Dynamic(detect::src),
"SRC" => FileTypeResolver::Dynamic(detect::src),
"sys" => FileTypeResolver::Dynamic(detect::sys),
"Sys" => FileTypeResolver::Dynamic(detect::sys),
"SYS" => FileTypeResolver::Dynamic(detect::sys),
"cls" => FileTypeResolver::Dynamic(detect::cls),
"ts" => FileTypeResolver::Dynamic(detect::ts),
"v" => FileTypeResolver::Dynamic(detect::v),
"xpm" => FileTypeResolver::Dynamic(detect::xpm),
"web" => FileTypeResolver::Dynamic(detect::web),
"pl" => FileTypeResolver::Dynamic(detect::pl),
"pp" => FileTypeResolver::Dynamic(detect::pp),
"i" => FileTypeResolver::Dynamic(detect::progress_asm),
"w" => FileTypeResolver::Dynamic(detect::progress_cweb),
"p" => FileTypeResolver::Dynamic(detect::progress_pascal),
"patch" => FileTypeResolver::Dynamic(detect::patch),
"r" => FileTypeResolver::Dynamic(detect::r),
"rdf" => FileTypeResolver::Dynamic(detect::redif),
"rules" => FileTypeResolver::Dynamic(detect::rules),
"sc" => FileTypeResolver::Dynamic(detect::sc),
"scd" => FileTypeResolver::Dynamic(detect::scd),
"sql" => FileTypeResolver::Dynamic(detect::sql),
"zsql" => FileTypeResolver::Dynamic(detect::sql),
"tex" => FileTypeResolver::Dynamic(detect::tex),
"tf" => FileTypeResolver::Dynamic(detect::tf),
"txt" => FileTypeResolver::Dynamic(detect::txt),
"xml" => FileTypeResolver::Dynamic(detect::xml),
"y" => FileTypeResolver::Dynamic(detect::y),
"cmd" => FileTypeResolver::Dynamic(detect::cmd),
"rul" => FileTypeResolver::Dynamic(detect::rul),
"cpy" => FileTypeResolver::Dynamic(detect::cpy),
"dsl" => FileTypeResolver::Dynamic(detect::dsl),
"smil" => FileTypeResolver::Dynamic(detect::smil),
"smi" => FileTypeResolver::Dynamic(detect::smi),
"install" => FileTypeResolver::Dynamic(detect::install),
"pm" => FileTypeResolver::Dynamic(detect::pm),
"me" => FileTypeResolver::Dynamic(detect::me),
"reg" => FileTypeResolver::Dynamic(detect::reg),
"ttl" => FileTypeResolver::Dynamic(detect::ttl),
"rc" => FileTypeResolver::Dynamic(detect::rc),
"rch" => FileTypeResolver::Dynamic(detect::rc),
"sgml" => FileTypeResolver::Dynamic(detect::sgml),
"sgm" => FileTypeResolver::Dynamic(detect::sgml),
"bak" => FileTypeResolver::Dynamic(detect::bak),
"dpkg-bak" => FileTypeResolver::Dynamic(detect::bak),
"dpkg-dist" => FileTypeResolver::Dynamic(detect::bak),
"dpkg-old" => FileTypeResolver::Dynamic(detect::bak),
"dpkg-new" => FileTypeResolver::Dynamic(detect::bak),
"in" => FileTypeResolver::Dynamic(detect::in_),
"new" => FileTypeResolver::Dynamic(detect::bak),
"old" => FileTypeResolver::Dynamic(detect::bak),
"orig" => FileTypeResolver::Dynamic(detect::bak),
"pacsave" => FileTypeResolver::Dynamic(detect::bak),
"pacnew" => FileTypeResolver::Dynamic(detect::bak),
"rpmsave" => FileTypeResolver::Dynamic(detect::bak),
"rmpnew" => FileTypeResolver::Dynamic(detect::bak),
"com" => FileTypeResolver::Dynamic(|_, content| detect::bindzone(content, Some(FileType::Dcl))),
"db" => FileTypeResolver::Dynamic(|_, content| detect::bindzone(content, None)),
"dcl" => FileTypeResolver::Dynamic(|path, content| detect::decl(path, content).or(Some(FileType::Clean))),
"lib" => FileTypeResolver::Dynamic(detect::lib),
"comp" => FileTypeResolver::Dynamic(detect::comp),
"ms" => FileTypeResolver::Dynamic(|path, content| detect::nroff(path, content).or(Some(FileType::XMath))),
"bash" => FileTypeResolver::Dynamic(|_, content| detect::sh(content, Some(FileType::Bash))),
"bats" => FileTypeResolver::Dynamic(|_, content| detect::sh(content, Some(FileType::Bash))),
"cygport" => FileTypeResolver::Dynamic(|_, content| detect::sh(content, Some(FileType::Bash))),
"ebuild" => FileTypeResolver::Dynamic(|_, content| detect::sh(content, Some(FileType::Bash))),
"eclass" => FileTypeResolver::Dynamic(|_, content| detect::sh(content, Some(FileType::Bash))),
"env" => FileTypeResolver::Dynamic(|_, content| detect::sh(content, None)),
"envrc" => FileTypeResolver::Dynamic(|_, content| detect::sh(content, None)),
"ksh" => FileTypeResolver::Dynamic(|_, content| detect::sh(content, Some(FileType::Ksh))),
"sh" => FileTypeResolver::Dynamic(|_, content| detect::sh(content, None)),
"pro" => FileTypeResolver::Dynamic(|_, content| detect::proto(content, FileType::Idlang)),
"tcsh" => FileTypeResolver::Dynamic(|_, content| detect::shell(content, FileType::Tcsh)),
"t" => FileTypeResolver::Dynamic(|path, content| detect::nroff(path, content).or_else(|| detect::perl(path, content)).or(Some(FileType::Tads))),
"agda" => FileTypeResolver::Static(FileType::Agda),
"nawk" => FileTypeResolver::Static(FileType::Awk),
"mawk" => FileTypeResolver::Static(FileType::Awk),
"ash" => FileTypeResolver::Static(FileType::Bash),
"dash" => FileTypeResolver::Static(FileType::Bash),
"mksh" => FileTypeResolver::Static(FileType::Bash),
"bazelrc" => FileTypeResolver::Static(FileType::Bash),
"Renviron" => FileTypeResolver::Static(FileType::Bash),
"bashrc_Apple_Terminal" => FileTypeResolver::Static(FileType::Bash),
"zshrc_Apple_Terminal" => FileTypeResolver::Static(FileType::Bash),
"bean" => FileTypeResolver::Static(FileType::BeanCount),
"blade" => FileTypeResolver::Static(FileType::Blade),
"circom" => FileTypeResolver::Static(FileType::Circom),
"clar" => FileTypeResolver::Static(FileType::Clarity),
"clje" => FileTypeResolver::Static(FileType::Clojure),
"cljr" => FileTypeResolver::Static(FileType::Clojure),
"boot" => FileTypeResolver::Static(FileType::Clojure),
"cp" => FileTypeResolver::Static(FileType::Cpon),
"txx" => FileTypeResolver::Static(FileType::Cpp),
"h++" => FileTypeResolver::Static(FileType::Cpp),
"cylc" => FileTypeResolver::Static(FileType::Cylc),
"dd" => FileTypeResolver::Static(FileType::D),
"Containerfile" => FileTypeResolver::Static(FileType::Dockerfile),
"containerfile" => FileTypeResolver::Static(FileType::Dockerfile),
"fidl" => FileTypeResolver::Static(FileType::Fidl),
"forth" => FileTypeResolver::Static(FileType::Forth),
"fsscript" => FileTypeResolver::Static(FileType::FSharp),
"godot" => FileTypeResolver::Static(FileType::GdResource),
"gdextension" => FileTypeResolver::Static(FileType::GdResource),
"gotmpl" => FileTypeResolver::Static(FileType::Gotmpl),
"gren" => FileTypeResolver::Static(FileType::Gren),
"jenkinsfile" => FileTypeResolver::Static(FileType::Groovy),
"nomad" => FileTypeResolver::Static(FileType::Hcl),
"aspx" => FileTypeResolver::Static(FileType::Html),
"jshtm" => FileTypeResolver::Static(FileType::Html),
"volt" => FileTypeResolver::Static(FileType::Html),
"container" => FileTypeResolver::Static(FileType::ConfIni),
"volume" => FileTypeResolver::Static(FileType::ConfIni),
"kube" => FileTypeResolver::Static(FileType::ConfIni),
"network" => FileTypeResolver::Static(FileType::ConfIni),
"cgen" => FileTypeResolver::Static(FileType::JanetSimple),
"jdn" => FileTypeResolver::Static(FileType::JanetSimple),
"es6" => FileTypeResolver::Static(FileType::JavaScript),
"jinja2" => FileTypeResolver::Static(FileType::Jinja),
"j2" => FileTypeResolver::Static(FileType::Jinja),
"jsdoc" => FileTypeResolver::Static(FileType::Jsdoc),
"arb" => FileTypeResolver::Static(FileType::Json),
"gltf" => FileTypeResolver::Static(FileType::Json),
"js.map" => FileTypeResolver::Static(FileType::Json),
"ts.map" => FileTypeResolver::Static(FileType::Json),
"css.map" => FileTypeResolver::Static(FileType::Json),
"avsc" => FileTypeResolver::Static(FileType::Json),
"ldtk" => FileTypeResolver::Static(FileType::Json),
"ldtkl" => FileTypeResolver::Static(FileType::Json),
"sublime-build" => FileTypeResolver::Static(FileType::Json),
"sublime-color-scheme" => FileTypeResolver::Static(FileType::Json),
"sublime-commands" => FileTypeResolver::Static(FileType::Json),
"sublime-completions" => FileTypeResolver::Static(FileType::Json),
"sublime-keymap" => FileTypeResolver::Static(FileType::Json),
"sublime-macro" => FileTypeResolver::Static(FileType::Json),
"sublime-menu" => FileTypeResolver::Static(FileType::Json),
"sublime-mousemap" => FileTypeResolver::Static(FileType::Json),
"sublime-theme" => FileTypeResolver::Static(FileType::Json),
"code-workspace" => FileTypeResolver::Static(FileType::Json),
"kcl" => FileTypeResolver::Static(FileType::Kcl),
"kconfig" => FileTypeResolver::Static(FileType::KConfig),
"koto" => FileTypeResolver::Static(FileType::Koto),
"make" => FileTypeResolver::Static(FileType::Make),
"mdx" => FileTypeResolver::Static(FileType::Markdown),
"markdn" => FileTypeResolver::Static(FileType::Markdown),
"mdtxt" => FileTypeResolver::Static(FileType::Markdown),
"mdtext" => FileTypeResolver::Static(FileType::Markdown),
"workbook" => FileTypeResolver::Static(FileType::Markdown),
"nuon" => FileTypeResolver::Static(FileType::Nu),
"lfm" => FileTypeResolver::Static(FileType::Pascal),
"cert" => FileTypeResolver::Static(FileType::Pem),
"nqp" => FileTypeResolver::Static(FileType::Perl),
"pl6" => FileTypeResolver::Static(FileType::Perl),
"pscc" => FileTypeResolver::Static(FileType::Ps1),
"psrc" => FileTypeResolver::Static(FileType::Ps1),
"prolog" => FileTypeResolver::Static(FileType::Prolog),
"prefs" => FileTypeResolver::Static(FileType::JProperties),
"py3" => FileTypeResolver::Static(FileType::Python),
"rpy" => FileTypeResolver::Static(FileType::Python),
"pyt" => FileTypeResolver::Static(FileType::Python),
"scrbl" => FileTypeResolver::Static(FileType::Racket),
"zuo" => FileTypeResolver::Static(FileType::Racket),
"regex" => FileTypeResolver::Static(FileType::Regex),
"irb" => FileTypeResolver::Static(FileType::Ruby),
"rabl" => FileTypeResolver::Static(FileType::Ruby),
"jbuilder" => FileTypeResolver::Static(FileType::Ruby),
"jb" => FileTypeResolver::Static(FileType::Ruby),
"podspec" => FileTypeResolver::Static(FileType::Ruby),
"dsql" => FileTypeResolver::Static(FileType::Sql),
"strace" => FileTypeResolver::Static(FileType::Strace),
"tact" => FileTypeResolver::Static(FileType::Tact),
"todotxt" => FileTypeResolver::Static(FileType::Todotxt),
"typst" => FileTypeResolver::Static(FileType::Typst),
"ungrammar" => FileTypeResolver::Static(FileType::Ungrammar),
"vapi" => FileTypeResolver::Static(FileType::Vala),
"ascx" => FileTypeResolver::Static(FileType::Xml),
"axaml" => FileTypeResolver::Static(FileType::Xml),
"axml" => FileTypeResolver::Static(FileType::Xml),
"bpmn" => FileTypeResolver::Static(FileType::Xml),
"checkstyle" => FileTypeResolver::Static(FileType::Xml),
"csl" => FileTypeResolver::Static(FileType::Xml),
"csproj.user" => FileTypeResolver::Static(FileType::Xml),
"dita" => FileTypeResolver::Static(FileType::Xml),
"ditamap" => FileTypeResolver::Static(FileType::Xml),
"fods" => FileTypeResolver::Static(FileType::Xml),
"fodt" => FileTypeResolver::Static(FileType::Xml),
"fxml" => FileTypeResolver::Static(FileType::Xml),
"gir" => FileTypeResolver::Static(FileType::Xml),
"glif" => FileTypeResolver::Static(FileType::Xml),
"gml" => FileTypeResolver::Static(FileType::Xml),
"gpx" => FileTypeResolver::Static(FileType::Xml),
"iml" => FileTypeResolver::Static(FileType::Xml),
"isml" => FileTypeResolver::Static(FileType::Xml),
"itermcolors" => FileTypeResolver::Static(FileType::Xml),
"jmx" => FileTypeResolver::Static(FileType::Xml),
"kml" => FileTypeResolver::Static(FileType::Xml),
"launch" => FileTypeResolver::Static(FileType::Xml),
"menu" => FileTypeResolver::Static(FileType::Xml),
"mobileconfig" => FileTypeResolver::Static(FileType::Xml),
"musicxml" => FileTypeResolver::Static(FileType::Xml),
"mxml" => FileTypeResolver::Static(FileType::Xml),
"ncx" => FileTypeResolver::Static(FileType::Xml),
"nuspec" => FileTypeResolver::Static(FileType::Xml),
"opml" => FileTypeResolver::Static(FileType::Xml),
"osc" => FileTypeResolver::Static(FileType::Xml),
"osm" => FileTypeResolver::Static(FileType::Xml),
"plist" => FileTypeResolver::Static(FileType::Xml),
"policy" => FileTypeResolver::Static(FileType::Xml),
"publishsettings" => FileTypeResolver::Static(FileType::Xml),
"pubxml" => FileTypeResolver::Static(FileType::Xml),
"pubxml.user" => FileTypeResolver::Static(FileType::Xml),
"rbxlx" => FileTypeResolver::Static(FileType::Xml),
"rbxmx" => FileTypeResolver::Static(FileType::Xml),
"resx" => FileTypeResolver::Static(FileType::Xml),
"shproj" => FileTypeResolver::Static(FileType::Xml),
"storyboard" => FileTypeResolver::Static(FileType::Xml),
"sublime-snippet" => FileTypeResolver::Static(FileType::Xml),
"terminal" => FileTypeResolver::Static(FileType::Xml),
"tld" => FileTypeResolver::Static(FileType::Xml),
"tmx" => FileTypeResolver::Static(FileType::Xml),
"vbproj.user" => FileTypeResolver::Static(FileType::Xml),
"vcxproj" => FileTypeResolver::Static(FileType::Xml),
"vcxproj.filters" => FileTypeResolver::Static(FileType::Xml),
"wixproj" => FileTypeResolver::Static(FileType::Xml),
"wxi" => FileTypeResolver::Static(FileType::Xml),
"wxs" => FileTypeResolver::Static(FileType::Xml),
"xaml" => FileTypeResolver::Static(FileType::Xml),
"xbl" => FileTypeResolver::Static(FileType::Xml),
"xib" => FileTypeResolver::Static(FileType::Xml),
"xmp" => FileTypeResolver::Static(FileType::Xml),
"xoml" => FileTypeResolver::Static(FileType::Xml),
"xpdl" => FileTypeResolver::Static(FileType::Xml),
"xrc" => FileTypeResolver::Static(FileType::Xml),
"sublime-syntax" => FileTypeResolver::Static(FileType::Yaml),
"bu" => FileTypeResolver::Static(FileType::Yaml),
};