@@ -2,73 +2,96 @@ use anyhow::{anyhow, Result};
22
33pub fn lang_to_id ( lang_name : & str ) -> Result < i64 > {
44 match lang_name {
5- "C (GCC 9.2.1)" => Ok ( 4001 ) ,
6- "C (Clang 10.0.0)" => Ok ( 4002 ) ,
7- "C++ (GCC 9.2.1)" => Ok ( 4003 ) ,
8- "C++ (Clang 10.0.0)" => Ok ( 4004 ) ,
9- "Java (OpenJDK 11.0.6)" => Ok ( 4005 ) ,
10- "Python (3.8.2)" => Ok ( 4006 ) ,
11- "Bash (5.0.11)" => Ok ( 4007 ) ,
12- "bc (1.07.1)" => Ok ( 4008 ) ,
13- "Awk (GNU Awk 4.1.4)" => Ok ( 4009 ) ,
14- "C# (.NET Core 3.1.201)" => Ok ( 4010 ) ,
15- "C# (Mono-mcs 6.8.0.105)" => Ok ( 4011 ) ,
16- "C# (Mono-csc 3.5.0)" => Ok ( 4012 ) ,
17- "Clojure (1.10.1.536)" => Ok ( 4013 ) ,
18- "Crystal (0.33.0)" => Ok ( 4014 ) ,
19- "D (DMD 2.091.0)" => Ok ( 4015 ) ,
20- "D (GDC 9.2.1)" => Ok ( 4016 ) ,
21- "D (LDC 1.20.1)" => Ok ( 4017 ) ,
22- "Dart (2.7.2)" => Ok ( 4018 ) ,
23- "dc (1.4.1)" => Ok ( 4019 ) ,
24- "Erlang (22.3)" => Ok ( 4020 ) ,
25- "Elixir (1.10.2)" => Ok ( 4021 ) ,
26- "F# (.NET Core 3.1.201)" => Ok ( 4022 ) ,
27- "F# (Mono 10.2.3)" => Ok ( 4023 ) ,
28- "Forth (gforth 0.7.3)" => Ok ( 4024 ) ,
29- "Fortran (GNU Fortran 9.2.1)" => Ok ( 4025 ) ,
30- "Go (1.14.1)" => Ok ( 4026 ) ,
31- "Haskell (GHC 8.8.3)" => Ok ( 4027 ) ,
32- "Haxe (4.0.3); js" => Ok ( 4028 ) ,
33- "Haxe (4.0.3); Java" => Ok ( 4029 ) ,
34- "JavaScript (Node.js 12.16.1)" => Ok ( 4030 ) ,
35- "Julia (1.4.0)" => Ok ( 4031 ) ,
36- "Kotlin (1.3.71)" => Ok ( 4032 ) ,
37- "Lua (Lua 5.3.5)" => Ok ( 4033 ) ,
38- "Lua (LuaJIT 2.1.0)" => Ok ( 4034 ) ,
39- "Dash (0.5.8)" => Ok ( 4035 ) ,
40- "Nim (1.0.6)" => Ok ( 4036 ) ,
41- "Objective-C (Clang 10.0.0)" => Ok ( 4037 ) ,
42- "Common Lisp (SBCL 2.0.3)" => Ok ( 4038 ) ,
43- "OCaml (4.10.0)" => Ok ( 4039 ) ,
44- "Octave (5.2.0)" => Ok ( 4040 ) ,
45- "Pascal (FPC 3.0.4)" => Ok ( 4041 ) ,
46- "Perl (5.26.1)" => Ok ( 4042 ) ,
47- "Raku (Rakudo 2020.02.1)" => Ok ( 4043 ) ,
48- "PHP (7.4.4)" => Ok ( 4044 ) ,
49- "Prolog (SWI-Prolog 8.0.3)" => Ok ( 4045 ) ,
50- "PyPy2 (7.3.0)" => Ok ( 4046 ) ,
51- "PyPy3 (7.3.0)" => Ok ( 4047 ) ,
52- "Racket (7.6)" => Ok ( 4048 ) ,
53- "Ruby (2.7.1)" => Ok ( 4049 ) ,
54- "Rust (1.42.0)" => Ok ( 4050 ) ,
55- "Scala (2.13.1)" => Ok ( 4051 ) ,
56- "Java (OpenJDK 1.8.0)" => Ok ( 4052 ) ,
57- "Scheme (Gauche 0.9.9)" => Ok ( 4053 ) ,
58- "Standard ML (MLton 20130715)" => Ok ( 4054 ) ,
59- "Swift (5.2.1)" => Ok ( 4055 ) ,
60- "Text (cat 8.28)" => Ok ( 4056 ) ,
61- "TypeScript (3.8)" => Ok ( 4057 ) ,
62- "Visual Basic (.NET Core 3.1.101)" => Ok ( 4058 ) ,
63- "Zsh (5.4.2)" => Ok ( 4059 ) ,
64- "COBOL - Fixed (OpenCOBOL 1.1.0)" => Ok ( 4060 ) ,
65- "COBOL - Free (OpenCOBOL 1.1.0)" => Ok ( 4061 ) ,
66- "Brainfuck (bf 20041219)" => Ok ( 4062 ) ,
67- "Ada2012 (GNAT 9.2.1)" => Ok ( 4063 ) ,
68- "Unlambda (2.0.0)" => Ok ( 4064 ) ,
69- "Cython (0.29.16)" => Ok ( 4065 ) ,
70- "Sed (4.4)" => Ok ( 4066 ) ,
71- "Vim (8.2.0460)" => Ok ( 4067 ) ,
5+ "C++ 20 (gcc 12.2)" => Ok ( 5001 ) ,
6+ "Go (go 1.20.6)" => Ok ( 5002 ) ,
7+ "C# 11.0 (.NET 7.0.7)" => Ok ( 5003 ) ,
8+ "Kotlin (Kotlin/JVM 1.8.20)" => Ok ( 5004 ) ,
9+ "Java (OpenJDK 17)" => Ok ( 5005 ) ,
10+ "Nim (Nim 1.6.14)" => Ok ( 5006 ) ,
11+ "V (V 0.4)" => Ok ( 5007 ) ,
12+ "Zig (Zig 0.10.1)" => Ok ( 5008 ) ,
13+ "JavaScript (Node.js 18.16.1)" => Ok ( 5009 ) ,
14+ "JavaScript (Deno 1.35.1)" => Ok ( 5010 ) ,
15+ "R (GNU R 4.2.1)" => Ok ( 5011 ) ,
16+ "D (DMD 2.104.0)" => Ok ( 5012 ) ,
17+ "D (LDC 1.32.2)" => Ok ( 5013 ) ,
18+ "Swift (swift 5.8.1)" => Ok ( 5014 ) ,
19+ "Dart (Dart 3.0.5)" => Ok ( 5015 ) ,
20+ "PHP (php 8.2.8)" => Ok ( 5016 ) ,
21+ "C (gcc 12.2.0)" => Ok ( 5017 ) ,
22+ "Ruby (ruby 3.2.2)" => Ok ( 5018 ) ,
23+ "Crystal (Crystal 1.9.1)" => Ok ( 5019 ) ,
24+ "Brainfuck (bf 20041219)" => Ok ( 5020 ) ,
25+ "F# 7.0 (.NET 7.0.7)" => Ok ( 5021 ) ,
26+ "Julia (Julia 1.9.2)" => Ok ( 5022 ) ,
27+ "Bash (bash 5.2.2)" => Ok ( 5023 ) ,
28+ "Text (cat 8.32)" => Ok ( 5024 ) ,
29+ "Haskell (GHC 9.4.5)" => Ok ( 5025 ) ,
30+ "Fortran (gfortran 12.2)" => Ok ( 5026 ) ,
31+ "Lua (LuaJIT 2.1.0-beta3)" => Ok ( 5027 ) ,
32+ "C++ 23 (gcc 12.2)" => Ok ( 5028 ) ,
33+ "Common Lisp (SBCL 2.3.6)" => Ok ( 5029 ) ,
34+ "COBOL (Free) (GnuCOBOL 3.1.2)" => Ok ( 5030 ) ,
35+ "C++ 23 (Clang 16.0.5)" => Ok ( 5031 ) ,
36+ "Zsh (Zsh 5.9)" => Ok ( 5032 ) ,
37+ "SageMath (SageMath 9.5)" => Ok ( 5033 ) ,
38+ "Sed (GNU sed 4.8)" => Ok ( 5034 ) ,
39+ "bc (bc 1.07.1)" => Ok ( 5035 ) ,
40+ "dc (dc 1.07.1)" => Ok ( 5036 ) ,
41+ "Perl (perl 5.34)" => Ok ( 5037 ) ,
42+ "AWK (GNU Awk 5.0.1)" => Ok ( 5038 ) ,
43+ "なでしこ (cnako3 3.4.20)" => Ok ( 5039 ) ,
44+ "Assembly x64 (NASM 2.15.05)" => Ok ( 5040 ) ,
45+ "Pascal (fpc 3.2.2)" => Ok ( 5041 ) ,
46+ "C# 11.0 AOT (.NET 7.0.7)" => Ok ( 5042 ) ,
47+ "Lua (Lua 5.4.6)" => Ok ( 5043 ) ,
48+ "Prolog (SWI-Prolog 9.0.4)" => Ok ( 5044 ) ,
49+ "PowerShell (PowerShell 7.3.1)" => Ok ( 5045 ) ,
50+ "Scheme (Gauche 0.9.12)" => Ok ( 5046 ) ,
51+ "Scala 3.3.0 (Scala Native 0.4.14)" => Ok ( 5047 ) ,
52+ "Visual Basic 16.9 (.NET 7.0.7)" => Ok ( 5048 ) ,
53+ "Forth (gforth 0.7.3)" => Ok ( 5049 ) ,
54+ "Clojure (babashka 1.3.181)" => Ok ( 5050 ) ,
55+ "Erlang (Erlang 26.0.2)" => Ok ( 5051 ) ,
56+ "TypeScript 5.1 (Deno 1.35.1)" => Ok ( 5052 ) ,
57+ "C++ 17 (gcc 12.2)" => Ok ( 5053 ) ,
58+ "Rust (rustc 1.70.0)" => Ok ( 5054 ) ,
59+ "Python (CPython 3.11.4)" => Ok ( 5055 ) ,
60+ "Scala (Dotty 3.3.0)" => Ok ( 5056 ) ,
61+ "Koka (koka 2.4.0)" => Ok ( 5057 ) ,
62+ "TypeScript 5.1 (Node.js 18.16.1)" => Ok ( 5058 ) ,
63+ "OCaml (ocamlopt 5.0.0)" => Ok ( 5059 ) ,
64+ "Raku (Rakudo 2023.06)" => Ok ( 5060 ) ,
65+ "Vim (vim 9.0.0242)" => Ok ( 5061 ) ,
66+ "Emacs Lisp (Native Compile) (GNU Emacs 28.2)" => Ok ( 5062 ) ,
67+ "Python (Mambaforge / CPython 3.10.10)" => Ok ( 5063 ) ,
68+ "Clojure (clojure 1.11.1)" => Ok ( 5064 ) ,
69+ "プロデル (mono版プロデル 1.9.1182)" => Ok ( 5065 ) ,
70+ "ECLiPSe (ECLiPSe 7.1_13)" => Ok ( 5066 ) ,
71+ "Nibbles (literate form) (nibbles 1.01)" => Ok ( 5067 ) ,
72+ "Ada (GNAT 12.2)" => Ok ( 5068 ) ,
73+ "jq (jq 1.6)" => Ok ( 5069 ) ,
74+ "Cyber (Cyber v0.2-Latest)" => Ok ( 5070 ) ,
75+ "Carp (Carp 0.5.5)" => Ok ( 5071 ) ,
76+ "C++ 17 (Clang 16.0.5)" => Ok ( 5072 ) ,
77+ "C++ 20 (Clang 16.0.5)" => Ok ( 5073 ) ,
78+ "LLVM IR (Clang 16.0.5)" => Ok ( 5074 ) ,
79+ "Emacs Lisp (Byte Compile) (GNU Emacs 28.2)" => Ok ( 5075 ) ,
80+ "Factor (Factor 0.98)" => Ok ( 5076 ) ,
81+ "D (GDC 12.2)" => Ok ( 5077 ) ,
82+ "Python (PyPy 3.10-v7.3.12)" => Ok ( 5078 ) ,
83+ "Whitespace (whitespacers 1.0.0)" => Ok ( 5079 ) ,
84+ "><> (fishr 0.1.0)" => Ok ( 5080 ) ,
85+ "ReasonML (reason 3.9.0)" => Ok ( 5081 ) ,
86+ "Python (Cython 0.29.34)" => Ok ( 5082 ) ,
87+ "Octave (GNU Octave 8.2.0)" => Ok ( 5083 ) ,
88+ "Haxe (JVM) (Haxe 4.3.1)" => Ok ( 5084 ) ,
89+ "Elixir (Elixir 1.15.2)" => Ok ( 5085 ) ,
90+ "Mercury (Mercury 22.01.6)" => Ok ( 5086 ) ,
91+ "Seed7 (Seed7 3.2.1)" => Ok ( 5087 ) ,
92+ "Emacs Lisp (No Compile) (GNU Emacs 28.2)" => Ok ( 5088 ) ,
93+ "Unison (Unison M5b)" => Ok ( 5089 ) ,
94+ "COBOL (GnuCOBOL(Fixed) 3.1.2)" => Ok ( 5090 ) ,
7295 _ => Err ( anyhow ! ( "Unknown language name error." ) ) ,
7396 }
7497}
@@ -79,8 +102,8 @@ mod test {
79102
80103 #[ test]
81104 fn test_lang_to_id ( ) {
82- assert_eq ! ( 4003 , lang_to_id( "C++ (GCC 9.2.1 )" ) . unwrap( ) ) ;
83- assert_eq ! ( 4067 , lang_to_id( "Vim (8.2.0460 )" ) . unwrap( ) ) ;
105+ assert_eq ! ( 5001 , lang_to_id( "C++ 20 (gcc 12.2 )" ) . unwrap( ) ) ;
106+ assert_eq ! ( 5002 , lang_to_id( "Go (go 1.20.6 )" ) . unwrap( ) ) ;
84107 assert ! ( lang_to_id( "Vim" ) . is_err( ) ) ;
85108 }
86109}
0 commit comments