github_trending_rs/
params.rs

1// parameters for requesting github trending information
2
3/// trait for trending parameters like language, period,
4/// used for constructing request
5pub trait Param: Sized {
6    fn name() -> &'static str;
7    fn value(&self) -> &'static str;
8    fn query(&self) -> (&'static str, &'static str) {
9        (Self::name(), self.value())
10    }
11}
12
13/// trending period
14#[non_exhaustive]
15#[derive(Clone, Copy, Debug)]
16pub enum Since {
17    Daily,
18    Weekly,
19    Monthly,
20}
21
22impl Param for Since {
23    fn name() -> &'static str {
24        "since"
25    }
26
27    fn value(&self) -> &'static str {
28        match self {
29            Since::Daily => "daily",
30            Since::Weekly => "weekly",
31            Since::Monthly => "monthly",
32        }
33    }
34}
35
36/// Spoken language of repository
37#[non_exhaustive]
38#[derive(Clone, Copy, Debug)]
39pub enum SpokenLanguage {
40    Abkhazian,
41    Afar,
42    Afrikaans,
43    Akan,
44    Albanian,
45    Amharic,
46    Arabic,
47    Aragonese,
48    Armenian,
49    Assamese,
50    Avaric,
51    Avestan,
52    Aymara,
53    Azerbaijani,
54    Bambara,
55    Bashkir,
56    Basque,
57    Belarusian,
58    Bengali,
59    Bihari,
60    Bislama,
61    Bosnian,
62    Breton,
63    Bulgarian,
64    Burmese,
65    Catalan,
66    Chamorro,
67    Chechen,
68    Chichewa,
69    Chinese,
70    Chuvash,
71    Cornish,
72    Corsican,
73    Cree,
74    Croatian,
75    Czech,
76    Danish,
77    Divehi,
78    Dutch,
79    Dzongkha,
80    English,
81    Esperanto,
82    Estonian,
83    Ewe,
84    Faroese,
85    Fijian,
86    Finnish,
87    French,
88    Fulah,
89    Galician,
90    Georgian,
91    German,
92    Greek,
93    Guarani,
94    Gujarati,
95    Haitian,
96    Hausa,
97    Hebrew,
98    Herero,
99    Hindi,
100    HiriMotu,
101    Hungarian,
102    Interlingua,
103    Indonesian,
104    Interlingue,
105    Irish,
106    Igbo,
107    Inupiaq,
108    Ido,
109    Icelandic,
110    Italian,
111    Inuktitut,
112    Japanese,
113    Javanese,
114    Kalaallisut,
115    Kannada,
116    Kanuri,
117    Kashmiri,
118    Kazakh,
119    CentralKhmer,
120    Kikuyu,
121    Kinyarwanda,
122    Kirghiz,
123    Komi,
124    Kongo,
125    Korean,
126    Kurdish,
127    Kuanyama,
128    Latin,
129    Luxembourgish,
130    Ganda,
131    Limburgan,
132    Lingala,
133    Lao,
134    Lithuanian,
135    LubaKatanga,
136    Latvian,
137    Manx,
138    Macedonian,
139    Malagasy,
140    Malay,
141    Malayalam,
142    Maltese,
143    Maori,
144    Marathi,
145    Marshallese,
146    Mongolian,
147    Nauru,
148    Navajo,
149    NorthNdebele,
150    Nepali,
151    Ndonga,
152    NorwegianBokmål,
153    NorwegianNynorsk,
154    Norwegian,
155    SichuanYi,
156    SouthNdebele,
157    Occitan,
158    Ojibwa,
159    ChurchSlavic,
160    Oromo,
161    Oriya,
162    Ossetian,
163    Punjabi,
164    Pali,
165    Persian,
166    Polish,
167    Pashto,
168    Portuguese,
169    Quechua,
170    Romansh,
171    Rundi,
172    Romanian,
173    Russian,
174    Sanskrit,
175    Sardinian,
176    Sindhi,
177    NorthernSami,
178    Samoan,
179    Sango,
180    Serbian,
181    Gaelic,
182    Shona,
183    Sinhala,
184    Slovak,
185    Slovenian,
186    Somali,
187    SouthernSotho,
188    Spanish,
189    Sundanese,
190    Swahili,
191    Swati,
192    Swedish,
193    Tamil,
194    Telugu,
195    Tajik,
196    Thai,
197    Tigrinya,
198    Tibetan,
199    Turkmen,
200    Tagalog,
201    Tswana,
202    Tonga,
203    Turkish,
204    Tsonga,
205    Tatar,
206    Twi,
207    Tahitian,
208    Uighur,
209    Ukrainian,
210    Urdu,
211    Uzbek,
212    Venda,
213    Vietnamese,
214    Volapük,
215    Walloon,
216    Welsh,
217    Wolof,
218    WesternFrisian,
219    Xhosa,
220    Yiddish,
221    Yoruba,
222    Zhuang,
223    Zulu,
224}
225
226impl Param for SpokenLanguage {
227    fn name() -> &'static str {
228        "spoken_language_code"
229    }
230
231    fn value(&self) -> &'static str {
232        match self {
233            SpokenLanguage::Abkhazian => "ab",
234            SpokenLanguage::Afar => "aa",
235            SpokenLanguage::Afrikaans => "af",
236            SpokenLanguage::Akan => "ak",
237            SpokenLanguage::Albanian => "sq",
238            SpokenLanguage::Amharic => "am",
239            SpokenLanguage::Arabic => "ar",
240            SpokenLanguage::Aragonese => "an",
241            SpokenLanguage::Armenian => "hy",
242            SpokenLanguage::Assamese => "as",
243            SpokenLanguage::Avaric => "av",
244            SpokenLanguage::Avestan => "ae",
245            SpokenLanguage::Aymara => "ay",
246            SpokenLanguage::Azerbaijani => "az",
247            SpokenLanguage::Bambara => "bm",
248            SpokenLanguage::Bashkir => "ba",
249            SpokenLanguage::Basque => "eu",
250            SpokenLanguage::Belarusian => "be",
251            SpokenLanguage::Bengali => "bn",
252            SpokenLanguage::Bihari => "bh",
253            SpokenLanguage::Bislama => "bi",
254            SpokenLanguage::Bosnian => "bs",
255            SpokenLanguage::Breton => "br",
256            SpokenLanguage::Bulgarian => "bg",
257            SpokenLanguage::Burmese => "my",
258            SpokenLanguage::Catalan => "ca",
259            SpokenLanguage::Chamorro => "ch",
260            SpokenLanguage::Chechen => "ce",
261            SpokenLanguage::Chichewa => "ny",
262            SpokenLanguage::Chinese => "zh",
263            SpokenLanguage::Chuvash => "cv",
264            SpokenLanguage::Cornish => "kw",
265            SpokenLanguage::Corsican => "co",
266            SpokenLanguage::Cree => "cr",
267            SpokenLanguage::Croatian => "hr",
268            SpokenLanguage::Czech => "cs",
269            SpokenLanguage::Danish => "da",
270            SpokenLanguage::Divehi => "dv",
271            SpokenLanguage::Dutch => "nl",
272            SpokenLanguage::Dzongkha => "dz",
273            SpokenLanguage::English => "en",
274            SpokenLanguage::Esperanto => "eo",
275            SpokenLanguage::Estonian => "et",
276            SpokenLanguage::Ewe => "ee",
277            SpokenLanguage::Faroese => "fo",
278            SpokenLanguage::Fijian => "fj",
279            SpokenLanguage::Finnish => "fi",
280            SpokenLanguage::French => "fr",
281            SpokenLanguage::Fulah => "ff",
282            SpokenLanguage::Galician => "gl",
283            SpokenLanguage::Georgian => "ka",
284            SpokenLanguage::German => "de",
285            SpokenLanguage::Greek => "el",
286            SpokenLanguage::Guarani => "gn",
287            SpokenLanguage::Gujarati => "gu",
288            SpokenLanguage::Haitian => "ht",
289            SpokenLanguage::Hausa => "ha",
290            SpokenLanguage::Hebrew => "he",
291            SpokenLanguage::Herero => "hz",
292            SpokenLanguage::Hindi => "hi",
293            SpokenLanguage::HiriMotu => "ho",
294            SpokenLanguage::Hungarian => "hu",
295            SpokenLanguage::Interlingua => "ia",
296            SpokenLanguage::Indonesian => "id",
297            SpokenLanguage::Interlingue => "ie",
298            SpokenLanguage::Irish => "ga",
299            SpokenLanguage::Igbo => "ig",
300            SpokenLanguage::Inupiaq => "ik",
301            SpokenLanguage::Ido => "io",
302            SpokenLanguage::Icelandic => "is",
303            SpokenLanguage::Italian => "it",
304            SpokenLanguage::Inuktitut => "iu",
305            SpokenLanguage::Japanese => "ja",
306            SpokenLanguage::Javanese => "jv",
307            SpokenLanguage::Kalaallisut => "kl",
308            SpokenLanguage::Kannada => "kn",
309            SpokenLanguage::Kanuri => "kr",
310            SpokenLanguage::Kashmiri => "ks",
311            SpokenLanguage::Kazakh => "kk",
312            SpokenLanguage::CentralKhmer => "km",
313            SpokenLanguage::Kikuyu => "ki",
314            SpokenLanguage::Kinyarwanda => "rw",
315            SpokenLanguage::Kirghiz => "ky",
316            SpokenLanguage::Komi => "kv",
317            SpokenLanguage::Kongo => "kg",
318            SpokenLanguage::Korean => "ko",
319            SpokenLanguage::Kurdish => "ku",
320            SpokenLanguage::Kuanyama => "kj",
321            SpokenLanguage::Latin => "la",
322            SpokenLanguage::Luxembourgish => "lb",
323            SpokenLanguage::Ganda => "lg",
324            SpokenLanguage::Limburgan => "li",
325            SpokenLanguage::Lingala => "ln",
326            SpokenLanguage::Lao => "lo",
327            SpokenLanguage::Lithuanian => "lt",
328            SpokenLanguage::LubaKatanga => "lu",
329            SpokenLanguage::Latvian => "lv",
330            SpokenLanguage::Manx => "gv",
331            SpokenLanguage::Macedonian => "mk",
332            SpokenLanguage::Malagasy => "mg",
333            SpokenLanguage::Malay => "ms",
334            SpokenLanguage::Malayalam => "ml",
335            SpokenLanguage::Maltese => "mt",
336            SpokenLanguage::Maori => "mi",
337            SpokenLanguage::Marathi => "mr",
338            SpokenLanguage::Marshallese => "mh",
339            SpokenLanguage::Mongolian => "mn",
340            SpokenLanguage::Nauru => "na",
341            SpokenLanguage::Navajo => "nv",
342            SpokenLanguage::NorthNdebele => "nd",
343            SpokenLanguage::Nepali => "ne",
344            SpokenLanguage::Ndonga => "ng",
345            SpokenLanguage::NorwegianBokmål => "nb",
346            SpokenLanguage::NorwegianNynorsk => "nn",
347            SpokenLanguage::Norwegian => "no",
348            SpokenLanguage::SichuanYi => "ii",
349            SpokenLanguage::SouthNdebele => "nr",
350            SpokenLanguage::Occitan => "oc",
351            SpokenLanguage::Ojibwa => "oj",
352            SpokenLanguage::ChurchSlavic => "cu",
353            SpokenLanguage::Oromo => "om",
354            SpokenLanguage::Oriya => "or",
355            SpokenLanguage::Ossetian => "os",
356            SpokenLanguage::Punjabi => "pa",
357            SpokenLanguage::Pali => "pi",
358            SpokenLanguage::Persian => "fa",
359            SpokenLanguage::Polish => "pl",
360            SpokenLanguage::Pashto => "ps",
361            SpokenLanguage::Portuguese => "pt",
362            SpokenLanguage::Quechua => "qu",
363            SpokenLanguage::Romansh => "rm",
364            SpokenLanguage::Rundi => "rn",
365            SpokenLanguage::Romanian => "ro",
366            SpokenLanguage::Russian => "ru",
367            SpokenLanguage::Sanskrit => "sa",
368            SpokenLanguage::Sardinian => "sc",
369            SpokenLanguage::Sindhi => "sd",
370            SpokenLanguage::NorthernSami => "se",
371            SpokenLanguage::Samoan => "sm",
372            SpokenLanguage::Sango => "sg",
373            SpokenLanguage::Serbian => "sr",
374            SpokenLanguage::Gaelic => "gd",
375            SpokenLanguage::Shona => "sn",
376            SpokenLanguage::Sinhala => "si",
377            SpokenLanguage::Slovak => "sk",
378            SpokenLanguage::Slovenian => "sl",
379            SpokenLanguage::Somali => "so",
380            SpokenLanguage::SouthernSotho => "st",
381            SpokenLanguage::Spanish => "es",
382            SpokenLanguage::Sundanese => "su",
383            SpokenLanguage::Swahili => "sw",
384            SpokenLanguage::Swati => "ss",
385            SpokenLanguage::Swedish => "sv",
386            SpokenLanguage::Tamil => "ta",
387            SpokenLanguage::Telugu => "te",
388            SpokenLanguage::Tajik => "tg",
389            SpokenLanguage::Thai => "th",
390            SpokenLanguage::Tigrinya => "ti",
391            SpokenLanguage::Tibetan => "bo",
392            SpokenLanguage::Turkmen => "tk",
393            SpokenLanguage::Tagalog => "tl",
394            SpokenLanguage::Tswana => "tn",
395            SpokenLanguage::Tonga => "to",
396            SpokenLanguage::Turkish => "tr",
397            SpokenLanguage::Tsonga => "ts",
398            SpokenLanguage::Tatar => "tt",
399            SpokenLanguage::Twi => "tw",
400            SpokenLanguage::Tahitian => "ty",
401            SpokenLanguage::Uighur => "ug",
402            SpokenLanguage::Ukrainian => "uk",
403            SpokenLanguage::Urdu => "ur",
404            SpokenLanguage::Uzbek => "uz",
405            SpokenLanguage::Venda => "ve",
406            SpokenLanguage::Vietnamese => "vi",
407            SpokenLanguage::Volapük => "vo",
408            SpokenLanguage::Walloon => "wa",
409            SpokenLanguage::Welsh => "cy",
410            SpokenLanguage::Wolof => "wo",
411            SpokenLanguage::WesternFrisian => "fy",
412            SpokenLanguage::Xhosa => "xh",
413            SpokenLanguage::Yiddish => "yi",
414            SpokenLanguage::Yoruba => "yo",
415            SpokenLanguage::Zhuang => "za",
416            SpokenLanguage::Zulu => "zu",
417        }
418    }
419}
420
421// TODO: have a github action to check completeness of this list?
422/// Github programming language enum definition
423#[non_exhaustive]
424#[allow(non_camel_case_types)]
425#[derive(Clone, Copy, Debug)]
426pub enum Language {
427    Unknownlanguages,
428    _1CEnterprise,
429    _2DimensionalArray,
430    _4D,
431    ABAP,
432    ABAPCDS,
433    ABNF,
434    ActionScript,
435    Ada,
436    AdblockFilterList,
437    AdobeFontMetrics,
438    Agda,
439    AGSScript,
440    AIDL,
441    AL,
442    Alloy,
443    AlpineAbuild,
444    AltiumDesigner,
445    AMPL,
446    AngelScript,
447    AnswerSetProgramming,
448    AntBuildSystem,
449    Antlers,
450    ANTLR,
451    ApacheConf,
452    Apex,
453    APIBlueprint,
454    APL,
455    ApolloGuidanceComputer,
456    AppleScript,
457    Arc,
458    AsciiDoc,
459    ASL,
460    ASN1,
461    ASPNET,
462    AspectJ,
463    Assembly,
464    Astro,
465    Asymptote,
466    ATS,
467    Augeas,
468    AutoHotkey,
469    AutoIt,
470    AvroIDL,
471    Awk,
472    B4X,
473    Ballerina,
474    BASIC,
475    Batchfile,
476    Beef,
477    Befunge,
478    Berry,
479    BibTeX,
480    BibTeXStyle,
481    Bicep,
482    Bikeshed,
483    Bison,
484    BitBake,
485    Blade,
486    BlitzBasic,
487    BlitzMax,
488    Bluespec,
489    BluespecBH,
490    Boo,
491    Boogie,
492    BQN,
493    Brainfuck,
494    BrighterScript,
495    Brightscript,
496    Browserslist,
497    C,
498    CSharp,
499    CPlusPlus,
500    CObjDump,
501    C2hsHaskell,
502    CabalConfig,
503    Caddyfile,
504    Cadence,
505    Cairo,
506    CairoZero,
507    CameLIGO,
508    CAPCDS,
509    CapnProto,
510    Carbon,
511    CartoCSS,
512    Ceylon,
513    Chapel,
514    Charity,
515    Checksums,
516    ChucK,
517    CIL,
518    Circom,
519    Cirru,
520    Clarion,
521    Clarity,
522    ClassicASP,
523    Clean,
524    Click,
525    CLIPS,
526    Clojure,
527    ClosureTemplates,
528    CloudFirestoreSecurityRules,
529    CMake,
530    COBOL,
531    CODEOWNERS,
532    CodeQL,
533    CoffeeScript,
534    ColdFusion,
535    ColdFusionCFC,
536    COLLADA,
537    CommonLisp,
538    CommonWorkflowLanguage,
539    ComponentPascal,
540    CoNLLU,
541    Cool,
542    Coq,
543    CppObjDump,
544    Creole,
545    crontab,
546    Crystal,
547    CSON,
548    Csound,
549    CsoundDocument,
550    CsoundScore,
551    CSS,
552    CSV,
553    Cuda,
554    CUE,
555    CueSheet,
556    cURLConfig,
557    Curry,
558    CWeb,
559    Cycript,
560    Cylc,
561    Cypher,
562    Cython,
563    D,
564    DObjDump,
565    D2,
566    Dafny,
567    DarcsPatch,
568    Dart,
569    DataWeave,
570    DebianPackageControlFile,
571    DenizenScript,
572    desktop,
573    Dhall,
574    Diff,
575    DIGITALCommandLanguage,
576    dircolors,
577    DirectX3DFile,
578    DM,
579    DNSZone,
580    Dockerfile,
581    Dogescript,
582    Dotenv,
583    DTrace,
584    Dune,
585    Dylan,
586    E,
587    Eagle,
588    Earthly,
589    Easybuild,
590    EBNF,
591    eC,
592    EcereProjects,
593    ECL,
594    ECLiPSe,
595    Ecmarkup,
596    Edge,
597    EdgeQL,
598    EditorConfig,
599    EdjeDataCollection,
600    edn,
601    Eiffel,
602    EJS,
603    Elixir,
604    Elm,
605    Elvish,
606    ElvishTranscript,
607    EmacsLisp,
608    EmberScript,
609    Email,
610    EQ,
611    Erlang,
612    Euphoria,
613    FSharp,
614    FStar,
615    Factor,
616    Fancy,
617    Fantom,
618    Faust,
619    Fennel,
620    FIGletFont,
621    FilebenchWML,
622    Filterscript,
623    FIRRTL,
624    fish,
625    Fluent,
626    FLUX,
627    Formatted,
628    Forth,
629    Fortran,
630    FortranFreeForm,
631    FreeBASIC,
632    FreeMarker,
633    Frege,
634    Futhark,
635    Gcode,
636    GameMakerLanguage,
637    GAML,
638    GAMS,
639    GAP,
640    GCCMachineDescription,
641    GDB,
642    GDScript,
643    GEDCOM,
644    GemfileLock,
645    Gemini,
646    Genero4gl,
647    Generoper,
648    Genie,
649    Genshi,
650    GentooEbuild,
651    GentooEclass,
652    GerberImage,
653    GettextCatalog,
654    Gherkin,
655    GitAttributes,
656    GitConfig,
657    GitRevisionList,
658    Gleam,
659    GlimmerJS,
660    GlimmerTS,
661    GLSL,
662    Glyph,
663    GlyphBitmapDistributionFormat,
664    GN,
665    Gnuplot,
666    Go,
667    GoChecksums,
668    GoModule,
669    GoWorkspace,
670    GodotResource,
671    Golo,
672    Gosu,
673    Grace,
674    Gradle,
675    GradleKotlinDSL,
676    GrammaticalFramework,
677    GraphModelingLanguage,
678    GraphQL,
679    Graphviz,
680    Groovy,
681    GroovyServerPages,
682    GSC,
683    Hack,
684    Haml,
685    Handlebars,
686    HAProxy,
687    Harbour,
688    Hare,
689    Haskell,
690    Haxe,
691    HCL,
692    HiveQL,
693    HLSL,
694    HOCON,
695    HolyC,
696    hoon,
697    HostsFile,
698    HTML,
699    HTMLPlusECR,
700    HTMLPlusEEX,
701    HTMLPlusERB,
702    HTMLPlusPHP,
703    HTMLPlusRazor,
704    HTTP,
705    HXML,
706    Hy,
707    HyPhy,
708    iCalendar,
709    IDL,
710    Idris,
711    IgnoreList,
712    IGORPro,
713    ImageJMacro,
714    Imba,
715    Inform7,
716    INI,
717    Ink,
718    InnoSetup,
719    Io,
720    Ioke,
721    IRClog,
722    Isabelle,
723    IsabelleROOT,
724    ISPC,
725    J,
726    Jai,
727    Janet,
728    JARManifest,
729    Jasmin,
730    Java,
731    JavaProperties,
732    JavaServerPages,
733    JavaTemplateEngine,
734    JavaScript,
735    JavaScriptPlusERB,
736    JCL,
737    JestSnapshot,
738    JetBrainsMPS,
739    JFlex,
740    Jinja,
741    Jison,
742    JisonLex,
743    Jolie,
744    jq,
745    JSON,
746    JSONwithComments,
747    JSON5,
748    JSONiq,
749    JSONLD,
750    Jsonnet,
751    Julia,
752    JuliaREPL,
753    JupyterNotebook,
754    Just,
755    KaitaiStruct,
756    KakouneScript,
757    KDL,
758    KerboScript,
759    KiCadLayout,
760    KiCadLegacyLayout,
761    KiCadSchematic,
762    Kickstart,
763    Kit,
764    Kotlin,
765    KRL,
766    Kusto,
767    kvlang,
768    LabVIEW,
769    Lark,
770    Lasso,
771    Latte,
772    Lean,
773    Lean4,
774    Less,
775    Lex,
776    LFE,
777    LigoLANG,
778    LilyPond,
779    Limbo,
780    LinearProgramming,
781    LinkerScript,
782    LinuxKernelModule,
783    Liquid,
784    LiterateAgda,
785    LiterateCoffeeScript,
786    LiterateHaskell,
787    LiveCodeScript,
788    LiveScript,
789    LLVM,
790    Logos,
791    Logtalk,
792    LOLCODE,
793    LookML,
794    LoomScript,
795    LSL,
796    LTspiceSymbol,
797    Lua,
798    Luau,
799    M,
800    M4,
801    M4Sugar,
802    Macaulay2,
803    Makefile,
804    Mako,
805    Markdown,
806    Marko,
807    Mask,
808    Mathematica,
809    MATLAB,
810    MavenPOM,
811    Max,
812    MAXScript,
813    mcfunction,
814    mdsvex,
815    MDX,
816    Mercury,
817    Mermaid,
818    Meson,
819    Metal,
820    MicrosoftDeveloperStudioProject,
821    MicrosoftVisualStudioSolution,
822    MiniD,
823    MiniYAML,
824    MiniZinc,
825    MiniZincData,
826    Mint,
827    Mirah,
828    mIRCScript,
829    MLIR,
830    Modelica,
831    Modula2,
832    Modula3,
833    ModuleManagementSystem,
834    Mojo,
835    Monkey,
836    MonkeyC,
837    Moocode,
838    MoonBit,
839    MoonScript,
840    Motoko,
841    Motorola68KAssembly,
842    Move,
843    MQL4,
844    MQL5,
845    MTML,
846    MUF,
847    mupad,
848    Muse,
849    Mustache,
850    Myghty,
851    nanorc,
852    Nasal,
853    NASL,
854    NCL,
855    Nearley,
856    Nemerle,
857    NEON,
858    nesC,
859    NetLinx,
860    NetLinxPlusERB,
861    NetLogo,
862    NewLisp,
863    Nextflow,
864    Nginx,
865    Nim,
866    Ninja,
867    Nit,
868    Nix,
869    NL,
870    NMODL,
871    Noir,
872    NPMConfig,
873    NSIS,
874    Nu,
875    NumPy,
876    Nunjucks,
877    Nushell,
878    NWScript,
879    OASv2json,
880    OASv2yaml,
881    OASv3json,
882    OASv3yaml,
883    Oberon,
884    ObjDump,
885    ObjectDataInstanceNotation,
886    ObjectiveC,
887    ObjectiveCPlusPlus,
888    ObjectiveJ,
889    ObjectScript,
890    OCaml,
891    Odin,
892    Omgrofl,
893    OMNeTPlusPlusMSG,
894    OMNeTPlusPlusNED,
895    ooc,
896    Opa,
897    Opal,
898    OpenPolicyAgent,
899    OpenAPISpecificationv2,
900    OpenAPISpecificationv3,
901    OpenCL,
902    OpenEdgeABL,
903    OpenQASM,
904    OpenRCrunscript,
905    OpenSCAD,
906    OpenStepPropertyList,
907    OpenTypeFeatureFile,
908    OptionList,
909    Org,
910    OverpassQL,
911    Ox,
912    Oxygene,
913    Oz,
914    P4,
915    Pact,
916    Pan,
917    Papyrus,
918    Parrot,
919    ParrotAssembly,
920    ParrotInternalRepresentation,
921    Pascal,
922    Pawn,
923    PDDL,
924    PEGjs,
925    Pep8,
926    Perl,
927    PHP,
928    Pic,
929    Pickle,
930    PicoLisp,
931    PigLatin,
932    Pike,
933    PipRequirements,
934    Pkl,
935    PlantUML,
936    PLpgSQL,
937    PLSQL,
938    Pod,
939    Pod6,
940    PogoScript,
941    Polar,
942    Pony,
943    Portugol,
944    PostCSS,
945    PostScript,
946    POVRaySDL,
947    PowerBuilder,
948    PowerShell,
949    Praat,
950    Prisma,
951    Processing,
952    Procfile,
953    Proguard,
954    Prolog,
955    Promela,
956    PropellerSpin,
957    ProtocolBuffer,
958    ProtocolBufferTextFormat,
959    PublicKey,
960    Pug,
961    Puppet,
962    PureData,
963    PureBasic,
964    PureScript,
965    Pyret,
966    Python,
967    Pythonconsole,
968    Pythontraceback,
969    q,
970    QSharp,
971    QMake,
972    QML,
973    QtScript,
974    Quake,
975    QuickBASIC,
976    R,
977    Racket,
978    Ragel,
979    Raku,
980    RAML,
981    Rascal,
982    Rawtokendata,
983    RBS,
984    RDoc,
985    ReadlineConfig,
986    REALbasic,
987    Reason,
988    ReasonLIGO,
989    Rebol,
990    RecordJar,
991    Red,
992    Redcode,
993    RedirectRules,
994    RegularExpression,
995    RenPy,
996    RenderScript,
997    ReScript,
998    reStructuredText,
999    REXX,
1000    Rez,
1001    RichTextFormat,
1002    Ring,
1003    Riot,
1004    RMarkdown,
1005    RobotFramework,
1006    robotstxt,
1007    Roc,
1008    Roff,
1009    RoffManpage,
1010    RON,
1011    Rouge,
1012    RouterOSScript,
1013    RPC,
1014    RPGLE,
1015    RPMSpec,
1016    Ruby,
1017    RUNOFF,
1018    Rust,
1019    Sage,
1020    SaltStack,
1021    SAS,
1022    Sass,
1023    Scala,
1024    Scaml,
1025    Scenic,
1026    Scheme,
1027    Scilab,
1028    SCSS,
1029    sed,
1030    _Self,
1031    SELinuxPolicy,
1032    ShaderLab,
1033    Shell,
1034    ShellCheckConfig,
1035    ShellSession,
1036    Shen,
1037    Sieve,
1038    SimpleFileVerification,
1039    Singularity,
1040    Slang,
1041    Slash,
1042    Slice,
1043    Slim,
1044    Slint,
1045    Smali,
1046    Smalltalk,
1047    Smarty,
1048    Smithy,
1049    SmPL,
1050    SMT,
1051    Snakemake,
1052    Solidity,
1053    Soong,
1054    SourcePawn,
1055    SPARQL,
1056    SplineFontDatabase,
1057    SQF,
1058    SQL,
1059    SQLPL,
1060    Squirrel,
1061    SRecodeTemplate,
1062    SSHConfig,
1063    Stan,
1064    StandardML,
1065    STAR,
1066    Starlark,
1067    Stata,
1068    STL,
1069    STON,
1070    StringTemplate,
1071    Stylus,
1072    SubRipText,
1073    SugarSS,
1074    SuperCollider,
1075    Svelte,
1076    SVG,
1077    Sway,
1078    Sweave,
1079    Swift,
1080    SWIG,
1081    SystemVerilog,
1082    Tact,
1083    Talon,
1084    Tcl,
1085    Tcsh,
1086    Tea,
1087    templ,
1088    Terra,
1089    TerraformTemplate,
1090    TeX,
1091    Texinfo,
1092    Text,
1093    TextGrid,
1094    Textile,
1095    TextMateProperties,
1096    Thrift,
1097    TIProgram,
1098    TLVerilog,
1099    TLA,
1100    Toit,
1101    TOML,
1102    TreesitterQuery,
1103    TSPLIBdata,
1104    TSQL,
1105    TSV,
1106    TSX,
1107    Turing,
1108    Turtle,
1109    Twig,
1110    TXL,
1111    TypeLanguage,
1112    TypeScript,
1113    TypeSpec,
1114    Typst,
1115    UnifiedParallelC,
1116    Unity3DAsset,
1117    UnixAssembly,
1118    Uno,
1119    UnrealScript,
1120    UrWeb,
1121    V,
1122    Vala,
1123    ValveDataFormat,
1124    VBA,
1125    VBScript,
1126    vCard,
1127    VCL,
1128    VelocityTemplateLanguage,
1129    Verilog,
1130    VHDL,
1131    VimHelpFile,
1132    VimScript,
1133    VimSnippet,
1134    VisualBasicNET,
1135    VisualBasic6_0,
1136    Volt,
1137    Vue,
1138    Vyper,
1139    WavefrontMaterial,
1140    WavefrontObject,
1141    WDL,
1142    WebOntologyLanguage,
1143    WebAssembly,
1144    WebAssemblyInterfaceType,
1145    WebIDL,
1146    WebVTT,
1147    WgetConfig,
1148    WGSL,
1149    Whiley,
1150    Wikitext,
1151    Win32MessageFile,
1152    WindowsRegistryEntries,
1153    wisp,
1154    WitcherScript,
1155    Wollok,
1156    WorldofWarcraftAddonData,
1157    Wren,
1158    XBitMap,
1159    XFontDirectoryIndex,
1160    XPixMap,
1161    X10,
1162    xBase,
1163    XC,
1164    XCompose,
1165    Xmake,
1166    XML,
1167    XMLPropertyList,
1168    Xojo,
1169    Xonsh,
1170    XPages,
1171    XProc,
1172    XQuery,
1173    XS,
1174    XSLT,
1175    Xtend,
1176    Yacc,
1177    YAML,
1178    YANG,
1179    YARA,
1180    YASnippet,
1181    Yul,
1182    ZAP,
1183    Zeek,
1184    ZenScript,
1185    Zephir,
1186    Zig,
1187    ZIL,
1188    Zimpl,
1189}
1190
1191impl Param for Language {
1192    fn name() -> &'static str {
1193        "language_code"
1194    }
1195
1196    fn value(&self) -> &'static str {
1197        match self {
1198            Language::Unknownlanguages => "unknown",
1199            Language::_1CEnterprise => "1c-enterprise",
1200            Language::_2DimensionalArray => "2-dimensional-array",
1201            Language::_4D => "4d",
1202            Language::ABAP => "abap",
1203            Language::ABAPCDS => "abap-cds",
1204            Language::ABNF => "abnf",
1205            Language::ActionScript => "actionscript",
1206            Language::Ada => "ada",
1207            Language::AdblockFilterList => "adblock-filter-list",
1208            Language::AdobeFontMetrics => "adobe-font-metrics",
1209            Language::Agda => "agda",
1210            Language::AGSScript => "ags-script",
1211            Language::AIDL => "aidl",
1212            Language::AL => "al",
1213            Language::Alloy => "alloy",
1214            Language::AlpineAbuild => "alpine-abuild",
1215            Language::AltiumDesigner => "altium-designer",
1216            Language::AMPL => "ampl",
1217            Language::AngelScript => "angelscript",
1218            Language::AnswerSetProgramming => "answer-set-programming",
1219            Language::AntBuildSystem => "ant-build-system",
1220            Language::Antlers => "antlers",
1221            Language::ANTLR => "antlr",
1222            Language::ApacheConf => "apacheconf",
1223            Language::Apex => "apex",
1224            Language::APIBlueprint => "api-blueprint",
1225            Language::APL => "apl",
1226            Language::ApolloGuidanceComputer => "apollo-guidance-computer",
1227            Language::AppleScript => "applescript",
1228            Language::Arc => "arc",
1229            Language::AsciiDoc => "asciidoc",
1230            Language::ASL => "asl",
1231            Language::ASN1 => "asn.1",
1232            Language::ASPNET => "asp.net",
1233            Language::AspectJ => "aspectj",
1234            Language::Assembly => "assembly",
1235            Language::Astro => "astro",
1236            Language::Asymptote => "asymptote",
1237            Language::ATS => "ats",
1238            Language::Augeas => "augeas",
1239            Language::AutoHotkey => "autohotkey",
1240            Language::AutoIt => "autoit",
1241            Language::AvroIDL => "avro-idl",
1242            Language::Awk => "awk",
1243            Language::B4X => "b4x",
1244            Language::Ballerina => "ballerina",
1245            Language::BASIC => "basic",
1246            Language::Batchfile => "batchfile",
1247            Language::Beef => "beef",
1248            Language::Befunge => "befunge",
1249            Language::Berry => "berry",
1250            Language::BibTeX => "bibtex",
1251            Language::BibTeXStyle => "bibtex-style",
1252            Language::Bicep => "bicep",
1253            Language::Bikeshed => "bikeshed",
1254            Language::Bison => "bison",
1255            Language::BitBake => "bitbake",
1256            Language::Blade => "blade",
1257            Language::BlitzBasic => "blitzbasic",
1258            Language::BlitzMax => "blitzmax",
1259            Language::Bluespec => "bluespec",
1260            Language::BluespecBH => "bluespec-bh",
1261            Language::Boo => "boo",
1262            Language::Boogie => "boogie",
1263            Language::BQN => "bqn",
1264            Language::Brainfuck => "brainfuck",
1265            Language::BrighterScript => "brighterscript",
1266            Language::Brightscript => "brightscript",
1267            Language::Browserslist => "browserslist",
1268            Language::C => "c",
1269            Language::CSharp => "c%23",
1270            Language::CPlusPlus => "c++",
1271            Language::CObjDump => "c-objdump",
1272            Language::C2hsHaskell => "c2hs-haskell",
1273            Language::CabalConfig => "cabal-config",
1274            Language::Caddyfile => "caddyfile",
1275            Language::Cadence => "cadence",
1276            Language::Cairo => "cairo",
1277            Language::CairoZero => "cairo-zero",
1278            Language::CameLIGO => "cameligo",
1279            Language::CAPCDS => "cap-cds",
1280            Language::CapnProto => "cap'n-proto",
1281            Language::Carbon => "carbon",
1282            Language::CartoCSS => "cartocss",
1283            Language::Ceylon => "ceylon",
1284            Language::Chapel => "chapel",
1285            Language::Charity => "charity",
1286            Language::Checksums => "checksums",
1287            Language::ChucK => "chuck",
1288            Language::CIL => "cil",
1289            Language::Circom => "circom",
1290            Language::Cirru => "cirru",
1291            Language::Clarion => "clarion",
1292            Language::Clarity => "clarity",
1293            Language::ClassicASP => "classic-asp",
1294            Language::Clean => "clean",
1295            Language::Click => "click",
1296            Language::CLIPS => "clips",
1297            Language::Clojure => "clojure",
1298            Language::ClosureTemplates => "closure-templates",
1299            Language::CloudFirestoreSecurityRules => "cloud-firestore-security-rules",
1300            Language::CMake => "cmake",
1301            Language::COBOL => "cobol",
1302            Language::CODEOWNERS => "codeowners",
1303            Language::CodeQL => "codeql",
1304            Language::CoffeeScript => "coffeescript",
1305            Language::ColdFusion => "coldfusion",
1306            Language::ColdFusionCFC => "coldfusion-cfc",
1307            Language::COLLADA => "collada",
1308            Language::CommonLisp => "common-lisp",
1309            Language::CommonWorkflowLanguage => "common-workflow-language",
1310            Language::ComponentPascal => "component-pascal",
1311            Language::CoNLLU => "conll-u",
1312            Language::Cool => "cool",
1313            Language::Coq => "coq",
1314            Language::CppObjDump => "cpp-objdump",
1315            Language::Creole => "creole",
1316            Language::crontab => "crontab",
1317            Language::Crystal => "crystal",
1318            Language::CSON => "cson",
1319            Language::Csound => "csound",
1320            Language::CsoundDocument => "csound-document",
1321            Language::CsoundScore => "csound-score",
1322            Language::CSS => "css",
1323            Language::CSV => "csv",
1324            Language::Cuda => "cuda",
1325            Language::CUE => "cue",
1326            Language::CueSheet => "cue-sheet",
1327            Language::cURLConfig => "curl-config",
1328            Language::Curry => "curry",
1329            Language::CWeb => "cweb",
1330            Language::Cycript => "cycript",
1331            Language::Cylc => "cylc",
1332            Language::Cypher => "cypher",
1333            Language::Cython => "cython",
1334            Language::D => "d",
1335            Language::DObjDump => "d-objdump",
1336            Language::D2 => "d2",
1337            Language::Dafny => "dafny",
1338            Language::DarcsPatch => "darcs-patch",
1339            Language::Dart => "dart",
1340            Language::DataWeave => "dataweave",
1341            Language::DebianPackageControlFile => "debian-package-control-file",
1342            Language::DenizenScript => "denizenscript",
1343            Language::desktop => "desktop",
1344            Language::Dhall => "dhall",
1345            Language::Diff => "diff",
1346            Language::DIGITALCommandLanguage => "digital-command-language",
1347            Language::dircolors => "dircolors",
1348            Language::DirectX3DFile => "directx-3d-file",
1349            Language::DM => "dm",
1350            Language::DNSZone => "dns-zone",
1351            Language::Dockerfile => "dockerfile",
1352            Language::Dogescript => "dogescript",
1353            Language::Dotenv => "dotenv",
1354            Language::DTrace => "dtrace",
1355            Language::Dune => "dune",
1356            Language::Dylan => "dylan",
1357            Language::E => "e",
1358            Language::Eagle => "eagle",
1359            Language::Earthly => "earthly",
1360            Language::Easybuild => "easybuild",
1361            Language::EBNF => "ebnf",
1362            Language::eC => "ec",
1363            Language::EcereProjects => "ecere-projects",
1364            Language::ECL => "ecl",
1365            Language::ECLiPSe => "eclipse",
1366            Language::Ecmarkup => "ecmarkup",
1367            Language::Edge => "edge",
1368            Language::EdgeQL => "edgeql",
1369            Language::EditorConfig => "editorconfig",
1370            Language::EdjeDataCollection => "edje-data-collection",
1371            Language::edn => "edn",
1372            Language::Eiffel => "eiffel",
1373            Language::EJS => "ejs",
1374            Language::Elixir => "elixir",
1375            Language::Elm => "elm",
1376            Language::Elvish => "elvish",
1377            Language::ElvishTranscript => "elvish-transcript",
1378            Language::EmacsLisp => "emacs-lisp",
1379            Language::EmberScript => "emberscript",
1380            Language::Email => "e-mail",
1381            Language::EQ => "eq",
1382            Language::Erlang => "erlang",
1383            Language::Euphoria => "euphoria",
1384            Language::FSharp => "f%23",
1385            Language::FStar => "f*",
1386            Language::Factor => "factor",
1387            Language::Fancy => "fancy",
1388            Language::Fantom => "fantom",
1389            Language::Faust => "faust",
1390            Language::Fennel => "fennel",
1391            Language::FIGletFont => "figlet-font",
1392            Language::FilebenchWML => "filebench-wml",
1393            Language::Filterscript => "filterscript",
1394            Language::FIRRTL => "firrtl",
1395            Language::fish => "fish",
1396            Language::Fluent => "fluent",
1397            Language::FLUX => "flux",
1398            Language::Formatted => "formatted",
1399            Language::Forth => "forth",
1400            Language::Fortran => "fortran",
1401            Language::FortranFreeForm => "fortran-free-form",
1402            Language::FreeBASIC => "freebasic",
1403            Language::FreeMarker => "freemarker",
1404            Language::Frege => "frege",
1405            Language::Futhark => "futhark",
1406            Language::Gcode => "g-code",
1407            Language::GameMakerLanguage => "game-maker-language",
1408            Language::GAML => "gaml",
1409            Language::GAMS => "gams",
1410            Language::GAP => "gap",
1411            Language::GCCMachineDescription => "gcc-machine-description",
1412            Language::GDB => "gdb",
1413            Language::GDScript => "gdscript",
1414            Language::GEDCOM => "gedcom",
1415            Language::GemfileLock => "gemfile.lock",
1416            Language::Gemini => "gemini",
1417            Language::Genero4gl => "genero-4gl",
1418            Language::Generoper => "genero-per",
1419            Language::Genie => "genie",
1420            Language::Genshi => "genshi",
1421            Language::GentooEbuild => "gentoo-ebuild",
1422            Language::GentooEclass => "gentoo-eclass",
1423            Language::GerberImage => "gerber-image",
1424            Language::GettextCatalog => "gettext-catalog",
1425            Language::Gherkin => "gherkin",
1426            Language::GitAttributes => "git-attributes",
1427            Language::GitConfig => "git-config",
1428            Language::GitRevisionList => "git-revision-list",
1429            Language::Gleam => "gleam",
1430            Language::GlimmerJS => "glimmer-js",
1431            Language::GlimmerTS => "glimmer-ts",
1432            Language::GLSL => "glsl",
1433            Language::Glyph => "glyph",
1434            Language::GlyphBitmapDistributionFormat => "glyph-bitmap-distribution-format",
1435            Language::GN => "gn",
1436            Language::Gnuplot => "gnuplot",
1437            Language::Go => "go",
1438            Language::GoChecksums => "go-checksums",
1439            Language::GoModule => "go-module",
1440            Language::GoWorkspace => "go-workspace",
1441            Language::GodotResource => "godot-resource",
1442            Language::Golo => "golo",
1443            Language::Gosu => "gosu",
1444            Language::Grace => "grace",
1445            Language::Gradle => "gradle",
1446            Language::GradleKotlinDSL => "gradle-kotlin-dsl",
1447            Language::GrammaticalFramework => "grammatical-framework",
1448            Language::GraphModelingLanguage => "graph-modeling-language",
1449            Language::GraphQL => "graphql",
1450            Language::Graphviz => "graphviz-(dot)",
1451            Language::Groovy => "groovy",
1452            Language::GroovyServerPages => "groovy-server-pages",
1453            Language::GSC => "gsc",
1454            Language::Hack => "hack",
1455            Language::Haml => "haml",
1456            Language::Handlebars => "handlebars",
1457            Language::HAProxy => "haproxy",
1458            Language::Harbour => "harbour",
1459            Language::Hare => "hare",
1460            Language::Haskell => "haskell",
1461            Language::Haxe => "haxe",
1462            Language::HCL => "hcl",
1463            Language::HiveQL => "hiveql",
1464            Language::HLSL => "hlsl",
1465            Language::HOCON => "hocon",
1466            Language::HolyC => "holyc",
1467            Language::hoon => "hoon",
1468            Language::HostsFile => "hosts-file",
1469            Language::HTML => "html",
1470            Language::HTMLPlusECR => "html+ecr",
1471            Language::HTMLPlusEEX => "html+eex",
1472            Language::HTMLPlusERB => "html+erb",
1473            Language::HTMLPlusPHP => "html+php",
1474            Language::HTMLPlusRazor => "html+razor",
1475            Language::HTTP => "http",
1476            Language::HXML => "hxml",
1477            Language::Hy => "hy",
1478            Language::HyPhy => "hyphy",
1479            Language::iCalendar => "icalendar",
1480            Language::IDL => "idl",
1481            Language::Idris => "idris",
1482            Language::IgnoreList => "ignore-list",
1483            Language::IGORPro => "igor-pro",
1484            Language::ImageJMacro => "imagej-macro",
1485            Language::Imba => "imba",
1486            Language::Inform7 => "inform-7",
1487            Language::INI => "ini",
1488            Language::Ink => "ink",
1489            Language::InnoSetup => "inno-setup",
1490            Language::Io => "io",
1491            Language::Ioke => "ioke",
1492            Language::IRClog => "irc-log",
1493            Language::Isabelle => "isabelle",
1494            Language::IsabelleROOT => "isabelle-root",
1495            Language::ISPC => "ispc",
1496            Language::J => "j",
1497            Language::Jai => "jai",
1498            Language::Janet => "janet",
1499            Language::JARManifest => "jar-manifest",
1500            Language::Jasmin => "jasmin",
1501            Language::Java => "java",
1502            Language::JavaProperties => "java-properties",
1503            Language::JavaServerPages => "java-server-pages",
1504            Language::JavaTemplateEngine => "java-template-engine",
1505            Language::JavaScript => "javascript",
1506            Language::JavaScriptPlusERB => "javascript+erb",
1507            Language::JCL => "jcl",
1508            Language::JestSnapshot => "jest-snapshot",
1509            Language::JetBrainsMPS => "jetbrains-mps",
1510            Language::JFlex => "jflex",
1511            Language::Jinja => "jinja",
1512            Language::Jison => "jison",
1513            Language::JisonLex => "jison-lex",
1514            Language::Jolie => "jolie",
1515            Language::jq => "jq",
1516            Language::JSON => "json",
1517            Language::JSONwithComments => "json-with-comments",
1518            Language::JSON5 => "json5",
1519            Language::JSONiq => "jsoniq",
1520            Language::JSONLD => "jsonld",
1521            Language::Jsonnet => "jsonnet",
1522            Language::Julia => "julia",
1523            Language::JuliaREPL => "julia-repl",
1524            Language::JupyterNotebook => "jupyter-notebook",
1525            Language::Just => "just",
1526            Language::KaitaiStruct => "kaitai-struct",
1527            Language::KakouneScript => "kakounescript",
1528            Language::KDL => "kdl",
1529            Language::KerboScript => "kerboscript",
1530            Language::KiCadLayout => "kicad-layout",
1531            Language::KiCadLegacyLayout => "kicad-legacy-layout",
1532            Language::KiCadSchematic => "kicad-schematic",
1533            Language::Kickstart => "kickstart",
1534            Language::Kit => "kit",
1535            Language::Kotlin => "kotlin",
1536            Language::KRL => "krl",
1537            Language::Kusto => "kusto",
1538            Language::kvlang => "kvlang",
1539            Language::LabVIEW => "labview",
1540            Language::Lark => "lark",
1541            Language::Lasso => "lasso",
1542            Language::Latte => "latte",
1543            Language::Lean => "lean",
1544            Language::Lean4 => "lean-4",
1545            Language::Less => "less",
1546            Language::Lex => "lex",
1547            Language::LFE => "lfe",
1548            Language::LigoLANG => "ligolang",
1549            Language::LilyPond => "lilypond",
1550            Language::Limbo => "limbo",
1551            Language::LinearProgramming => "linear-programming",
1552            Language::LinkerScript => "linker-script",
1553            Language::LinuxKernelModule => "linux-kernel-module",
1554            Language::Liquid => "liquid",
1555            Language::LiterateAgda => "literate-agda",
1556            Language::LiterateCoffeeScript => "literate-coffeescript",
1557            Language::LiterateHaskell => "literate-haskell",
1558            Language::LiveCodeScript => "livecode-script",
1559            Language::LiveScript => "livescript",
1560            Language::LLVM => "llvm",
1561            Language::Logos => "logos",
1562            Language::Logtalk => "logtalk",
1563            Language::LOLCODE => "lolcode",
1564            Language::LookML => "lookml",
1565            Language::LoomScript => "loomscript",
1566            Language::LSL => "lsl",
1567            Language::LTspiceSymbol => "ltspice-symbol",
1568            Language::Lua => "lua",
1569            Language::Luau => "luau",
1570            Language::M => "m",
1571            Language::M4 => "m4",
1572            Language::M4Sugar => "m4sugar",
1573            Language::Macaulay2 => "macaulay2",
1574            Language::Makefile => "makefile",
1575            Language::Mako => "mako",
1576            Language::Markdown => "markdown",
1577            Language::Marko => "marko",
1578            Language::Mask => "mask",
1579            Language::Mathematica => "mathematica",
1580            Language::MATLAB => "matlab",
1581            Language::MavenPOM => "maven-pom",
1582            Language::Max => "max",
1583            Language::MAXScript => "maxscript",
1584            Language::mcfunction => "mcfunction",
1585            Language::mdsvex => "mdsvex",
1586            Language::MDX => "mdx",
1587            Language::Mercury => "mercury",
1588            Language::Mermaid => "mermaid",
1589            Language::Meson => "meson",
1590            Language::Metal => "metal",
1591            Language::MicrosoftDeveloperStudioProject => "microsoft-developer-studio-project",
1592            Language::MicrosoftVisualStudioSolution => "microsoft-visual-studio-solution",
1593            Language::MiniD => "minid",
1594            Language::MiniYAML => "miniyaml",
1595            Language::MiniZinc => "minizinc",
1596            Language::MiniZincData => "minizinc-data",
1597            Language::Mint => "mint",
1598            Language::Mirah => "mirah",
1599            Language::mIRCScript => "mirc-script",
1600            Language::MLIR => "mlir",
1601            Language::Modelica => "modelica",
1602            Language::Modula2 => "modula-2",
1603            Language::Modula3 => "modula-3",
1604            Language::ModuleManagementSystem => "module-management-system",
1605            Language::Mojo => "mojo",
1606            Language::Monkey => "monkey",
1607            Language::MonkeyC => "monkey-c",
1608            Language::Moocode => "moocode",
1609            Language::MoonBit => "moonbit",
1610            Language::MoonScript => "moonscript",
1611            Language::Motoko => "motoko",
1612            Language::Motorola68KAssembly => "motorola-68k-assembly",
1613            Language::Move => "move",
1614            Language::MQL4 => "mql4",
1615            Language::MQL5 => "mql5",
1616            Language::MTML => "mtml",
1617            Language::MUF => "muf",
1618            Language::mupad => "mupad",
1619            Language::Muse => "muse",
1620            Language::Mustache => "mustache",
1621            Language::Myghty => "myghty",
1622            Language::nanorc => "nanorc",
1623            Language::Nasal => "nasal",
1624            Language::NASL => "nasl",
1625            Language::NCL => "ncl",
1626            Language::Nearley => "nearley",
1627            Language::Nemerle => "nemerle",
1628            Language::NEON => "neon",
1629            Language::nesC => "nesc",
1630            Language::NetLinx => "netlinx",
1631            Language::NetLinxPlusERB => "netlinx+erb",
1632            Language::NetLogo => "netlogo",
1633            Language::NewLisp => "newlisp",
1634            Language::Nextflow => "nextflow",
1635            Language::Nginx => "nginx",
1636            Language::Nim => "nim",
1637            Language::Ninja => "ninja",
1638            Language::Nit => "nit",
1639            Language::Nix => "nix",
1640            Language::NL => "nl",
1641            Language::NMODL => "nmodl",
1642            Language::Noir => "noir",
1643            Language::NPMConfig => "npm-config",
1644            Language::NSIS => "nsis",
1645            Language::Nu => "nu",
1646            Language::NumPy => "numpy",
1647            Language::Nunjucks => "nunjucks",
1648            Language::Nushell => "nushell",
1649            Language::NWScript => "nwscript",
1650            Language::OASv2json => "oasv2-json",
1651            Language::OASv2yaml => "oasv2-yaml",
1652            Language::OASv3json => "oasv3-json",
1653            Language::OASv3yaml => "oasv3-yaml",
1654            Language::Oberon => "oberon",
1655            Language::ObjDump => "objdump",
1656            Language::ObjectDataInstanceNotation => "object-data-instance-notation",
1657            Language::ObjectiveC => "objective-c",
1658            Language::ObjectiveCPlusPlus => "objective-c++",
1659            Language::ObjectiveJ => "objective-j",
1660            Language::ObjectScript => "objectscript",
1661            Language::OCaml => "ocaml",
1662            Language::Odin => "odin",
1663            Language::Omgrofl => "omgrofl",
1664            Language::OMNeTPlusPlusMSG => "omnet++-msg",
1665            Language::OMNeTPlusPlusNED => "omnet++-ned",
1666            Language::ooc => "ooc",
1667            Language::Opa => "opa",
1668            Language::Opal => "opal",
1669            Language::OpenPolicyAgent => "open-policy-agent",
1670            Language::OpenAPISpecificationv2 => "openapi-specification-v2",
1671            Language::OpenAPISpecificationv3 => "openapi-specification-v3",
1672            Language::OpenCL => "opencl",
1673            Language::OpenEdgeABL => "openedge-abl",
1674            Language::OpenQASM => "openqasm",
1675            Language::OpenRCrunscript => "openrc-runscript",
1676            Language::OpenSCAD => "openscad",
1677            Language::OpenStepPropertyList => "openstep-property-list",
1678            Language::OpenTypeFeatureFile => "opentype-feature-file",
1679            Language::OptionList => "option-list",
1680            Language::Org => "org",
1681            Language::OverpassQL => "overpassql",
1682            Language::Ox => "ox",
1683            Language::Oxygene => "oxygene",
1684            Language::Oz => "oz",
1685            Language::P4 => "p4",
1686            Language::Pact => "pact",
1687            Language::Pan => "pan",
1688            Language::Papyrus => "papyrus",
1689            Language::Parrot => "parrot",
1690            Language::ParrotAssembly => "parrot-assembly",
1691            Language::ParrotInternalRepresentation => "parrot-internal-representation",
1692            Language::Pascal => "pascal",
1693            Language::Pawn => "pawn",
1694            Language::PDDL => "pddl",
1695            Language::PEGjs => "peg.js",
1696            Language::Pep8 => "pep8",
1697            Language::Perl => "perl",
1698            Language::PHP => "php",
1699            Language::Pic => "pic",
1700            Language::Pickle => "pickle",
1701            Language::PicoLisp => "picolisp",
1702            Language::PigLatin => "piglatin",
1703            Language::Pike => "pike",
1704            Language::PipRequirements => "pip-requirements",
1705            Language::Pkl => "pkl",
1706            Language::PlantUML => "plantuml",
1707            Language::PLpgSQL => "plpgsql",
1708            Language::PLSQL => "plsql",
1709            Language::Pod => "pod",
1710            Language::Pod6 => "pod-6",
1711            Language::PogoScript => "pogoscript",
1712            Language::Polar => "polar",
1713            Language::Pony => "pony",
1714            Language::Portugol => "portugol",
1715            Language::PostCSS => "postcss",
1716            Language::PostScript => "postscript",
1717            Language::POVRaySDL => "pov-ray-sdl",
1718            Language::PowerBuilder => "powerbuilder",
1719            Language::PowerShell => "powershell",
1720            Language::Praat => "praat",
1721            Language::Prisma => "prisma",
1722            Language::Processing => "processing",
1723            Language::Procfile => "procfile",
1724            Language::Proguard => "proguard",
1725            Language::Prolog => "prolog",
1726            Language::Promela => "promela",
1727            Language::PropellerSpin => "propeller-spin",
1728            Language::ProtocolBuffer => "protocol-buffer",
1729            Language::ProtocolBufferTextFormat => "protocol-buffer-text-format",
1730            Language::PublicKey => "public-key",
1731            Language::Pug => "pug",
1732            Language::Puppet => "puppet",
1733            Language::PureData => "pure-data",
1734            Language::PureBasic => "purebasic",
1735            Language::PureScript => "purescript",
1736            Language::Pyret => "pyret",
1737            Language::Python => "python",
1738            Language::Pythonconsole => "python-console",
1739            Language::Pythontraceback => "python-traceback",
1740            Language::q => "q",
1741            Language::QSharp => "q%23",
1742            Language::QMake => "qmake",
1743            Language::QML => "qml",
1744            Language::QtScript => "qt-script",
1745            Language::Quake => "quake",
1746            Language::QuickBASIC => "quickbasic",
1747            Language::R => "r",
1748            Language::Racket => "racket",
1749            Language::Ragel => "ragel",
1750            Language::Raku => "raku",
1751            Language::RAML => "raml",
1752            Language::Rascal => "rascal",
1753            Language::Rawtokendata => "raw-token-data",
1754            Language::RBS => "rbs",
1755            Language::RDoc => "rdoc",
1756            Language::ReadlineConfig => "readline-config",
1757            Language::REALbasic => "realbasic",
1758            Language::Reason => "reason",
1759            Language::ReasonLIGO => "reasonligo",
1760            Language::Rebol => "rebol",
1761            Language::RecordJar => "record-jar",
1762            Language::Red => "red",
1763            Language::Redcode => "redcode",
1764            Language::RedirectRules => "redirect-rules",
1765            Language::RegularExpression => "regular-expression",
1766            Language::RenPy => "ren'py",
1767            Language::RenderScript => "renderscript",
1768            Language::ReScript => "rescript",
1769            Language::reStructuredText => "restructuredtext",
1770            Language::REXX => "rexx",
1771            Language::Rez => "rez",
1772            Language::RichTextFormat => "rich-text-format",
1773            Language::Ring => "ring",
1774            Language::Riot => "riot",
1775            Language::RMarkdown => "rmarkdown",
1776            Language::RobotFramework => "robotframework",
1777            Language::robotstxt => "robots.txt",
1778            Language::Roc => "roc",
1779            Language::Roff => "roff",
1780            Language::RoffManpage => "roff-manpage",
1781            Language::RON => "ron",
1782            Language::Rouge => "rouge",
1783            Language::RouterOSScript => "routeros-script",
1784            Language::RPC => "rpc",
1785            Language::RPGLE => "rpgle",
1786            Language::RPMSpec => "rpm-spec",
1787            Language::Ruby => "ruby",
1788            Language::RUNOFF => "runoff",
1789            Language::Rust => "rust",
1790            Language::Sage => "sage",
1791            Language::SaltStack => "saltstack",
1792            Language::SAS => "sas",
1793            Language::Sass => "sass",
1794            Language::Scala => "scala",
1795            Language::Scaml => "scaml",
1796            Language::Scenic => "scenic",
1797            Language::Scheme => "scheme",
1798            Language::Scilab => "scilab",
1799            Language::SCSS => "scss",
1800            Language::sed => "sed",
1801            Language::_Self => "self",
1802            Language::SELinuxPolicy => "selinux-policy",
1803            Language::ShaderLab => "shaderlab",
1804            Language::Shell => "shell",
1805            Language::ShellCheckConfig => "shellcheck-config",
1806            Language::ShellSession => "shellsession",
1807            Language::Shen => "shen",
1808            Language::Sieve => "sieve",
1809            Language::SimpleFileVerification => "simple-file-verification",
1810            Language::Singularity => "singularity",
1811            Language::Slang => "slang",
1812            Language::Slash => "slash",
1813            Language::Slice => "slice",
1814            Language::Slim => "slim",
1815            Language::Slint => "slint",
1816            Language::Smali => "smali",
1817            Language::Smalltalk => "smalltalk",
1818            Language::Smarty => "smarty",
1819            Language::Smithy => "smithy",
1820            Language::SmPL => "smpl",
1821            Language::SMT => "smt",
1822            Language::Snakemake => "snakemake",
1823            Language::Solidity => "solidity",
1824            Language::Soong => "soong",
1825            Language::SourcePawn => "sourcepawn",
1826            Language::SPARQL => "sparql",
1827            Language::SplineFontDatabase => "spline-font-database",
1828            Language::SQF => "sqf",
1829            Language::SQL => "sql",
1830            Language::SQLPL => "sqlpl",
1831            Language::Squirrel => "squirrel",
1832            Language::SRecodeTemplate => "srecode-template",
1833            Language::SSHConfig => "ssh-config",
1834            Language::Stan => "stan",
1835            Language::StandardML => "standard-ml",
1836            Language::STAR => "star",
1837            Language::Starlark => "starlark",
1838            Language::Stata => "stata",
1839            Language::STL => "stl",
1840            Language::STON => "ston",
1841            Language::StringTemplate => "stringtemplate",
1842            Language::Stylus => "stylus",
1843            Language::SubRipText => "subrip-text",
1844            Language::SugarSS => "sugarss",
1845            Language::SuperCollider => "supercollider",
1846            Language::Svelte => "svelte",
1847            Language::SVG => "svg",
1848            Language::Sway => "sway",
1849            Language::Sweave => "sweave",
1850            Language::Swift => "swift",
1851            Language::SWIG => "swig",
1852            Language::SystemVerilog => "systemverilog",
1853            Language::Tact => "tact",
1854            Language::Talon => "talon",
1855            Language::Tcl => "tcl",
1856            Language::Tcsh => "tcsh",
1857            Language::Tea => "tea",
1858            Language::templ => "templ",
1859            Language::Terra => "terra",
1860            Language::TerraformTemplate => "terraform-template",
1861            Language::TeX => "tex",
1862            Language::Texinfo => "texinfo",
1863            Language::Text => "text",
1864            Language::TextGrid => "textgrid",
1865            Language::Textile => "textile",
1866            Language::TextMateProperties => "textmate-properties",
1867            Language::Thrift => "thrift",
1868            Language::TIProgram => "ti-program",
1869            Language::TLVerilog => "tl-verilog",
1870            Language::TLA => "tla",
1871            Language::Toit => "toit",
1872            Language::TOML => "toml",
1873            Language::TreesitterQuery => "tree-sitter-query",
1874            Language::TSPLIBdata => "tsplib-data",
1875            Language::TSQL => "tsql",
1876            Language::TSV => "tsv",
1877            Language::TSX => "tsx",
1878            Language::Turing => "turing",
1879            Language::Turtle => "turtle",
1880            Language::Twig => "twig",
1881            Language::TXL => "txl",
1882            Language::TypeLanguage => "type-language",
1883            Language::TypeScript => "typescript",
1884            Language::TypeSpec => "typespec",
1885            Language::Typst => "typst",
1886            Language::UnifiedParallelC => "unified-parallel-c",
1887            Language::Unity3DAsset => "unity3d-asset",
1888            Language::UnixAssembly => "unix-assembly",
1889            Language::Uno => "uno",
1890            Language::UnrealScript => "unrealscript",
1891            Language::UrWeb => "urweb",
1892            Language::V => "v",
1893            Language::Vala => "vala",
1894            Language::ValveDataFormat => "valve-data-format",
1895            Language::VBA => "vba",
1896            Language::VBScript => "vbscript",
1897            Language::vCard => "vcard",
1898            Language::VCL => "vcl",
1899            Language::VelocityTemplateLanguage => "velocity-template-language",
1900            Language::Verilog => "verilog",
1901            Language::VHDL => "vhdl",
1902            Language::VimHelpFile => "vim-help-file",
1903            Language::VimScript => "vim-script",
1904            Language::VimSnippet => "vim-snippet",
1905            Language::VisualBasicNET => "visual-basic-.net",
1906            Language::VisualBasic6_0 => "visual-basic-6.0",
1907            Language::Volt => "volt",
1908            Language::Vue => "vue",
1909            Language::Vyper => "vyper",
1910            Language::WavefrontMaterial => "wavefront-material",
1911            Language::WavefrontObject => "wavefront-object",
1912            Language::WDL => "wdl",
1913            Language::WebOntologyLanguage => "web-ontology-language",
1914            Language::WebAssembly => "webassembly",
1915            Language::WebAssemblyInterfaceType => "webassembly-interface-type",
1916            Language::WebIDL => "webidl",
1917            Language::WebVTT => "webvtt",
1918            Language::WgetConfig => "wget-config",
1919            Language::WGSL => "wgsl",
1920            Language::Whiley => "whiley",
1921            Language::Wikitext => "wikitext",
1922            Language::Win32MessageFile => "win32-message-file",
1923            Language::WindowsRegistryEntries => "windows-registry-entries",
1924            Language::wisp => "wisp",
1925            Language::WitcherScript => "witcher-script",
1926            Language::Wollok => "wollok",
1927            Language::WorldofWarcraftAddonData => "world-of-warcraft-addon-data",
1928            Language::Wren => "wren",
1929            Language::XBitMap => "x-bitmap",
1930            Language::XFontDirectoryIndex => "x-font-directory-index",
1931            Language::XPixMap => "x-pixmap",
1932            Language::X10 => "x10",
1933            Language::xBase => "xbase",
1934            Language::XC => "xc",
1935            Language::XCompose => "xcompose",
1936            Language::Xmake => "xmake",
1937            Language::XML => "xml",
1938            Language::XMLPropertyList => "xml-property-list",
1939            Language::Xojo => "xojo",
1940            Language::Xonsh => "xonsh",
1941            Language::XPages => "xpages",
1942            Language::XProc => "xproc",
1943            Language::XQuery => "xquery",
1944            Language::XS => "xs",
1945            Language::XSLT => "xslt",
1946            Language::Xtend => "xtend",
1947            Language::Yacc => "yacc",
1948            Language::YAML => "yaml",
1949            Language::YANG => "yang",
1950            Language::YARA => "yara",
1951            Language::YASnippet => "yasnippet",
1952            Language::Yul => "yul",
1953            Language::ZAP => "zap",
1954            Language::Zeek => "zeek",
1955            Language::ZenScript => "zenscript",
1956            Language::Zephir => "zephir",
1957            Language::Zig => "zig",
1958            Language::ZIL => "zil",
1959            Language::Zimpl => "zimpl",
1960        }
1961    }
1962}