# This file is auto-generated by the build system.
# DO NOT EDIT THIS FILE MANUALLY.

import json
from enum import Enum
from pathlib import Path

class Language(Enum):
    ABAP = "ABAP"
    ABNF = "ABNF"
    APL = "APL"
    ASP = "ASP"
    ASP_NET = "ASP.NET"
    ATS = "ATS"
    AWK = "AWK"
    ACTIONSCRIPT = "ActionScript"
    ADA = "Ada"
    AGDA = "Agda"
    ALCHEMIST = "Alchemist"
    ALEX = "Alex"
    ALLOY = "Alloy"
    ANDROID_INTERFACE_DEFINITION_LANGUAGE = "Android Interface Definition Language"
    APPLESCRIPT = "AppleScript"
    ARTURO = "Arturo"
    ASCIIDOC = "AsciiDoc"
    ASSEMBLY = "Assembly"
    ASTRO = "Astro"
    AUTOHOTKEY = "AutoHotKey"
    AUTOCONF = "Autoconf"
    AVRO = "Avro"
    BASH = "BASH"
    BASIC = "Basic"
    BATCH = "Batch"
    BAZEL = "Bazel"
    BEAN = "Bean"
    BICEP = "Bicep"
    BITBAKE = "Bitbake"
    BITBUCKET_PIPELINE = "Bitbucket Pipeline"
    BLADE_TEMPLATE = "Blade template"
    BLUEPRINT = "Blueprint"
    BOO = "Boo"
    BOSQUE = "Bosque"
    BRAINFUCK = "Brainfuck"
    BUILDSTREAM = "BuildStream"
    C = "C"
    C_HEADER = "C Header"
    C_SHELL = "C Shell"
    CSHARP = "C#"
    CPLUSPLUS = "C++"
    CPLUSPLUS_HEADER = "C++ Header"
    C3 = "C3"
    CMAKE = "CMake"
    COBOL = "COBOL"
    CSS = "CSS"
    CSV = "CSV"
    CABAL = "Cabal"
    CAIRO = "Cairo"
    CANGJIE = "Cangjie"
    CAP_N_PROTO = "Cap'n Proto"
    CASSIUS = "Cassius"
    CEYLON = "Ceylon"
    CHAPEL = "Chapel"
    CIRCOM = "Circom"
    CLIPPER = "Clipper"
    CLOJURE = "Clojure"
    CLOJURESCRIPT = "ClojureScript"
    CLOSURE_TEMPLATE = "Closure Template"
    CLOUDFORMATION__JSON_ = "CloudFormation (JSON)"
    CLOUDFORMATION__YAML_ = "CloudFormation (YAML)"
    CODEQL = "CodeQL"
    COFFEESCRIPT = "CoffeeScript"
    COGENT = "Cogent"
    COLDFUSION = "ColdFusion"
    COLDFUSION_CFSCRIPT = "ColdFusion CFScript"
    COQ = "Coq"
    CREOLE = "Creole"
    CRYSTAL = "Crystal"
    CUDA = "Cuda"
    CYTHON = "Cython"
    D = "D"
    DAML = "DAML"
    DM = "DM"
    DOT = "DOT"
    DART = "Dart"
    DEVICE_TREE = "Device Tree"
    DHALL = "Dhall"
    DOCKER_IGNORE = "Docker ignore"
    DOCKERFILE = "Dockerfile"
    DOCUMENT_TYPE_DEFINITION = "Document Type Definition"
    EASYTRIEVE = "EASYTRIEVE"
    ELIXIR = "Elixir"
    ELIXIR_TEMPLATE = "Elixir Template"
    ELM = "Elm"
    EMACS_DEV_ENV = "Emacs Dev Env"
    EMACS_LISP = "Emacs Lisp"
    EMIT = "EmiT"
    ERLANG = "Erlang"
    EXPECT = "Expect"
    EXTENSIBLE_STYLESHEET_LANGUAGE_TRANSFORMATIONS = "Extensible Stylesheet Language Transformations"
    FSHARP = "F#"
    FSTAR = "F*"
    FIDL = "FIDL"
    FORTRAN_LEGACY = "FORTRAN Legacy"
    FSL = "FSL"
    FXML = "FXML"
    FACTOR = "Factor"
    FENNEL = "Fennel"
    FISH = "Fish"
    FLOW9 = "Flow9"
    FORTH = "Forth"
    FORTRAN_MODERN = "Fortran Modern"
    FRAGMENT_SHADER_FILE = "Fragment Shader File"
    FREEMARKER_TEMPLATE = "Freemarker Template"
    FUTHARK = "Futhark"
    GDSCRIPT = "GDScript"
    GLSL = "GLSL"
    GN = "GN"
    GAME_MAKER_LANGUAGE = "Game Maker Language"
    GAME_MAKER_PROJECT = "Game Maker Project"
    GEMFILE = "Gemfile"
    GHERKIN_SPECIFICATION = "Gherkin Specification"
    GLEAM = "Gleam"
    GO = "Go"
    GO_TEMPLATE = "Go Template"
    GOPLUS = "Go+"
    GODOT_SCENE = "Godot Scene"
    GRADLE = "Gradle"
    GRAPHQL = "GraphQL"
    GROOVY = "Groovy"
    GWION = "Gwion"
    HAML = "HAML"
    HCL = "HCL"
    HEEX = "HEEx"
    HEX = "HEX"
    HTML = "HTML"
    HAMLET = "Hamlet"
    HANDLEBARS = "Handlebars"
    HAPPY = "Happy"
    HARE = "Hare"
    HASKELL = "Haskell"
    HAXE = "Haxe"
    IDL = "IDL"
    INI = "INI"
    IDRIS = "Idris"
    INTEL_HEX = "Intel HEX"
    ISABELLE = "Isabelle"
    JAI = "JAI"
    JCL = "JCL"
    JSON = "JSON"
    JSON5 = "JSON5"
    JSONC = "JSONC"
    JSONL = "JSONL"
    JSX = "JSX"
    JADE = "Jade"
    JANET = "Janet"
    JAVA = "Java"
    JAVASCRIPT = "JavaScript"
    JAVASERVER_PAGES = "JavaServer Pages"
    JENKINS_BUILDFILE = "Jenkins Buildfile"
    JINJA = "Jinja"
    JSONNET = "Jsonnet"
    JULIA = "Julia"
    JULIUS = "Julius"
    JUPYTER = "Jupyter"
    JUST = "Just"
    K = "K"
    KORN_SHELL = "Korn Shell"
    KOTLIN = "Kotlin"
    KOTO = "Koto"
    LALRPOP = "LALRPOP"
    LD_SCRIPT = "LD Script"
    LESS = "LESS"
    LEX = "LEX"
    LLVM_IR = "LLVM IR"
    LOLCODE = "LOLCODE"
    LATEX = "LaTeX"
    LEAN = "Lean"
    LICENSE = "License"
    LISP = "Lisp"
    LIVESCRIPT = "LiveScript"
    LUA = "Lua"
    LUAU = "Luau"
    LUCIUS = "Lucius"
    LUNA = "Luna"
    MATLAB = "MATLAB"
    MDX = "MDX"
    MQL_HEADER = "MQL Header"
    MQL4 = "MQL4"
    MQL5 = "MQL5"
    MSBUILD = "MSBuild"
    MUMPS = "MUMPS"
    MACROMEDIA_EXTENSIBLE_MARKUP_LANGUAGE = "Macromedia eXtensible Markup Language"
    MADLANG = "Madlang"
    MAKEFILE = "Makefile"
    MAKO = "Mako"
    MARKDOWN = "Markdown"
    MAX = "Max"
    MESON = "Meson"
    METAL = "Metal"
    MODULA3 = "Modula3"
    MODULE_DEFINITION = "Module-Definition"
    MONKEY_C = "Monkey C"
    MOONBIT = "Moonbit"
    MUSTACHE = "Mustache"
    NIAL = "Nial"
    NIM = "Nim"
    NIX = "Nix"
    NUSHELL = "Nushell"
    OCAML = "OCaml"
    OBJECTIVE_C = "Objective C"
    OBJECTIVE_CPLUSPLUS = "Objective C++"
    ODIN = "Odin"
    OPALANG = "Opalang"
    OPENQASM = "OpenQASM"
    OPENTOFU = "OpenTofu"
    ORG = "Org"
    OZ = "Oz"
    PHP = "PHP"
    PKGBUILD = "PKGBUILD"
    PL_SQL = "PL/SQL"
    PLI = "PLI"
    PRQL = "PRQL"
    PSL_ASSERTION = "PSL Assertion"
    PASCAL = "Pascal"
    PATCH = "Patch"
    PERL = "Perl"
    PHOENIX_LIVEVIEW = "Phoenix LiveView"
    PICAT = "Picat"
    PKL = "Pkl"
    PLAIN_TEXT = "Plain Text"
    POLLY = "Polly"
    PONY = "Pony"
    POSTSCRIPT = "PostScript"
    POWERSHELL = "Powershell"
    PROCESSING = "Processing"
    PROLOG = "Prolog"
    PROPERTIES_FILE = "Properties File"
    PROTOCOL_BUFFERS = "Protocol Buffers"
    PUPPET = "Puppet"
    PURESCRIPT = "PureScript"
    PYTHON = "Python"
    QSHARP = "Q#"
    QCL = "QCL"
    QML = "QML"
    R = "R"
    RAML = "RAML"
    RPG = "RPG"
    RACKET = "Racket"
    RAKEFILE = "Rakefile"
    RAKU = "Raku"
    RAZOR = "Razor"
    RESCRIPT = "ReScript"
    RESTRUCTUREDTEXT = "ReStructuredText"
    REASONML = "ReasonML"
    REDSCRIPT = "Redscript"
    REPORT_DEFINITION_LANGUAGE = "Report Definition Language"
    ROBOT_FRAMEWORK = "Robot Framework"
    RUBY = "Ruby"
    RUBY_HTML = "Ruby HTML"
    RUST = "Rust"
    SAS = "SAS"
    SKILL = "SKILL"
    SNOBOL = "SNOBOL"
    SPDX = "SPDX"
    SPL = "SPL"
    SQL = "SQL"
    SRECODE_TEMPLATE = "SRecode Template"
    SVG = "SVG"
    SASS = "Sass"
    SCALA = "Scala"
    SCALLOP = "Scallop"
    SCHEME = "Scheme"
    SCONS = "Scons"
    SHELL = "Shell"
    SIEVE = "Sieve"
    SLANG = "Slang"
    SLINT = "Slint"
    SMALLTALK = "Smalltalk"
    SMARTY_TEMPLATE = "Smarty Template"
    SNAKEMAKE = "Snakemake"
    SOFTBRIDGE_BASIC = "Softbridge Basic"
    SOLIDITY = "Solidity"
    SPECMAN_E = "Specman e"
    SPICE_NETLIST = "Spice Netlist"
    STAN = "Stan"
    STANDARD_ML__SML_ = "Standard ML (SML)"
    STATA = "Stata"
    STYLUS = "Stylus"
    SVELTE = "Svelte"
    SWIFT = "Swift"
    SWIG = "Swig"
    SYSTEMVERILOG = "SystemVerilog"
    SYSTEMD = "Systemd"
    TCL = "TCL"
    TL = "TL"
    TOML = "TOML"
    TTCN_3 = "TTCN-3"
    TACT = "Tact"
    TASKPAPER = "TaskPaper"
    TEX = "TeX"
    TEAL = "Teal"
    TEMPL = "Templ"
    TEMPLATETOOLKIT = "TemplateToolkit"
    TERA = "Tera"
    TERRAFORM = "Terraform"
    TEXTILE = "Textile"
    THRIFT = "Thrift"
    TREETOP = "Treetop"
    TWIG_TEMPLATE = "Twig Template"
    TYPESCRIPT = "TypeScript"
    TYPESCRIPT_TYPINGS = "TypeScript Typings"
    TYPESPEC = "TypeSpec"
    TYPST = "Typst"
    UNREAL_SCRIPT = "Unreal Script"
    UP = "Up"
    UR_WEB = "Ur/Web"
    UR_WEB_PROJECT = "Ur/Web Project"
    V = "V"
    VHDL = "VHDL"
    VALA = "Vala"
    VARNISH_CONFIGURATION = "Varnish Configuration"
    VERILOG = "Verilog"
    VERILOG_ARGS_FILE = "Verilog Args File"
    VERTEX_SHADER_FILE = "Vertex Shader File"
    VIM_SCRIPT = "Vim Script"
    VISUAL_BASIC = "Visual Basic"
    VISUAL_BASIC_FOR_APPLICATIONS = "Visual Basic for Applications"
    VUE = "Vue"
    W_I_S_E__JOBFILE = "W.I.S.E. Jobfile"
    WEB_SERVICES_DESCRIPTION_LANGUAGE = "Web Services Description Language"
    WEBGPU_SHADING_LANGUAGE = "WebGPU Shading Language"
    WINDOWS_RESOURCE_DEFINITION_SCRIPT = "Windows Resource-Definition Script"
    WOLFRAM = "Wolfram"
    WREN = "Wren"
    XAML = "XAML"
    XML = "XML"
    XML_SCHEMA = "XML Schema"
    XMAKE = "XMake"
    XCODE_CONFIG = "Xcode Config"
    XTEND = "Xtend"
    YAML = "YAML"
    YARN = "Yarn"
    ZIG = "Zig"
    ZOKRATES = "ZoKrates"
    ZSH = "Zsh"
    BAIT = "bait"
    GITIGNORE = "gitignore"
    HOON = "hoon"
    IGNORE = "ignore"
    JQ = "jq"
    M4 = "m4"
    NUSPEC = "nuspec"
    SED = "sed"
    WENYAN = "wenyan"


    def get_config(self):
        config_path = Path(__file__).parent / "language.json"
        with open(config_path, "r", encoding="utf-8") as f:
            all_configs = json.load(f)
        return all_configs.get(self.value)
