char/sorcery
static-files based git repo viewer
git clone https://git.t4t.associates/char/sorcery
595bcc7
main
1pub const VERSION : & str ="2.18.2" ; 2 3pub fn artifact ( language : & str ) ->Option <( usize , &' static str )> { 4match language{ 5"ada" =>Some (( 61180565 , 7"04ddb795cfbc68d549ee897bfa18617f13dbbfaf46829843ea9e35e80bdab8c1" , 8)), 9"agda" =>Some (( 103022238 , 11"b0b4243734d2c65a6531fa5960831bf3f0ecd03b562479c77eeaf2ea216d328b" , 12)), 13"asciidoc" =>Some (( 141196286 , 15"e5d0416c6c762f1249c19a26b61244aa9eea3e81c0b43d385deb6dca21d3a32e" , 16)), 17"asm" =>Some (( 18955782 , 19"62efa779c6e4477c509d43a3847d6ef8bd9739923b3d25462d3e711f32ac9d9f" , 20)), 21"awk" =>Some (( 221423948 , 23"1e9212052ab29b0f162ebaf24476e003c48a71c8b82797b67538ec657bed5c21" , 24)), 25"bash" =>Some (( 262189951 , 27"9ffeeaaae2246e7f7bea8bdaf22120f93effac4a8f3acc2e2190382647b2e7ca" , 28)), 29"batch" =>Some (( 301073511 , 31"428fcb7259baa5db3f961f903096c04f06017ef38a01009d7cb882b41897e206" , 32)), 33"c" =>Some (( 341369239 , 35"113cb4581b76b48da2ba5fbc566fb551dab195ec256ddd540094b3eb29042c4a" , 36)), 37"c-sharp" =>Some (( 383780203 , 39"6a4066148bc107b962e8ca532230dcd77a555c6893fe035acacd68e2f3daa91e" , 40)), 41"caddy" =>Some (( 421386228 , 43"0e141a81d9a7855d96c11d8cc9fbd49c6deb1fe2a45f8b4f7d447074bcd84e66" , 44)), 45"capnp" =>Some (( 46993759 , 47"dadd045f06e227309b67ad8f50aeb883c12d9379ab8ac1caaa64832cd5fa023b" , 48)), 49"cedar" =>Some (( 501012243 , 51"5261c7ae0515751cc438bd05a1eed200de702fcea31b6886f54f7ee515bda23e" , 52)), 53"cedarschema" =>Some (( 54957615 , 55"4852d2dbffe54807d291074c8e519bfa0c35a93406cb6dd446b53979d41550b8" , 56)), 57"clojure" =>Some (( 581008753 , 59"1a8178f6d4a0d8dff9dfbb55b0fb2e6a347efc6ea993d310a3edfa87f3d68953" , 60)), 61"cmake" =>Some (( 621014233 , 63"f52cc071c98e30d23dfa62949288f93dd12be381cc904873e21daa3bf6a00a25" , 64)), 65"cobol" =>Some (( 666298591 , 67"4f2b712e812461daa1e8fa82749cdd25bf51f4b91b09cf4ad6400cdc416feb8b" , 68)), 69"commonlisp" =>Some (( 701629046 , 71"138cce06c364ccc39f70dd2011b3d4d6a12945506374a26d9b547c84b0f5d65d" , 72)), 73"cpp" =>Some (( 743526186 , 75"2a535ea41d23257c5cc8a44ad1a51186bd445870d4013147a56b8769cf89503f" , 76)), 77"css" =>Some (( 781055728 , 79"5a97ef7f682db6ea988d2b614928f0d0349e07ffc3866e250a08f031ee12c2a7" , 80)), 81"d" =>Some (( 824044353 , 83"6ff8de8b8997eb145820ac2a7fcb04b74b80546340d53821074694615d3aca67" , 84)), 85"dart" =>Some (( 861620290 , 87"76856586b4eec2af702981f2bf3602e85fe16be78229eff9021b49221f9fe279" , 88)), 89"devicetree" =>Some (( 901085320 , 91"9f3be12d071bd3110c5a590e27dcb20db6675b248d44f13935c62033b165459d" , 92)), 93"diff" =>Some (( 94949154 , 95"1c9930f2b96cf4143537332b2363ad72672f0b8b37830d00920c99272d3dddbc" , 96)), 97"dockerfile" =>Some (( 98975987 , 99"30209187949681b96ad0c761bf369d0bf6ddba25c2a928869432bf255bc4c60f" , 100)), 101"dot" =>Some (( 102953907 , 103"7819e2e18c716df2f7c1ea4739c4acffc04522da86e716b86285d8501ad9bb41" , 104)), 105"elisp" =>Some (( 106961934 , 107"54372e28e5cb656fff43f2f991e662abac4731c476b73c4f740a939d85c87d38" , 108)), 109"elixir" =>Some (( 1102342431 , 111"3ebdac31c0e06ed056c2cdb68461267c3aa38780bdb8ae472230f4ee75564259" , 112)), 113"elm" =>Some (( 1141101651 , 115"7e940515a771eb9628eeca901198806abc9dd6e3680f8d19a30ae53d73ad4726" , 116)), 117"erlang" =>Some (( 1181215382 , 119"0483b4cb87878c80982dc98ccdda33800a2830ca3c738095c6ddf7ba161f2d34" , 120)), 121"fish" =>Some (( 122993837 , 123"4b91b7f192b262a04cf332537a2880cfd8eb99bce9fb170c662149cbe58ce18c" , 124)), 125"fsharp" =>Some (( 1264149576 , 127"40b457abad845651b1b2a6e2261f4f2b0dcd83a817018ee5a00514905adc4b1b" , 128)), 129"gitattributes" =>Some (( 130948786 , 131"e49f25b0a5c5b5b99a28df2d6bca35965cafeec660d8098949c5878cbad0c99d" , 132)), 133"gleam" =>Some (( 1341329356 , 135"8d6f33add8239f20cd01922265aed58d00edd1c451d6e99aa3f8a4b346357ae9" , 136)), 137"glsl" =>Some (( 1381499154 , 139"556124745763b101d6019b882a1cde0644c0be8dc29e90031dcf7f095ff2f85f" , 140)), 141"go" =>Some (( 1421135258 , 143"463a15deb2edf3b9f3856a6cd677ea4e27d4ed1f427c1e28ef0e5a25c925b613" , 144)), 145"graphql" =>Some (( 146984858 , 147"2485aef46e0e88d6bbc2f75d753a9ace01edd0b87fd07802420d37be9828348f" , 148)), 149"groovy" =>Some (( 1501542109 , 151"0f5e610f2188e56f68b34ddfd5058990bee9cc33be61ee86606350ae0cf4ac07" , 152)), 153"haskell" =>Some (( 1543081220 , 155"09d853c618d6b261bd3ec68b517c325063daf082871d4e2f93cfa3176819df90" , 156)), 157"hcl" =>Some (( 1581019375 , 159"cd7847e24bdbb7b8c6b1c54ec32516d04d476fd6420d3a6588393a94f418c31e" , 160)), 161"hlsl" =>Some (( 1623771606 , 163"c51492ff7aabc15bcb4790d4ba065ad8f27122cca3b31df0fc75eba6359f981b" , 164)), 165"html" =>Some (( 166946396 , 167"26188f4e56215bc02129b31dae091f968e817b5bc383548e18d5428544ecb06f" , 168)), 169"idris" =>Some (( 1702354626 , 171"28cc23922bfad68efdf8d77fc3a7977c56e8d2c041ef567097227b8fd813d78c" , 172)), 173"ini" =>Some (( 174933499 , 175"adbef8297d0838bd48146051e1a3119d6240c4bdbf87f3390ae11fc4d2f3ff81" , 176)), 177"java" =>Some (( 1781208378 , 179"c110f752747013ec2604bab1532a86591f2d2b939aad5d8af61d2bb61d46ed14" , 180)), 181"javascript" =>Some (( 1821262729 , 183"63850e59d4c059edac638f8b9d339ac568944593b2e76b151b7955590f3e74db" , 184)), 185"jinja2" =>Some (( 186941545 , 187"e5fbb8a7eedecbe6345122545d375ec10c8c5bb90af0ee18c201487e356ccfc3" , 188)), 189"jq" =>Some (( 1901023788 , 191"a917ee166b3f0893d2b0b4fc48b12f9ddc75c179f5cac2cef1748af0851fa578" , 192)), 193"jsdoc" =>Some (( 194958427 , 195"743b7b37cd1dbd7241eb1352884450f5a167f529d79c59747865d6f26cbc0095" , 196)), 197"json" =>Some (( 198934592 , 199"3c2172f176687106db77f04dc5ade071e8f6e5c42066e7200b317dd45ff2a375" , 200)), 201"julia" =>Some (( 2022873312 , 203"dd11c813ce733b034678219acf6c997233898b7fbea1cf6ce115d55a14150a61" , 204)), 205"just" =>Some (( 206979125 , 207"7fbbb688db5a05d4dc025837d466c7624f88b244c6ca1d50f941c6ee13de16a9" , 208)), 209"kconfig" =>Some (( 210983005 , 211"02030e846565bfe1687a93034c41901f183d4818b3792138956f163b01b674e6" , 212)), 213"kdl" =>Some (( 214994781 , 215"18601d1ea0b4f96d6f4a360f308e2d731eade43f654aa37bc4c76f535d0de611" , 216)), 217"kotlin" =>Some (( 2184065274 , 219"6beb95f876b947bcad1cf5c01c0b11c15d2c4421bcba04ce2d53387fabf2086c" , 220)), 221"lean" =>Some (( 22215179599 , 223"3ba04ec2626fadc5cc3778ecdfab2054f02f3dd758dd782689f4389ca23c805f" , 224)), 225"lua" =>Some (( 226977747 , 227"4553556759358b5f8ac34cdfed6f82da855f004d1b06e9cb63eaebf3f8d58ac2" , 228)), 229"make" =>Some (( 2301069502 , 231"3cb8479db980596ea229dc7e1a50219e79e5e54517a3688561bdb36ba826f5a2" , 232)), 233"markdown" =>Some (( 2341233242 , 235"952a979343d0144fbdac518d5d0d6404312d0f7ad74e25a197be9cf3bd334ee4" , 236)), 237"matlab" =>Some (( 2381279236 , 239"050f8aa2a4462631ec8dcae2504086270190d32bae741f2b35d91336e18b8702" , 240)), 241"meson" =>Some (( 2421040115 , 243"cf7c7c5c07968a30f84bfd005630b1315a45220b1ed37ea08a4434a5886eed62" , 244)), 245"nginx" =>Some (( 246966328 , 247"7562b504b0213f631d5ac6b9bbf847a7d0938b514e516b336d148374ac2c223a" , 248)), 249"ninja" =>Some (( 250960432 , 251"4a86eafeda4963f73b01f181523170ce334ca50c29782a121a9cd741df9e6500" , 252)), 253"nix" =>Some (( 2541011972 , 255"5e34d178342232c082b492798cec6a94a41f7fea869e96ab6f895aca4879967e" , 256)), 257"objc" =>Some (( 2583179021 , 259"49681944578a9e36f955da6a8648b00c5e7e38dcd065b1ee7318c1fd339d9a7f" , 260)), 261"ocaml" =>Some (( 2622457345 , 263"d7ce429bb88b530f1aa8ddbbe504ec715b23218afb96b69d5f388515d96280a8" , 264)), 265"odin" =>Some (( 2662509054 , 267"4ac682f9b12c0a560b993f36e0015bb207a9ea4ead4df8361815067c80e5fdb4" , 268)), 269"perl" =>Some (( 2702479922 , 271"71354540d41528eabd3e27de750193cee26199de8e93601aac502b6c50ea3dbd" , 272)), 273"php" =>Some (( 2741611597 , 275"6ce9c56401aa8b30f713d897991210ca7d455858c49c8276ff6973fc14ce44aa" , 276)), 277"postscript" =>Some (( 278938523 , 279"99f95c94d88e7fe38e4578dc0bdbd3b2008f2ca4ac28bf4cd623967d9dd28bac" , 280)), 281"powershell" =>Some (( 2821657956 , 283"074574d5791b956b32b0a5073a491a2d0e7cd5cd2d365a3d0e1de679fc889f25" , 284)), 285"prolog" =>Some (( 286944395 , 287"d76316fe4a327032d48587f37b6b459d6cfccc1cb23367ecbaa2a9a2b5524c8c" , 288)), 289"proto" =>Some (( 2901006657 , 291"e5ec2be4a253b10c21f1c631f5733e07c44a6b951da30845b6fdf70d174c6bec" , 292)), 293"python" =>Some (( 2941345718 , 295"a952e9f349fb441fd70f58fae01a1f543d1b07bc85a05f96233e00c0c35f7263" , 296)), 297"query" =>Some (( 298947478 , 299"87e77c33e2f443c1e371aded82d557e20f76ef8506bfc62a266d9408ea26b24c" , 300)), 301"r" =>Some (( 3021375758 , 303"baa5c32963ff40fa0e5e39bbcedba1a2cf928302b61191ca4e3d08559760ad4e" , 304)), 305"regex" =>Some (( 306949532 , 307"266bdc59e69d87f2aff2267d4398546c46a14eff26b964c5eb665ee3d46416e2" , 308)), 309"rego" =>Some (( 3101050559 , 311"5182fa15e18fcc16f65f22ab79f91b75d11c724f0dc5b7d0ac7e2fe4e1cf3a51" , 312)), 313"rescript" =>Some (( 3141614855 , 315"672b2a29aa120c15f71ad3b45832837b13dc33012916650235f1273bec155db6" , 316)), 317"ron" =>Some (( 318953729 , 319"b3636f00a4c28969a1813b789d3729d59944b7c8676a2f8bc6c4fe38ccccf8c4" , 320)), 321"ruby" =>Some (( 3222524595 , 323"a6d2d755dd5538f8398c71e254c0a22578382d69cdeb72026380663ca914fe04" , 324)), 325"rust" =>Some (( 3262174209 , 327"23082cdeeab932eadd084c8df49098dc9142d26da9791b981243f1d511326546" , 328)), 329"scala" =>Some (( 3304115142 , 331"738933c1fc34f4bf0a5cff6b76494104e246144d26a2eda238135e9dfb36618a" , 332)), 333"scheme" =>Some (( 3341033643 , 335"e3b024007ba0f051bf2eefa8bb405a042edfef55abcb6917c1f8be6c5fd8f9e7" , 336)), 337"scss" =>Some (( 3381107833 , 339"39390b75a8f174231891a27bfa0844f7bfd81e048a9479faafcb382200cbc627" , 340)), 341"solidity" =>Some (( 3421180330 , 343"cf844894e2c410b4467454304932edb15cb7c38bff1d51ed3cbbe519436931f6" , 344)), 345"sparql" =>Some (( 3461113026 , 347"d26cb22b6ae7f980cffb32261e554efcc881ebd685a557b41715cd8a967db09d" , 348)), 349"sql" =>Some (( 3505382122 , 351"f85f66a653afe1bd14cff8011f683887945a85847a0cc2bf148374702ca454ee" , 352)), 353"ssh-config" =>Some (( 3541131130 , 355"7827ccc835bb805c4a9b54f98afccb3cf12b27dc126e79fffd4d384156e5b486" , 356)), 357"starlark" =>Some (( 3581024220 , 359"e2178390e3c8e6a17d627ebc8e018399292c553671de05e5f9465fc2e54a4226" , 360)), 361"styx" =>Some (( 362964980 , 363"860e3f83c8874e0955f6ddbf9fafd0204c7265dbc6f59bbdad1879c7c343687b" , 364)), 365"svelte" =>Some (( 366974499 , 367"1a2cefaface9077af8c314f874dedaa15491fd80e69fc84f664eba667bc1d9ce" , 368)), 369"swift" =>Some (( 3702962439 , 371"f212e1a0dc161f7413da9028e1cfcfd4a9ebc74a6146230b229a06c015029cfd" , 372)), 373"textproto" =>Some (( 374945817 , 375"705980ae80cb3e3ae120d53512872908da0ef631dd817429f334a935a0e12537" , 376)), 377"thrift" =>Some (( 3781040206 , 379"50a01390fbb2d1982845140ccc96560b74d398084b603c14ab4654702ec596f5" , 380)), 381"tlaplus" =>Some (( 3823591672 , 383"d1b8eafd60bdd4ec6340cae45630378b09a54ed108f26c87b6c65293c57b1b46" , 384)), 385"toml" =>Some (( 386953185 , 387"e7af1a38febfd572e0ad89644165cef8bc7a996796ab244c2b7b1db09bb933eb" , 388)), 389"tsx" =>Some (( 3901937369 , 391"a5ec1393d88d958606295b7eebee60a945955c3aae643642f93fdf6abdf1a388" , 392)), 393"typescript" =>Some (( 3941904608 , 395"dafcf84529307416d5f743fb1569d08c3e104751c7c26e51ce61b4296cbe7131" , 396)), 397"typst" =>Some (( 3981560168 , 399"2d9a16d564d67e40865c45e61b467bac7032f9269f3744aee7ff340a11b1af05" , 400)), 401"uiua" =>Some (( 4021206592 , 403"5a07f06a7aafee3a4a6e94f8867ab074de0c80a633bc8df8bf3f5d598a458ab8" , 404)), 405"vb" =>Some (( 4062028890 , 407"bb8d688e1fd0f3f5e9e7813e8842393a26c3a2daf232cd0698addc3861ef917f" , 408)), 409"verilog" =>Some (( 41013471327 , 411"1a24834c14cda83b6db374c7d7a6ca2343f424191091c4029fb0cd3927a1dde2" , 412)), 413"vhdl" =>Some (( 4142015933 , 415"508ab1e9a75d7cf5c2c89b938e35ada2357dc456a97039a3625354c963723021" , 416)), 417"vim" =>Some (( 4181969694 , 419"5dc641ae623882695d866f94b61e0d46f5f66b9eaa5e6d74e517f2a818c76458" , 420)), 421"vue" =>Some (( 422958996 , 423"ad5b1f0a427ae6d9510390cd079bcc9113286db1b133a2c12b50a560ec1cda74" , 424)), 425"wit" =>Some (( 4261001355 , 427"a78aecbec43ad2c3f09d38256aedcbca4320e2f999444044052c159e2ca18759" , 428)), 429"x86asm" =>Some (( 430960388 , 431"3f8b3f11fd415f65b9d8f0b5328f100ef533a633869e2f35733b90bc5a453651" , 432)), 433"xml" =>Some (( 434975694 , 435"9bc4f9ddde44b47b082d9df6c1c7ffb5956872f82348fc60df1cc71efbe0ec7e" , 436)), 437"yaml" =>Some (( 4381086189 , 439"de537a8cc986bc4a0b96504498d79e6b745285afc25ddace54a2e32b68712e0b" , 440)), 441"yuri" =>Some (( 4421081656 , 443"f62b5559dfa745bb24b7fdc8d0495c20d745f926a768885f5c3fc62d7e6b827c" , 444)), 445"zig" =>Some (( 4461534700 , 447"07af247f8a06205d0e7c97e46a9854a91e806cce9e6d3d2ba537de523aa3b3cb" , 448)), 449"zsh" =>Some (( 4501031426 , 451"ee4bbc13cf97c2d1468cf0afcb4338c54e7e771e7fd5ceb9b80cafe54c02d8e8" , 452)), 453 _ =>None , 454} 455} 456 457pub fn detect ( path : & str ) ->Option < &' static str > { 458let name = path. rsplit ([ '/' , '\\' ]). next (). unwrap_or ( path); 459let extension = name. rsplit ( '.' ). next (). unwrap_or ( name); 460canonical ( name). or_else ( ||canonical ( extension)) 461} 462 463/// Resolves a file name, extension, or code fence identifier to a grammar. 464pub fn canonical ( name : & str ) ->Option < &' static str > { 465Some ( match name. to_lowercase (). as_str () { 466"ada" =>"ada" , 467"adb" =>"ada" , 468"adoc" =>"asciidoc" , 469"ads" =>"ada" , 470"agda" =>"agda" , 471"asciidoc" =>"asciidoc" , 472"asm" =>"asm" , 473"assembly" =>"asm" , 474"awk" =>"awk" , 475"bash" =>"bash" , 476"bash_profile" =>"bash" , 477"bashrc" =>"bash" , 478"bat" =>"batch" , 479"batch" =>"batch" , 480"bazel" =>"starlark" , 481"bzl" =>"starlark" , 482"c" =>"c" , 483"c#" =>"c-sharp" , 484"c++" =>"cpp" , 485"c-sharp" =>"c-sharp" , 486"caddy" =>"caddy" , 487"caddyfile" =>"caddy" , 488"capnp" =>"capnp" , 489"cbl" =>"cobol" , 490"cc" =>"cpp" , 491"cedar" =>"cedar" , 492"cedarschema" =>"cedarschema" , 493"cfg" =>"ini" , 494"cjs" =>"javascript" , 495"cl" =>"commonlisp" , 496"clj" =>"clojure" , 497"cljc" =>"clojure" , 498"cljs" =>"clojure" , 499"clojure" =>"clojure" , 500"cmake" =>"cmake" , 501"cmakelists.txt" =>"cmake" , 502"cmd" =>"batch" , 503"cob" =>"cobol" , 504"cobol" =>"cobol" , 505"commonlisp" =>"commonlisp" , 506"conf" =>"ini" , 507"console" =>"bash" , 508"containerfile" =>"dockerfile" , 509"cpp" =>"cpp" , 510"cpy" =>"cobol" , 511"cs" =>"c-sharp" , 512"csharp" =>"c-sharp" , 513"csproj" =>"xml" , 514"css" =>"css" , 515"cts" =>"typescript" , 516"cxx" =>"cpp" , 517"d" =>"d" , 518"dart" =>"dart" , 519"devicetree" =>"devicetree" , 520"diff" =>"diff" , 521"dlang" =>"d" , 522"docker" =>"dockerfile" , 523"dockerfile" =>"dockerfile" , 524"dot" =>"dot" , 525"dts" =>"devicetree" , 526"dtsi" =>"devicetree" , 527"editorconfig" =>"ini" , 528"edn" =>"clojure" , 529"el" =>"elisp" , 530"elisp" =>"elisp" , 531"elixir" =>"elixir" , 532"elm" =>"elm" , 533"emacs-lisp" =>"elisp" , 534"erl" =>"erlang" , 535"erlang" =>"erlang" , 536"ex" =>"elixir" , 537"exs" =>"elixir" , 538"f#" =>"fsharp" , 539"fish" =>"fish" , 540"frag" =>"glsl" , 541"fs" =>"fsharp" , 542"fsharp" =>"fsharp" , 543"fsx" =>"fsharp" , 544"gemfile" =>"ruby" , 545"gemspec" =>"ruby" , 546"gitattributes" =>"gitattributes" , 547"gitconfig" =>"ini" , 548"gitmodules" =>"ini" , 549"gleam" =>"gleam" , 550"glsl" =>"glsl" , 551"gnumakefile" =>"make" , 552"go" =>"go" , 553"golang" =>"go" , 554"gql" =>"graphql" , 555"gradle" =>"groovy" , 556"graphql" =>"graphql" , 557"graphviz" =>"dot" , 558"groovy" =>"groovy" , 559"gsh" =>"groovy" , 560"gv" =>"dot" , 561"gvy" =>"groovy" , 562"gy" =>"groovy" , 563"h" =>"c" , 564"haskell" =>"haskell" , 565"hcl" =>"hcl" , 566"hh" =>"cpp" , 567"hlsl" =>"hlsl" , 568"hpp" =>"cpp" , 569"hrl" =>"erlang" , 570"hs" =>"haskell" , 571"htm" =>"html" , 572"html" =>"html" , 573"hxx" =>"cpp" , 574"idr" =>"idris" , 575"idris" =>"idris" , 576"ini" =>"ini" , 577"j2" =>"jinja2" , 578"java" =>"java" , 579"javascript" =>"javascript" , 580"jinja" =>"jinja2" , 581"jinja2" =>"jinja2" , 582"jl" =>"julia" , 583"jq" =>"jq" , 584"js" =>"javascript" , 585"jsdoc" =>"jsdoc" , 586"json" =>"json" , 587"json5" =>"json" , 588"jsonc" =>"json" , 589"jsx" =>"javascript" , 590"julia" =>"julia" , 591"just" =>"just" , 592"justfile" =>"just" , 593"kconfig" =>"kconfig" , 594"kdl" =>"kdl" , 595"kotlin" =>"kotlin" , 596"kt" =>"kotlin" , 597"kts" =>"kotlin" , 598"lean" =>"lean" , 599"lisp" =>"commonlisp" , 600"lua" =>"lua" , 601"m" =>"matlab" , 602"make" =>"make" , 603"makefile" =>"make" , 604"markdown" =>"markdown" , 605"matlab" =>"matlab" , 606"md" =>"markdown" , 607"mdx" =>"markdown" , 608"meson" =>"meson" , 609"meson.build" =>"meson" , 610"mjs" =>"javascript" , 611"mk" =>"make" , 612"ml" =>"ocaml" , 613"mli" =>"ocaml" , 614"mm" =>"objc" , 615"mts" =>"typescript" , 616"mysql" =>"sql" , 617"nasm" =>"x86asm" , 618"nginx" =>"nginx" , 619"nginx.conf" =>"nginx" , 620"ninja" =>"ninja" , 621"nix" =>"nix" , 622"objc" =>"objc" , 623"objective-c" =>"objc" , 624"objectivec" =>"objc" , 625"ocaml" =>"ocaml" , 626"odin" =>"odin" , 627"opa" =>"rego" , 628"patch" =>"diff" , 629"pbtxt" =>"textproto" , 630"perl" =>"perl" , 631"pgsql" =>"sql" , 632"php" =>"php" , 633"pl" =>"perl" , 634"plist" =>"xml" , 635"plsql" =>"sql" , 636"pm" =>"perl" , 637"postgres" =>"sql" , 638"postgresql" =>"sql" , 639"postscript" =>"postscript" , 640"powershell" =>"powershell" , 641"pro" =>"prolog" , 642"prolog" =>"prolog" , 643"proto" =>"proto" , 644"protobuf" =>"proto" , 645"ps" =>"postscript" , 646"ps1" =>"powershell" , 647"psm1" =>"powershell" , 648"pwsh" =>"powershell" , 649"py" =>"python" , 650"py3" =>"python" , 651"pyi" =>"python" , 652"python" =>"python" , 653"python3" =>"python" , 654"query" =>"query" , 655"r" =>"r" , 656"racket" =>"scheme" , 657"rakefile" =>"ruby" , 658"rb" =>"ruby" , 659"regex" =>"regex" , 660"regexp" =>"regex" , 661"rego" =>"rego" , 662"res" =>"rescript" , 663"rescript" =>"rescript" , 664"rkt" =>"scheme" , 665"rlang" =>"r" , 666"ron" =>"ron" , 667"rq" =>"sparql" , 668"rs" =>"rust" , 669"ruby" =>"ruby" , 670"rust" =>"rust" , 671"s" =>"asm" , 672"sass" =>"scss" , 673"sbt" =>"scala" , 674"scala" =>"scala" , 675"scheme" =>"scheme" , 676"scm" =>"query" , 677"scss" =>"scss" , 678"sh" =>"bash" , 679"shell" =>"bash" , 680"sol" =>"solidity" , 681"solidity" =>"solidity" , 682"sparql" =>"sparql" , 683"sql" =>"sql" , 684"sqlite" =>"sql" , 685"ss" =>"scheme" , 686"ssh-config" =>"ssh-config" , 687"ssh_config" =>"ssh-config" , 688"sshd_config" =>"ssh-config" , 689"starlark" =>"starlark" , 690"styx" =>"styx" , 691"sv" =>"verilog" , 692"svelte" =>"svelte" , 693"svg" =>"xml" , 694"swift" =>"swift" , 695"systemverilog" =>"verilog" , 696"terraform" =>"hcl" , 697"textpb" =>"textproto" , 698"textproto" =>"textproto" , 699"tf" =>"hcl" , 700"tfvars" =>"hcl" , 701"thrift" =>"thrift" , 702"tla" =>"tlaplus" , 703"tlaplus" =>"tlaplus" , 704"toml" =>"toml" , 705"ts" =>"typescript" , 706"tsql" =>"sql" , 707"tsx" =>"tsx" , 708"typ" =>"typst" , 709"typescript" =>"typescript" , 710"typst" =>"typst" , 711"ua" =>"uiua" , 712"uiua" =>"uiua" , 713"v" =>"verilog" , 714"vb" =>"vb" , 715"vbnet" =>"vb" , 716"verilog" =>"verilog" , 717"vert" =>"glsl" , 718"vhd" =>"vhdl" , 719"vhdl" =>"vhdl" , 720"vim" =>"vim" , 721"viml" =>"vim" , 722"vimrc" =>"vim" , 723"vimscript" =>"vim" , 724"visualbasic" =>"vb" , 725"vue" =>"vue" , 726"wasm-interface" =>"wit" , 727"wit" =>"wit" , 728"x86" =>"x86asm" , 729"x86asm" =>"x86asm" , 730"xhtml" =>"html" , 731"xml" =>"xml" , 732"xsd" =>"xml" , 733"xsl" =>"xml" , 734"xslt" =>"xml" , 735"yaml" =>"yaml" , 736"yml" =>"yaml" , 737"yuri" =>"yuri" , 738"zig" =>"zig" , 739"zon" =>"zig" , 740"zsh" =>"zsh" , 741"zshrc" =>"zsh" , 742 _ =>return None , 743}) 744} 745 746# [ cfg ( test )] 747mod tests{ 748use super ::{ canonical, detect}; 749 750# [ test ] 751fn detects_language_from_path () { 752assert_eq! ( detect ( "src/main.rs" ), Some ( "rust" )); 753assert_eq! ( detect ( "Dockerfile" ), Some ( "dockerfile" )); 754assert_eq! ( detect ( "src/Makefile" ), Some ( "make" )); 755assert_eq! ( detect ( "CMakeLists.txt" ), Some ( "cmake" )); 756assert_eq! ( detect ( "README" ), None ); 757} 758 759# [ test ] 760fn resolves_fence_identifiers () { 761assert_eq! ( canonical ( "sh" ), Some ( "bash" )); 762assert_eq! ( canonical ( "C++" ), Some ( "cpp" )); 763assert_eq! ( canonical ( "" ), None ); 764} 765}