# ------------------------------------------------------------------------------
#  es7s/commons
#  (c) 2023 A. Shavykin <0.delameter@gmail.com>
# ------------------------------------------------------------------------------
import pytermor as pt


# https://wakatime.com/colors/languages

# a={}; k=""; for (var col of jQuery("span.editor-icon")){ for (s of [...$("div",col)]) {
# d=s.innerText; if (k) { a[d]=k; k=null; } else { k = d; } } }; console.log(a);


class PLangColor(pt.RealColor, pt.RenderColor, pt.ResolvableColor["PLangColor"]):
    # fmt: off
    MAP = {
        "1C Enterprise":                  0x814ccc,
        "2-Dimensional Array":            0x38761d,
        "4D":                             0x004289,
        "ABAP CDS":                       0x555e25,
        "ABAP":                           0xe8274b,
        "AGS Script":                     0xb9d9ff,
        "AIDL":                           0x34eb6b,
        "AL":                             0x3aa2b5,
        "AMPL":                           0xe6efbb,
        "ANTLR":                          0x9dc3ff,
        "API Blueprint":                  0x2acca8,
        "APL":                            0x5a8164,
        "ASP.NET":                        0x9400ff,
        "ATS":                            0x1ac620,
        "ActionScript":                   0x882b0f,
        "Ada":                            0x02f88c,
        "Adblock Filter List":            0x800000,
        "Adobe Font Metrics":             0xfa0f00,
        "Agda":                           0x315665,
        "Alloy":                          0x64c800,
        "Alpine Abuild":                  0x0d597f,
        "Altium Designer":                0xa89663,
        "AngelScript":                    0xc7d7dc,
        "Ant Build System":               0xa9157e,
        "Antlers":                        0xff269e,
        "ApacheConf":                     0xd12127,
        "Apex":                           0x1797c0,
        "Apollo Guidance Computer":       0x0b3d91,
        "AppleScript":                    0x101f1f,
        "Arc":                            0xaa2afe,
        "AsciiDoc":                       0x73a0c5,
        "AspectJ":                        0xa957b0,
        "Assembly":                       0x6e4c13,
        "Astro":                          0xff5a03,
        "Asymptote":                      0xff0000,
        "Augeas":                         0x9cc134,
        "AutoHotkey":                     0x6594b9,
        "AutoIt":                         0x1c3552,
        "Avro IDL":                       0x0040ff,
        "Awk":                            0xc30e9b,
        "BASIC":                          0xff0000,
        "Ballerina":                      0xff5000,
        "Batchfile":                      0xc1f12e,
        "Beef":                           0xa52f4e,
        "Berry":                          0x15a13c,
        "BibTeX":                         0x778899,
        "Bicep":                          0x519aba,
        "Bikeshed":                       0x5562ac,
        "Bison":                          0x6a463f,
        "BitBake":                        0x00bce4,
        "Blade":                          0xf7523f,
        "BlitzBasic":                     0x00ffae,
        "BlitzMax":                       0xcd6400,
        "Bluespec":                       0x12223c,
        "Boo":                            0xd4bec1,
        "Boogie":                         0xc80fa0,
        "Brainfuck":                      0x2f2530,
        "BrighterScript":                 0x66aabb,
        "Brightscript":                   0x662d91,
        "Browserslist":                   0xffd539,
        "C":                              0x555555,
        "C#":                             0x178600,
        "C++":                            0xf34b7d,
        "CAP CDS":                        0x0092d1,
        "CLIPS":                          0x00a300,
        "CMake":                          0xda3434,
        "COLLADA":                        0xf1a42b,
        "CSON":                           0x244776,
        "CSS":                            0x563d7c,
        "CSV":                            0x237346,
        "CUE":                            0x5886e1,
        "CWeb":                           0x00007a,
        "Cabal Config":                   0x483465,
        "Cadence":                        0x00ef8b,
        "Cairo":                          0xff4a48,
        "CameLIGO":                       0x3be133,
        "Cap'n Proto":                    0xc42727,
        "Ceylon":                         0xdfa535,
        "Chapel":                         0x8dc63f,
        "ChucK":                          0x3f8000,
        "Circom":                         0x707575,
        "Cirru":                          0xccccff,
        "Clarion":                        0xdb901e,
        "Clarity":                        0x5546ff,
        "Classic ASP":                    0x6a40fd,
        "Clean":                          0x3f85af,
        "Click":                          0xe4e6f3,
        "Clojure":                        0xdb5855,
        "Closure Templates":              0x0d948f,
        "Cloud Firestore Security Rules": 0xffa000,
        "CodeQL":                         0x140f46,
        "CoffeeScript":                   0x244776,
        "ColdFusion CFC":                 0xed2cd6,
        "ColdFusion":                     0xed2cd6,
        "Common Lisp":                    0x3fb68b,
        "Common Workflow Language":       0xb5314c,
        "Component Pascal":               0xb0ce4e,
        "Coq":                            0xd0b68c,
        "Crystal":                        0x000100,
        "Csound Document":                0x1a1a1a,
        "Csound Score":                   0x1a1a1a,
        "Csound":                         0x1a1a1a,
        "Cuda":                           0x3a4e3a,
        "Curry":                          0x531242,
        "Cypher":                         0x34c0eb,
        "Cython":                         0xfedf5b,
        "D":                              0xba595e,
        "DM":                             0x447265,
        "Dafny":                          0xffec25,
        "Darcs Patch":                    0x8eff23,
        "Dart":                           0x00b4ab,
        "DataWeave":                      0x003a52,
        "Debian Package Control File":    0xd70751,
        "DenizenScript":                  0xfbee96,
        "Dhall":                          0xdfafff,
        "DirectX 3D File":                0xaace60,
        "Dockerfile":                     0x384d54,
        "Dogescript":                     0xcca760,
        "Dotenv":                         0xe5d559,
        "Dylan":                          0x6c616e,
        "E":                              0xccce35,
        "ECL":                            0x8a1267,
        "ECLiPSe":                        0x001d9d,
        "EJS":                            0xa91e50,
        "EQ":                             0xa78649,
        "Earthly":                        0x2af0ff,
        "Easybuild":                      0x069406,
        "Ecere Projects":                 0x913960,
        "Ecmarkup":                       0xeb8131,
        "EditorConfig":                   0xfff1f2,
        "Eiffel":                         0x4d6977,
        "Elixir":                         0x6e4a7e,
        "Elm":                            0x60b5cc,
        "Elvish Transcript":              0x55bb55,
        "Elvish":                         0x55bb55,
        "Emacs Lisp":                     0xc065db,
        "EmberScript":                    0xfff4f3,
        "Erlang":                         0xb83998,
        "Euphoria":                       0xff790b,
        "F#":                             0xb845fc,
        "F*":                             0x572e30,
        "FIGlet Font":                    0xffddbb,
        "FLUX":                           0x88ccff,
        "Factor":                         0x636746,
        "Fancy":                          0x7b9db4,
        "Fantom":                         0x14253c,
        "Faust":                          0xc37240,
        "Fennel":                         0xfff3d7,
        "Filebench WML":                  0xf6b900,
        "Fluent":                         0xffcc33,
        "Forth":                          0x341708,
        "Fortran Free Form":              0x4d41b1,
        "Fortran":                        0x4d41b1,
        "FreeBasic":                      0x141ac9,
        "FreeMarker":                     0x0050b2,
        "Frege":                          0x00cafe,
        "Futhark":                        0x5f021f,
        "G-code":                         0xd08cf2,
        "GAML":                           0xffc766,
        "GAMS":                           0xf49a22,
        "GAP":                            0x0000cc,
        "GCC Machine Description":        0xffcfab,
        "GDScript":                       0x355570,
        "GEDCOM":                         0x003058,
        "GLSL":                           0x5686a5,
        "GSC":                            0xff6800,
        "Game Maker Language":            0x71b417,
        "Gemfile.lock":                   0x701516,
        "Gemini":                         0xff6900,
        "Genero Forms":                   0xd8df39,
        "Genero":                         0x63408e,
        "Genie":                          0xfb855d,
        "Genshi":                         0x951531,
        "Gentoo Ebuild":                  0x9400ff,
        "Gentoo Eclass":                  0x9400ff,
        "Gerber Image":                   0xd20b00,
        "Gherkin":                        0x5b2063,
        "Git Attributes":                 0xf44d27,
        "Git Config":                     0xf44d27,
        "Git Revision List":              0xf44d27,
        "Gleam":                          0xffaff3,
        "Glyph":                          0xc1ac7f,
        "Gnuplot":                        0xf0a9f0,
        "Go Checksums":                   0x00add8,
        "Go Module":                      0x00add8,
        "Go":                             0x00add8,
        "Godot Resource":                 0x355570,
        "Golo":                           0x88562a,
        "Gosu":                           0x82937f,
        "Grace":                          0x615f8b,
        "Gradle":                         0x02303a,
        "Grammatical Framework":          0xff0000,
        "GraphQL":                        0xe10098,
        "Graphviz (DOT)":                 0x2596be,
        "Groovy Server Pages":            0x4298b8,
        "Groovy":                         0x4298b8,
        "HAProxy":                        0x106da9,
        "HCL":                            0x844fba,
        "HLSL":                           0xaace60,
        "HOCON":                          0x9ff8ee,
        "HTML":                           0xe34c26,
        "HTML+ECR":                       0x2e1052,
        "HTML+EEX":                       0x6e4a7e,
        "HTML+ERB":                       0x701516,
        "HTML+PHP":                       0x4f5d95,
        "HTML+Razor":                     0x512be4,
        "HTTP":                           0x005c9c,
        "HXML":                           0xf68712,
        "Hack":                           0x878787,
        "Haml":                           0xece2a9,
        "Handlebars":                     0xf7931e,
        "Harbour":                        0x0e60e3,
        "Haskell":                        0x5e5086,
        "Haxe":                           0xdf7900,
        "HiveQL":                         0xdce200,
        "HolyC":                          0xffefaf,
        "Hy":                             0x7790b2,
        "IDL":                            0xa3522f,
        "IGOR Pro":                       0x0000cc,
        "INI":                            0xd1dbe0,
        "Idris":                          0xb30000,
        "Ignore List":                    0x000000,
        "ImageJ Macro":                   0x99aaff,
        "Imba":                           0x16cec6,
        "Inno Setup":                     0x264b99,
        "Io":                             0xa9188d,
        "Ioke":                           0x078193,
        "Isabelle ROOT":                  0xfefe00,
        "Isabelle":                       0xfefe00,
        "J":                              0x9eedff,
        "JAR Manifest":                   0xb07219,
        "JCL":                            0xd90e09,
        "JFlex":                          0xdbca00,
        "JSON with Comments":             0x292929,
        "JSON":                           0x292929,
        "JSON5":                          0x267cb9,
        "JSONLD":                         0x0c479c,
        "JSONiq":                         0x40d47e,
        "Janet":                          0x0886a5,
        "Jasmin":                         0xd03600,
        "Java Properties":                0x2a6277,
        "Java Server Pages":              0x2a6277,
        "Java":                           0xb07219,
        "JavaScript":                     0xf1e05a,
        "JavaScript+ERB":                 0xf1e05a,
        "Jest Snapshot":                  0x15c213,
        "JetBrains MPS":                  0x21d789,
        "Jinja":                          0xa52a22,
        "Jison Lex":                      0x56b3cb,
        "Jison":                          0x56b3cb,
        "Jolie":                          0x843179,
        "Jsonnet":                        0x0064bd,
        "Julia":                          0xa270ba,
        "Jupyter Notebook":               0xda5b0b,
        "Just":                           0x384d54,
        "KRL":                            0x28430a,
        "Kaitai Struct":                  0x773b37,
        "KakouneScript":                  0x6f8042,
        "KerboScript":                    0x41adf0,
        "KiCad Layout":                   0x2f4aab,
        "KiCad Legacy Layout":            0x2f4aab,
        "KiCad Schematic":                0x2f4aab,
        "Kotlin":                         0xa97bff,
        "LFE":                            0x4c3023,
        "LLVM":                           0x185619,
        "LOLCODE":                        0xcc9900,
        "LSL":                            0x3d9970,
        "LabVIEW":                        0xfede06,
        "Lark":                           0x2980b9,
        "Lasso":                          0x999999,
        "Latte":                          0xf2a542,
        "Less":                           0x1d365d,
        "Lex":                            0xdbca00,
        "LigoLANG":                       0x0e74ff,
        "LilyPond":                       0x9ccc7c,
        "Liquid":                         0x67b8de,
        "Literate Agda":                  0x315665,
        "Literate CoffeeScript":          0x244776,
        "Literate Haskell":               0x5e5086,
        "LiveScript":                     0x499886,
        "Logtalk":                        0x295b9a,
        "LookML":                         0x652b81,
        "Lua":                            0x000080,
        "MATLAB":                         0xe16737,
        "MAXScript":                      0x00a6a6,
        "MLIR":                           0x5ec8db,
        "MQL4":                           0x62a8d6,
        "MQL5":                           0x4a76b8,
        "MTML":                           0xb7e1f4,
        "Macaulay2":                      0xd8ffff,
        "Makefile":                       0x427819,
        "Mako":                           0x7e858d,
        "Markdown":                       0x083fa1,
        "Marko":                          0x42bff2,
        "Mask":                           0xf97732,
        "Mathematica":                    0xdd1100,
        "Max":                            0xc4a79c,
        "Mercury":                        0xff2b2b,
        "Mermaid":                        0xff3670,
        "Meson":                          0x007800,
        "Metal":                          0x8f14e9,
        "MiniYAML":                       0xff1111,
        "Mint":                           0x02b046,
        "Mirah":                          0xc7a938,
        "Modelica":                       0xde1d31,
        "Modula-2":                       0x10253f,
        "Modula-3":                       0x223388,
        "Monkey C":                       0x8d6747,
        "MoonScript":                     0xff4585,
        "Motoko":                         0xfbb03b,
        "Motorola 68K Assembly":          0x005daa,
        "Move":                           0x4a137a,
        "Mustache":                       0x724b3b,
        "NCL":                            0x28431f,
        "NPM Config":                     0xcb3837,
        "NWScript":                       0x111522,
        "Nasal":                          0x1d2c4e,
        "Nearley":                        0x990000,
        "Nemerle":                        0x3d3c6e,
        "NetLinx":                        0x0aa0ff,
        "NetLinx+ERB":                    0x747faa,
        "NetLogo":                        0xff6375,
        "NewLisp":                        0x87aed7,
        "Nextflow":                       0x3ac486,
        "Nginx":                          0x009639,
        "Nim":                            0xffc200,
        "Nit":                            0x009917,
        "Nix":                            0x7e7eff,
        "Nu":                             0xc9df40,
        "NumPy":                          0x9c8af9,
        "Nunjucks":                       0x3d8137,
        "OASv2-json":                     0x85ea2d,
        "OASv2-yaml":                     0x85ea2d,
        "OASv3-json":                     0x85ea2d,
        "OASv3-yaml":                     0x85ea2d,
        "OCaml":                          0x3be133,
        "ObjectScript":                   0x424893,
        "Objective-C":                    0x438eff,
        "Objective-C++":                  0x6866fb,
        "Objective-J":                    0xff0c5a,
        "Odin":                           0x60affe,
        "Omgrofl":                        0xcabbff,
        "Opal":                           0xf7ede0,
        "Open Policy Agent":              0x7d9199,
        "OpenAPI Specification v2":       0x85ea2d,
        "OpenAPI Specification v3":       0x85ea2d,
        "OpenCL":                         0xed2e2d,
        "OpenEdge ABL":                   0x5ce600,
        "OpenQASM":                       0xaa70ff,
        "OpenSCAD":                       0xe5cd45,
        "Option List":                    0x476732,
        "Org":                            0x77aa99,
        "Oxygene":                        0xcdd0e3,
        "Oz":                             0xfab738,
        "P4":                             0x7055b5,
        "PDDL":                           0x0d00ff,
        "PEG.js":                         0x234d6b,
        "PHP":                            0x4f5d95,
        "PLSQL":                          0xdad8d8,
        "PLpgSQL":                        0x336790,
        "POV-Ray SDL":                    0x6bac65,
        "Pan":                            0xcc0000,
        "Papyrus":                        0x6600cc,
        "Parrot":                         0xf3ca0a,
        "Pascal":                         0xe3f171,
        "Pawn":                           0xdbb284,
        "Pep8":                           0xc76f5b,
        "Perl":                           0x0298c3,
        "PicoLisp":                       0x6067af,
        "PigLatin":                       0xfcd7de,
        "Pike":                           0x005390,
        "PlantUML":                       0xfbbd16,
        "PogoScript":                     0xd80074,
        "Polar":                          0xae81ff,
        "Portugol":                       0xf8bd00,
        "PostCSS":                        0xdc3a0c,
        "PostScript":                     0xda291c,
        "PowerBuilder":                   0x8f0f8d,
        "PowerShell":                     0x012456,
        "Prisma":                         0x0c344b,
        "Processing":                     0x0096d8,
        "Procfile":                       0x3b2f63,
        "Prolog":                         0x74283c,
        "Promela":                        0xde0000,
        "Propeller Spin":                 0x7fa2a7,
        "Pug":                            0xa86454,
        "Puppet":                         0x302b6d,
        "PureBasic":                      0x5a6986,
        "PureScript":                     0x1d222d,
        "Pyret":                          0xee1e10,
        "Python console":                 0x3572a5,
        "Python traceback":               0x3572a5,
        "Python":                         0x3572a5,
        "Q#":                             0xfed659,
        "QML":                            0x44a51c,
        "Qt Script":                      0x00b841,
        "Quake":                          0x882233,
        "R":                              0x198ce7,
        "RAML":                           0x77d9fb,
        "RDoc":                           0x701516,
        "REXX":                           0xd90e09,
        "RMarkdown":                      0x198ce7,
        "RPGLE":                          0x2bde21,
        "RUNOFF":                         0x665a4e,
        "Racket":                         0x3c5caa,
        "Ragel":                          0x9d5200,
        "Raku":                           0x0000fb,
        "Rascal":                         0xfffaa0,
        "ReScript":                       0xed5051,
        "Reason":                         0xff5847,
        "ReasonLIGO":                     0xff5847,
        "Rebol":                          0x358a5b,
        "Record Jar":                     0x0673ba,
        "Red":                            0xf50000,
        "Regular Expression":             0x009a00,
        "Ren'Py":                         0xff7f7f,
        "Ring":                           0x2d54cb,
        "Riot":                           0xa71e49,
        "RobotFramework":                 0x00c0b5,
        "Roff Manpage":                   0xecdebe,
        "Roff":                           0xecdebe,
        "Rouge":                          0xcc0088,
        "RouterOS Script":                0xde3941,
        "Ruby":                           0x701516,
        "Rust":                           0xdea584,
        "SAS":                            0xb34936,
        "SCSS":                           0xc6538c,
        "SPARQL":                         0x0c4597,
        "SQF":                            0x3f3f3f,
        "SQL":                            0xe38c00,
        "SQLPL":                          0xe38c00,
        "SRecode Template":               0x348a34,
        "STL":                            0x373b5e,
        "SVG":                            0xff9900,
        "SaltStack":                      0x646464,
        "Sass":                           0xa53b70,
        "Scala":                          0xc22d40,
        "Scaml":                          0xbd181a,
        "Scenic":                         0xfdc700,
        "Scheme":                         0x1e4aec,
        "Scilab":                         0xca0f21,
        "Self":                           0x0579aa,
        "ShaderLab":                      0x222c37,
        "Shell":                          0x89e051,
        "ShellCheck Config":              0xcecfcb,
        "Shen":                           0x120f14,
        "Simple File Verification":       0xc9bfed,
        "Singularity":                    0x64e6ad,
        "Slash":                          0x007eff,
        "Slice":                          0x003fa2,
        "Slim":                           0x2b2b2b,
        "SmPL":                           0xc94949,
        "Smalltalk":                      0x596706,
        "Smarty":                         0xf0c040,
        "Smithy":                         0xc44536,
        "Snakemake":                      0x419179,
        "Solidity":                       0xaa6746,
        "SourcePawn":                     0xf69e1d,
        "Squirrel":                       0x800000,
        "Stan":                           0xb2011d,
        "Standard ML":                    0xdc566d,
        "Starlark":                       0x76d275,
        "Stata":                          0x1a5f91,
        "StringTemplate":                 0x3fb34f,
        "Stylus":                         0xff6347,
        "SubRip Text":                    0x9e0101,
        "SugarSS":                        0x2fcc9f,
        "SuperCollider":                  0x46390b,
        "Svelte":                         0xff3e00,
        "Sway":                           0xdea584,
        "Swift":                          0xf05138,
        "SystemVerilog":                  0xdae1c2,
        "TI Program":                     0xa0aa87,
        "TLA":                            0x4b0079,
        "TOML":                           0x9c4221,
        "TSQL":                           0xe38c00,
        "TSV":                            0x237346,
        "TSX":                            0x3178c6,
        "TXL":                            0x0178b8,
        "Talon":                          0x333333,
        "Tcl":                            0xe4cc98,
        "TeX":                            0x3d6117,
        "Terra":                          0x00004c,
        "TextMate Properties":            0xdf66e4,
        "Textile":                        0xffe7ac,
        "Thrift":                         0xd12127,
        "Turing":                         0xcf142b,
        "Twig":                           0xc1d026,
        "TypeScript":                     0x3178c6,
        "Unified Parallel C":             0x4e3617,
        "Unity3D Asset":                  0x222c37,
        "Unknown Language":               0x1f9aef,
        "Uno":                            0x9933cc,
        "UnrealScript":                   0xa54c4d,
        "UrWeb":                          0xccccee,
        "V":                              0x4f87c4,
        "VBA":                            0x867db1,
        "VBScript":                       0x15dcdc,
        "VCL":                            0x148aa8,
        "VHDL":                           0xadb2cb,
        "Vala":                           0xa56de2,
        "Valve Data Format":              0xf26025,
        "Velocity Template Language":     0x507cff,
        "Verilog":                        0xb2b7f8,
        "Vim Help File":                  0x199f4b,
        "Vim Script":                     0x199f4b,
        "Vim Snippet":                    0x199f4b,
        "Visual Basic .NET":              0x945db7,
        "Visual Basic 6.0":               0x2c6353,
        "Volt":                           0x1f1f1f,
        "Vue":                            0x41b883,
        "Vyper":                          0x2980b9,
        "Web Ontology Language":          0x5b70bd,
        "WebAssembly":                    0x04133b,
        "Whiley":                         0xd5c397,
        "Wikitext":                       0xfc5757,
        "Windows Registry Entries":       0x52d5ff,
        "Witcher Script":                 0xff0000,
        "Wollok":                         0xa23738,
        "World of Warcraft Addon Data":   0xf7e43f,
        "Wren":                           0x383838,
        "X10":                            0x4b6bef,
        "XC":                             0x99da07,
        "XML Property List":              0x0060ac,
        "XML":                            0x0060ac,
        "XQuery":                         0x5232e7,
        "XSLT":                           0xeb8ceb,
        "Xojo":                           0x81bd41,
        "Xonsh":                          0x285eef,
        "Xtend":                          0x24255d,
        "YAML":                           0xcb171e,
        "YARA":                           0x220000,
        "YASnippet":                      0x32ab90,
        "Yacc":                           0x4b6c4b,
        "Yul":                            0x794932,
        "ZAP":                            0x0d665e,
        "ZIL":                            0xdc75e5,
        "ZenScript":                      0x00bcd1,
        "Zephir":                         0x118f9e,
        "Zig":                            0xec915c,
        "Zimpl":                          0xd67711,
        "eC":                             0x913960,
        "fish":                           0x4aae47,
        "hoon":                           0x00b171,
        "jq":                             0xc7254e,
        "kvlang":                         0x1da6e0,
        "mIRC Script":                    0x3d57c3,
        "mcfunction":                     0xe22837,
        "mupad":                          0x244963,
        "nanorc":                         0x2d004d,
        "nesC":                           0x94b0c7,
        "ooc":                            0xb0b77e,
        "q":                              0x0040cd,
        "reStructuredText":               0x141414,
        "sed":                            0x64b970,
        "wdl":                            0x42f1f4,
        "wisp":                           0x7582d1,
        "xBase":                          0x403a40,
        
        "diff":                           0xf0c0c0,
        "text":                           0xc0c0c0,
    }

    NAME_NORMALIZATION_MAP = {
        '*': 'star',
        '#': 'sharp',
        '+': 'plus',
    }
    # fmt: on

    def __init__(self, value: pt.IColorValue | int, name: str = None):
        pt.RealColor.__init__(self, value)
        pt.ResolvableColor.__init__(self, name, approx=True, register=True)

    @classmethod
    def get_longest_name(cls) -> int:
        return max(map(len, cls.MAP.keys()))

    to_sgr = pt.ColorRGB.to_sgr
    to_tmux = pt.ColorRGB.to_tmux

    def repr_attrs(self, verbose: bool = True) -> str:
        return f'{self.format_value("#")}({self.name})'

    @classmethod
    def _load(cls):
        for name, value in cls.MAP.items():
            PLangColor(value, name.lower())
