github_trending_rs/
params.rs

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