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


class PLangColor(pt.RealColor, pt.RenderColor, pt.ResolvableColor["PLangColor"]):
    # fmt: off
    MAP = {
        "1C Enterprise":                   0x814CCC,
        "2-Dimensional Array":             0x38761D,
        "4D":                              0x004289,
        "ABAP":                            0xE8274B,
        "ABAP CDS":                        0x555e25,
        "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,
        "Bluespec BH":                     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":                      0xed2cd6,
        "ColdFusion CFC":                  0xed2cd6,
        "Common Lisp":                     0x3fb68b,
        "Common Workflow Language":        0xB5314C,
        "Component Pascal":                0xB0CE4E,
        "Coq":                             0xd0b68c,
        "Crystal":                         0x000100,
        "Csound":                          0x1a1a1a,
        "Csound Document":                 0x1a1a1a,
        "Csound Score":                    0x1a1a1a,
        "Cuda":                            0x3A4E3A,
        "Curry":                           0x531242,
        "Cypher":                          0x34c0eb,
        "Cython":                          0xfedf5b,
        "D":                               0xba595e,
        "D2":                              0x526ee8,
        "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,
        "EdgeQL":                          0x31A7FF,
        "EditorConfig":                    0xfff1f2,
        "Eiffel":                          0x4d6977,
        "Elixir":                          0x6e4a7e,
        "Elm":                             0x60B5CC,
        "Elvish":                          0x55BB55,
        "Elvish Transcript":               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":                         0x4d41b1,
        "Fortran Free Form":               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 4gl":                      0x63408e,
        "Genero per":                      0xd8df39,
        "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,
        "Glimmer JS":                      0xF5835F,
        "Glyph":                           0xc1ac7f,
        "Gnuplot":                         0xf0a9f0,
        "Go":                              0x00ADD8,
        "Go Checksums":                    0x00ADD8,
        "Go Module":                       0x00ADD8,
        "Go Workspace":                    0x00ADD8,
        "Godot Resource":                  0x355570,
        "Golo":                            0x88562A,
        "Gosu":                            0x82937f,
        "Grace":                           0x615f8b,
        "Gradle":                          0x02303a,
        "Gradle Kotlin DSL":               0x02303a,
        "Grammatical Framework":           0xff0000,
        "GraphQL":                         0xe10098,
        "Graphviz (DOT)":                  0x2596be,
        "Groovy":                          0x4298b8,
        "Groovy Server Pages":             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,
        "Hosts File":                      0x308888,
        "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":                        0xFEFE00,
        "Isabelle ROOT":                   0xFEFE00,
        "J":                               0x9EEDFF,
        "JAR Manifest":                    0xb07219,
        "JCL":                             0xd90e09,
        "JFlex":                           0xDBCA00,
        "JSON":                            0x292929,
        "JSON with Comments":              0x292929,
        "JSON5":                           0x267CB9,
        "JSONLD":                          0x0c479c,
        "JSONiq":                          0x40d47e,
        "Janet":                           0x0886a5,
        "Jasmin":                          0xd03600,
        "Java":                            0xb07219,
        "Java Properties":                 0x2A6277,
        "Java Server Pages":               0x2A6277,
        "JavaScript":                      0xf1e05a,
        "JavaScript+ERB":                  0xf1e05a,
        "Jest Snapshot":                   0x15c213,
        "JetBrains MPS":                   0x21D789,
        "Jinja":                           0xa52a22,
        "Jison":                           0x56b3cb,
        "Jison Lex":                       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,
        "MDX":                             0xfcb32c,
        "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,
        "Nushell":                         0x4E9906,
        "OASv2-json":                      0x85ea2d,
        "OASv2-yaml":                      0x85ea2d,
        "OASv3-json":                      0x85ea2d,
        "OASv3-yaml":                      0x85ea2d,
        "OCaml":                           0xef7a08,
        "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,
        "Pact":                            0xF7A8B8,
        "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,
        "Praat":                           0xc8506d,
        "Prisma":                          0x0c344b,
        "Processing":                      0x0096D8,
        "Procfile":                        0x3B2F63,
        "Prolog":                          0x74283c,
        "Promela":                         0xde0000,
        "Propeller Spin":                  0x7fa2a7,
        "Pug":                             0xa86454,
        "Puppet":                          0x302B6D,
        "PureBasic":                       0x5a6986,
        "PureScript":                      0x1D222D,
        "Pyret":                           0xee1e10,
        "Python":                          0x3572A5,
        "Python console":                  0x3572A5,
        "Python traceback":                0x3572A5,
        "Q#":                              0xfed659,
        "QML":                             0x44a51c,
        "Qt Script":                       0x00b841,
        "Quake":                           0x882233,
        "R":                               0x198CE7,
        "RAML":                            0x77d9fb,
        "RBS":                             0x701516,
        "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,
        "Rez":                             0xFFDAB3,
        "Ring":                            0x2D54CB,
        "Riot":                            0xA71E49,
        "RobotFramework":                  0x00c0b5,
        "Roff":                            0xecdebe,
        "Roff Manpage":                    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":                            0x00F58C,
        "Sweave":                          0x198ce7,
        "Swift":                           0xF05138,
        "SystemVerilog":                   0xDAE1C2,
        "TI Program":                      0xA0AA87,
        "TL-Verilog":                      0xC40023,
        "TLA":                             0x4b0079,
        "TOML":                            0x9c4221,
        "TSQL":                            0xe38c00,
        "TSV":                             0x237346,
        "TSX":                             0x3178c6,
        "TXL":                             0x0178b8,
        "Talon":                           0x333333,
        "Tcl":                             0xe4cc98,
        "TeX":                             0x3D6117,
        "Terra":                           0x00004c,
        "Terraform Template":              0x7b42bb,
        "TextMate Properties":             0xdf66e4,
        "Textile":                         0xffe7ac,
        "Thrift":                          0xD12127,
        "Toit":                            0xc2c9fb,
        "Turing":                          0xcf142b,
        "Twig":                            0xc1d026,
        "TypeScript":                      0x3178c6,
        "Typst":                           0x239dad,
        "Unified Parallel C":              0x4e3617,
        "Unity3D Asset":                   0x222c37,
        "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,
        "WDL":                             0x42f1f4,
        "WGSL":                            0x1a5e9a,
        "Web Ontology Language":           0x5b70bd,
        "WebAssembly":                     0x04133b,
        "WebAssembly Interface Type":      0x6250e7,
        "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":                             0x0060ac,
        "XML Property List":               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,
        "wisp":                            0x7582D1,
        "xBase":                           0x403a40,

        "diff":                            0xf0c0c0,
        "text":                            0xc0c0c0,
    }

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

    # curl https://raw.githubusercontent.com/github/linguist/master/lib/linguist/languages.yml | sed -Ee '/^(\w|\s+color)/!d; s/^(.+):$/\n"\1":/g; s/color:\s*"#(.+)"/0x\1,\n/' | sed -zEe 's/"[^"]+":\n\n/\n/g; s/:\n\s+/:\t/g' | sed -Ee '/^\s*$/d'  | column -ts$'\x09' | xsel --clipboard

    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)
