Initial commit

This commit is contained in:
2020-10-11 15:30:41 +02:00
commit c6bb6d91b9
69 changed files with 25696 additions and 0 deletions

View File

@@ -0,0 +1,764 @@
function! colorschemedegradelib#RGB()
let rv = {}
let rv["snow"] = "#FFFAFA"
let rv["ghost_white"] = "#F8F8FF"
let rv["ghostwhite"] = "#F8F8FF"
let rv["white_smoke"] = "#F5F5F5"
let rv["whitesmoke"] = "#F5F5F5"
let rv["gainsboro"] = "#DCDCDC"
let rv["floral_white"] = "#FFFAF0"
let rv["floralwhite"] = "#FFFAF0"
let rv["old_lace"] = "#FDF5E6"
let rv["oldlace"] = "#FDF5E6"
let rv["linen"] = "#FAF0E6"
let rv["antique_white"] = "#FAEBD7"
let rv["antiquewhite"] = "#FAEBD7"
let rv["papaya_whip"] = "#FFEFD5"
let rv["papayawhip"] = "#FFEFD5"
let rv["blanched_almond"] = "#FFEBCD"
let rv["blanchedalmond"] = "#FFEBCD"
let rv["bisque"] = "#FFE4C4"
let rv["peach_puff"] = "#FFDAB9"
let rv["peachpuff"] = "#FFDAB9"
let rv["navajo_white"] = "#FFDEAD"
let rv["navajowhite"] = "#FFDEAD"
let rv["moccasin"] = "#FFE4B5"
let rv["cornsilk"] = "#FFF8DC"
let rv["ivory"] = "#FFFFF0"
let rv["lemon_chiffon"] = "#FFFACD"
let rv["lemonchiffon"] = "#FFFACD"
let rv["seashell"] = "#FFF5EE"
let rv["honeydew"] = "#F0FFF0"
let rv["mint_cream"] = "#F5FFFA"
let rv["mintcream"] = "#F5FFFA"
let rv["azure"] = "#F0FFFF"
let rv["alice_blue"] = "#F0F8FF"
let rv["aliceblue"] = "#F0F8FF"
let rv["lavender"] = "#E6E6FA"
let rv["lavender_blush"] = "#FFF0F5"
let rv["lavenderblush"] = "#FFF0F5"
let rv["misty_rose"] = "#FFE4E1"
let rv["mistyrose"] = "#FFE4E1"
let rv["white"] = "#FFFFFF"
let rv["black"] = "#000000"
let rv["dark_slate_gray"] = "#2F4F4F"
let rv["darkslategray"] = "#2F4F4F"
let rv["dark_slate_grey"] = "#2F4F4F"
let rv["darkslategrey"] = "#2F4F4F"
let rv["dim_gray"] = "#696969"
let rv["dimgray"] = "#696969"
let rv["dim_grey"] = "#696969"
let rv["dimgrey"] = "#696969"
let rv["slate_gray"] = "#708090"
let rv["slategray"] = "#708090"
let rv["slate_grey"] = "#708090"
let rv["slategrey"] = "#708090"
let rv["light_slate_gray"] = "#778899"
let rv["lightslategray"] = "#778899"
let rv["light_slate_grey"] = "#778899"
let rv["lightslategrey"] = "#778899"
let rv["gray"] = "#BEBEBE"
let rv["grey"] = "#BEBEBE"
let rv["light_grey"] = "#D3D3D3"
let rv["lightgrey"] = "#D3D3D3"
let rv["light_gray"] = "#D3D3D3"
let rv["lightgray"] = "#D3D3D3"
let rv["midnight_blue"] = "#191970"
let rv["midnightblue"] = "#191970"
let rv["navy"] = "#000080"
let rv["navy_blue"] = "#000080"
let rv["navyblue"] = "#000080"
let rv["cornflower_blue"] = "#6495ED"
let rv["cornflowerblue"] = "#6495ED"
let rv["dark_slate_blue"] = "#483D8B"
let rv["darkslateblue"] = "#483D8B"
let rv["slate_blue"] = "#6A5ACD"
let rv["slateblue"] = "#6A5ACD"
let rv["medium_slate_blue"] = "#7B68EE"
let rv["mediumslateblue"] = "#7B68EE"
let rv["light_slate_blue"] = "#8470FF"
let rv["lightslateblue"] = "#8470FF"
let rv["medium_blue"] = "#0000CD"
let rv["mediumblue"] = "#0000CD"
let rv["royal_blue"] = "#4169E1"
let rv["royalblue"] = "#4169E1"
let rv["blue"] = "#0000FF"
let rv["dodger_blue"] = "#1E90FF"
let rv["dodgerblue"] = "#1E90FF"
let rv["deep_sky_blue"] = "#00BFFF"
let rv["deepskyblue"] = "#00BFFF"
let rv["sky_blue"] = "#87CEEB"
let rv["skyblue"] = "#87CEEB"
let rv["light_sky_blue"] = "#87CEFA"
let rv["lightskyblue"] = "#87CEFA"
let rv["steel_blue"] = "#4682B4"
let rv["steelblue"] = "#4682B4"
let rv["light_steel_blue"] = "#B0C4DE"
let rv["lightsteelblue"] = "#B0C4DE"
let rv["light_blue"] = "#ADD8E6"
let rv["lightblue"] = "#ADD8E6"
let rv["powder_blue"] = "#B0E0E6"
let rv["powderblue"] = "#B0E0E6"
let rv["pale_turquoise"] = "#AFEEEE"
let rv["paleturquoise"] = "#AFEEEE"
let rv["dark_turquoise"] = "#00CED1"
let rv["darkturquoise"] = "#00CED1"
let rv["medium_turquoise"] = "#48D1CC"
let rv["mediumturquoise"] = "#48D1CC"
let rv["turquoise"] = "#40E0D0"
let rv["cyan"] = "#00FFFF"
let rv["light_cyan"] = "#E0FFFF"
let rv["lightcyan"] = "#E0FFFF"
let rv["cadet_blue"] = "#5F9EA0"
let rv["cadetblue"] = "#5F9EA0"
let rv["medium_aquamarine"] = "#66CDAA"
let rv["mediumaquamarine"] = "#66CDAA"
let rv["aquamarine"] = "#7FFFD4"
let rv["dark_green"] = "#006400"
let rv["darkgreen"] = "#006400"
let rv["dark_olive_green"] = "#556B2F"
let rv["darkolivegreen"] = "#556B2F"
let rv["dark_sea_green"] = "#8FBC8F"
let rv["darkseagreen"] = "#8FBC8F"
let rv["sea_green"] = "#2E8B57"
let rv["seagreen"] = "#2E8B57"
let rv["medium_sea_green"] = "#3CB371"
let rv["mediumseagreen"] = "#3CB371"
let rv["light_sea_green"] = "#20B2AA"
let rv["lightseagreen"] = "#20B2AA"
let rv["pale_green"] = "#98FB98"
let rv["palegreen"] = "#98FB98"
let rv["spring_green"] = "#00FF7F"
let rv["springgreen"] = "#00FF7F"
let rv["lawn_green"] = "#7CFC00"
let rv["lawngreen"] = "#7CFC00"
let rv["green"] = "#00FF00"
let rv["chartreuse"] = "#7FFF00"
let rv["medium_spring_green"] = "#00FA9A"
let rv["mediumspringgreen"] = "#00FA9A"
let rv["green_yellow"] = "#ADFF2F"
let rv["greenyellow"] = "#ADFF2F"
let rv["lime_green"] = "#32CD32"
let rv["limegreen"] = "#32CD32"
let rv["yellow_green"] = "#9ACD32"
let rv["yellowgreen"] = "#9ACD32"
let rv["forest_green"] = "#228B22"
let rv["forestgreen"] = "#228B22"
let rv["olive_drab"] = "#6B8E23"
let rv["olivedrab"] = "#6B8E23"
let rv["dark_khaki"] = "#BDB76B"
let rv["darkkhaki"] = "#BDB76B"
let rv["khaki"] = "#F0E68C"
let rv["pale_goldenrod"] = "#EEE8AA"
let rv["palegoldenrod"] = "#EEE8AA"
let rv["light_goldenrod_yellow"] = "#FAFAD2"
let rv["lightgoldenrodyellow"] = "#FAFAD2"
let rv["light_yellow"] = "#FFFFE0"
let rv["lightyellow"] = "#FFFFE0"
let rv["yellow"] = "#FFFF00"
let rv["gold"] = "#FFD700"
let rv["light_goldenrod"] = "#EEDD82"
let rv["lightgoldenrod"] = "#EEDD82"
let rv["goldenrod"] = "#DAA520"
let rv["dark_goldenrod"] = "#B8860B"
let rv["darkgoldenrod"] = "#B8860B"
let rv["rosy_brown"] = "#BC8F8F"
let rv["rosybrown"] = "#BC8F8F"
let rv["indian_red"] = "#CD5C5C"
let rv["indianred"] = "#CD5C5C"
let rv["saddle_brown"] = "#8B4513"
let rv["saddlebrown"] = "#8B4513"
let rv["sienna"] = "#A0522D"
let rv["peru"] = "#CD853F"
let rv["burlywood"] = "#DEB887"
let rv["beige"] = "#F5F5DC"
let rv["wheat"] = "#F5DEB3"
let rv["sandy_brown"] = "#F4A460"
let rv["sandybrown"] = "#F4A460"
let rv["tan"] = "#D2B48C"
let rv["chocolate"] = "#D2691E"
let rv["firebrick"] = "#B22222"
let rv["brown"] = "#A52A2A"
let rv["dark_salmon"] = "#E9967A"
let rv["darksalmon"] = "#E9967A"
let rv["salmon"] = "#FA8072"
let rv["light_salmon"] = "#FFA07A"
let rv["lightsalmon"] = "#FFA07A"
let rv["orange"] = "#FFA500"
let rv["dark_orange"] = "#FF8C00"
let rv["darkorange"] = "#FF8C00"
let rv["coral"] = "#FF7F50"
let rv["light_coral"] = "#F08080"
let rv["lightcoral"] = "#F08080"
let rv["tomato"] = "#FF6347"
let rv["orange_red"] = "#FF4500"
let rv["orangered"] = "#FF4500"
let rv["red"] = "#FF0000"
let rv["hot_pink"] = "#FF69B4"
let rv["hotpink"] = "#FF69B4"
let rv["deep_pink"] = "#FF1493"
let rv["deeppink"] = "#FF1493"
let rv["pink"] = "#FFC0CB"
let rv["light_pink"] = "#FFB6C1"
let rv["lightpink"] = "#FFB6C1"
let rv["pale_violet_red"] = "#DB7093"
let rv["palevioletred"] = "#DB7093"
let rv["maroon"] = "#B03060"
let rv["medium_violet_red"] = "#C71585"
let rv["mediumvioletred"] = "#C71585"
let rv["violet_red"] = "#D02090"
let rv["violetred"] = "#D02090"
let rv["magenta"] = "#FF00FF"
let rv["violet"] = "#EE82EE"
let rv["plum"] = "#DDA0DD"
let rv["orchid"] = "#DA70D6"
let rv["medium_orchid"] = "#BA55D3"
let rv["mediumorchid"] = "#BA55D3"
let rv["dark_orchid"] = "#9932CC"
let rv["darkorchid"] = "#9932CC"
let rv["dark_violet"] = "#9400D3"
let rv["darkviolet"] = "#9400D3"
let rv["blue_violet"] = "#8A2BE2"
let rv["blueviolet"] = "#8A2BE2"
let rv["purple"] = "#A020F0"
let rv["medium_purple"] = "#9370DB"
let rv["mediumpurple"] = "#9370DB"
let rv["thistle"] = "#D8BFD8"
let rv["snow1"] = "#FFFAFA"
let rv["snow2"] = "#EEE9E9"
let rv["snow3"] = "#CDC9C9"
let rv["snow4"] = "#8B8989"
let rv["seashell1"] = "#FFF5EE"
let rv["seashell2"] = "#EEE5DE"
let rv["seashell3"] = "#CDC5BF"
let rv["seashell4"] = "#8B8682"
let rv["antiquewhite1"] = "#FFEFDB"
let rv["antiquewhite2"] = "#EEDFCC"
let rv["antiquewhite3"] = "#CDC0B0"
let rv["antiquewhite4"] = "#8B8378"
let rv["bisque1"] = "#FFE4C4"
let rv["bisque2"] = "#EED5B7"
let rv["bisque3"] = "#CDB79E"
let rv["bisque4"] = "#8B7D6B"
let rv["peachpuff1"] = "#FFDAB9"
let rv["peachpuff2"] = "#EECBAD"
let rv["peachpuff3"] = "#CDAF95"
let rv["peachpuff4"] = "#8B7765"
let rv["navajowhite1"] = "#FFDEAD"
let rv["navajowhite2"] = "#EECFA1"
let rv["navajowhite3"] = "#CDB38B"
let rv["navajowhite4"] = "#8B795E"
let rv["lemonchiffon1"] = "#FFFACD"
let rv["lemonchiffon2"] = "#EEE9BF"
let rv["lemonchiffon3"] = "#CDC9A5"
let rv["lemonchiffon4"] = "#8B8970"
let rv["cornsilk1"] = "#FFF8DC"
let rv["cornsilk2"] = "#EEE8CD"
let rv["cornsilk3"] = "#CDC8B1"
let rv["cornsilk4"] = "#8B8878"
let rv["ivory1"] = "#FFFFF0"
let rv["ivory2"] = "#EEEEE0"
let rv["ivory3"] = "#CDCDC1"
let rv["ivory4"] = "#8B8B83"
let rv["honeydew1"] = "#F0FFF0"
let rv["honeydew2"] = "#E0EEE0"
let rv["honeydew3"] = "#C1CDC1"
let rv["honeydew4"] = "#838B83"
let rv["lavenderblush1"] = "#FFF0F5"
let rv["lavenderblush2"] = "#EEE0E5"
let rv["lavenderblush3"] = "#CDC1C5"
let rv["lavenderblush4"] = "#8B8386"
let rv["mistyrose1"] = "#FFE4E1"
let rv["mistyrose2"] = "#EED5D2"
let rv["mistyrose3"] = "#CDB7B5"
let rv["mistyrose4"] = "#8B7D7B"
let rv["azure1"] = "#F0FFFF"
let rv["azure2"] = "#E0EEEE"
let rv["azure3"] = "#C1CDCD"
let rv["azure4"] = "#838B8B"
let rv["slateblue1"] = "#836FFF"
let rv["slateblue2"] = "#7A67EE"
let rv["slateblue3"] = "#6959CD"
let rv["slateblue4"] = "#473C8B"
let rv["royalblue1"] = "#4876FF"
let rv["royalblue2"] = "#436EEE"
let rv["royalblue3"] = "#3A5FCD"
let rv["royalblue4"] = "#27408B"
let rv["blue1"] = "#0000FF"
let rv["blue2"] = "#0000EE"
let rv["blue3"] = "#0000CD"
let rv["blue4"] = "#00008B"
let rv["dodgerblue1"] = "#1E90FF"
let rv["dodgerblue2"] = "#1C86EE"
let rv["dodgerblue3"] = "#1874CD"
let rv["dodgerblue4"] = "#104E8B"
let rv["steelblue1"] = "#63B8FF"
let rv["steelblue2"] = "#5CACEE"
let rv["steelblue3"] = "#4F94CD"
let rv["steelblue4"] = "#36648B"
let rv["deepskyblue1"] = "#00BFFF"
let rv["deepskyblue2"] = "#00B2EE"
let rv["deepskyblue3"] = "#009ACD"
let rv["deepskyblue4"] = "#00688B"
let rv["skyblue1"] = "#87CEFF"
let rv["skyblue2"] = "#7EC0EE"
let rv["skyblue3"] = "#6CA6CD"
let rv["skyblue4"] = "#4A708B"
let rv["lightskyblue1"] = "#B0E2FF"
let rv["lightskyblue2"] = "#A4D3EE"
let rv["lightskyblue3"] = "#8DB6CD"
let rv["lightskyblue4"] = "#607B8B"
let rv["slategray1"] = "#C6E2FF"
let rv["slategray2"] = "#B9D3EE"
let rv["slategray3"] = "#9FB6CD"
let rv["slategray4"] = "#6C7B8B"
let rv["lightsteelblue1"] = "#CAE1FF"
let rv["lightsteelblue2"] = "#BCD2EE"
let rv["lightsteelblue3"] = "#A2B5CD"
let rv["lightsteelblue4"] = "#6E7B8B"
let rv["lightblue1"] = "#BFEFFF"
let rv["lightblue2"] = "#B2DFEE"
let rv["lightblue3"] = "#9AC0CD"
let rv["lightblue4"] = "#68838B"
let rv["lightcyan1"] = "#E0FFFF"
let rv["lightcyan2"] = "#D1EEEE"
let rv["lightcyan3"] = "#B4CDCD"
let rv["lightcyan4"] = "#7A8B8B"
let rv["paleturquoise1"] = "#BBFFFF"
let rv["paleturquoise2"] = "#AEEEEE"
let rv["paleturquoise3"] = "#96CDCD"
let rv["paleturquoise4"] = "#668B8B"
let rv["cadetblue1"] = "#98F5FF"
let rv["cadetblue2"] = "#8EE5EE"
let rv["cadetblue3"] = "#7AC5CD"
let rv["cadetblue4"] = "#53868B"
let rv["turquoise1"] = "#00F5FF"
let rv["turquoise2"] = "#00E5EE"
let rv["turquoise3"] = "#00C5CD"
let rv["turquoise4"] = "#00868B"
let rv["cyan1"] = "#00FFFF"
let rv["cyan2"] = "#00EEEE"
let rv["cyan3"] = "#00CDCD"
let rv["cyan4"] = "#008B8B"
let rv["darkslategray1"] = "#97FFFF"
let rv["darkslategray2"] = "#8DEEEE"
let rv["darkslategray3"] = "#79CDCD"
let rv["darkslategray4"] = "#528B8B"
let rv["aquamarine1"] = "#7FFFD4"
let rv["aquamarine2"] = "#76EEC6"
let rv["aquamarine3"] = "#66CDAA"
let rv["aquamarine4"] = "#458B74"
let rv["darkseagreen1"] = "#C1FFC1"
let rv["darkseagreen2"] = "#B4EEB4"
let rv["darkseagreen3"] = "#9BCD9B"
let rv["darkseagreen4"] = "#698B69"
let rv["seagreen1"] = "#54FF9F"
let rv["seagreen2"] = "#4EEE94"
let rv["seagreen3"] = "#43CD80"
let rv["seagreen4"] = "#2E8B57"
let rv["palegreen1"] = "#9AFF9A"
let rv["palegreen2"] = "#90EE90"
let rv["palegreen3"] = "#7CCD7C"
let rv["palegreen4"] = "#548B54"
let rv["springgreen1"] = "#00FF7F"
let rv["springgreen2"] = "#00EE76"
let rv["springgreen3"] = "#00CD66"
let rv["springgreen4"] = "#008B45"
let rv["green1"] = "#00FF00"
let rv["green2"] = "#00EE00"
let rv["green3"] = "#00CD00"
let rv["green4"] = "#008B00"
let rv["chartreuse1"] = "#7FFF00"
let rv["chartreuse2"] = "#76EE00"
let rv["chartreuse3"] = "#66CD00"
let rv["chartreuse4"] = "#458B00"
let rv["olivedrab1"] = "#C0FF3E"
let rv["olivedrab2"] = "#B3EE3A"
let rv["olivedrab3"] = "#9ACD32"
let rv["olivedrab4"] = "#698B22"
let rv["darkolivegreen1"] = "#CAFF70"
let rv["darkolivegreen2"] = "#BCEE68"
let rv["darkolivegreen3"] = "#A2CD5A"
let rv["darkolivegreen4"] = "#6E8B3D"
let rv["khaki1"] = "#FFF68F"
let rv["khaki2"] = "#EEE685"
let rv["khaki3"] = "#CDC673"
let rv["khaki4"] = "#8B864E"
let rv["lightgoldenrod1"] = "#FFEC8B"
let rv["lightgoldenrod2"] = "#EEDC82"
let rv["lightgoldenrod3"] = "#CDBE70"
let rv["lightgoldenrod4"] = "#8B814C"
let rv["lightyellow1"] = "#FFFFE0"
let rv["lightyellow2"] = "#EEEED1"
let rv["lightyellow3"] = "#CDCDB4"
let rv["lightyellow4"] = "#8B8B7A"
let rv["yellow1"] = "#FFFF00"
let rv["yellow2"] = "#EEEE00"
let rv["yellow3"] = "#CDCD00"
let rv["yellow4"] = "#8B8B00"
let rv["gold1"] = "#FFD700"
let rv["gold2"] = "#EEC900"
let rv["gold3"] = "#CDAD00"
let rv["gold4"] = "#8B7500"
let rv["goldenrod1"] = "#FFC125"
let rv["goldenrod2"] = "#EEB422"
let rv["goldenrod3"] = "#CD9B1D"
let rv["goldenrod4"] = "#8B6914"
let rv["darkgoldenrod1"] = "#FFB90F"
let rv["darkgoldenrod2"] = "#EEAD0E"
let rv["darkgoldenrod3"] = "#CD950C"
let rv["darkgoldenrod4"] = "#8B6508"
let rv["rosybrown1"] = "#FFC1C1"
let rv["rosybrown2"] = "#EEB4B4"
let rv["rosybrown3"] = "#CD9B9B"
let rv["rosybrown4"] = "#8B6969"
let rv["indianred1"] = "#FF6A6A"
let rv["indianred2"] = "#EE6363"
let rv["indianred3"] = "#CD5555"
let rv["indianred4"] = "#8B3A3A"
let rv["sienna1"] = "#FF8247"
let rv["sienna2"] = "#EE7942"
let rv["sienna3"] = "#CD6839"
let rv["sienna4"] = "#8B4726"
let rv["burlywood1"] = "#FFD39B"
let rv["burlywood2"] = "#EEC591"
let rv["burlywood3"] = "#CDAA7D"
let rv["burlywood4"] = "#8B7355"
let rv["wheat1"] = "#FFE7BA"
let rv["wheat2"] = "#EED8AE"
let rv["wheat3"] = "#CDBA96"
let rv["wheat4"] = "#8B7E66"
let rv["tan1"] = "#FFA54F"
let rv["tan2"] = "#EE9A49"
let rv["tan3"] = "#CD853F"
let rv["tan4"] = "#8B5A2B"
let rv["chocolate1"] = "#FF7F24"
let rv["chocolate2"] = "#EE7621"
let rv["chocolate3"] = "#CD661D"
let rv["chocolate4"] = "#8B4513"
let rv["firebrick1"] = "#FF3030"
let rv["firebrick2"] = "#EE2C2C"
let rv["firebrick3"] = "#CD2626"
let rv["firebrick4"] = "#8B1A1A"
let rv["brown1"] = "#FF4040"
let rv["brown2"] = "#EE3B3B"
let rv["brown3"] = "#CD3333"
let rv["brown4"] = "#8B2323"
let rv["salmon1"] = "#FF8C69"
let rv["salmon2"] = "#EE8262"
let rv["salmon3"] = "#CD7054"
let rv["salmon4"] = "#8B4C39"
let rv["lightsalmon1"] = "#FFA07A"
let rv["lightsalmon2"] = "#EE9572"
let rv["lightsalmon3"] = "#CD8162"
let rv["lightsalmon4"] = "#8B5742"
let rv["orange1"] = "#FFA500"
let rv["orange2"] = "#EE9A00"
let rv["orange3"] = "#CD8500"
let rv["orange4"] = "#8B5A00"
let rv["darkorange1"] = "#FF7F00"
let rv["darkorange2"] = "#EE7600"
let rv["darkorange3"] = "#CD6600"
let rv["darkorange4"] = "#8B4500"
let rv["coral1"] = "#FF7256"
let rv["coral2"] = "#EE6A50"
let rv["coral3"] = "#CD5B45"
let rv["coral4"] = "#8B3E2F"
let rv["tomato1"] = "#FF6347"
let rv["tomato2"] = "#EE5C42"
let rv["tomato3"] = "#CD4F39"
let rv["tomato4"] = "#8B3626"
let rv["orangered1"] = "#FF4500"
let rv["orangered2"] = "#EE4000"
let rv["orangered3"] = "#CD3700"
let rv["orangered4"] = "#8B2500"
let rv["red1"] = "#FF0000"
let rv["red2"] = "#EE0000"
let rv["red3"] = "#CD0000"
let rv["red4"] = "#8B0000"
let rv["deeppink1"] = "#FF1493"
let rv["deeppink2"] = "#EE1289"
let rv["deeppink3"] = "#CD1076"
let rv["deeppink4"] = "#8B0A50"
let rv["hotpink1"] = "#FF6EB4"
let rv["hotpink2"] = "#EE6AA7"
let rv["hotpink3"] = "#CD6090"
let rv["hotpink4"] = "#8B3A62"
let rv["pink1"] = "#FFB5C5"
let rv["pink2"] = "#EEA9B8"
let rv["pink3"] = "#CD919E"
let rv["pink4"] = "#8B636C"
let rv["lightpink1"] = "#FFAEB9"
let rv["lightpink2"] = "#EEA2AD"
let rv["lightpink3"] = "#CD8C95"
let rv["lightpink4"] = "#8B5F65"
let rv["palevioletred1"] = "#FF82AB"
let rv["palevioletred2"] = "#EE799F"
let rv["palevioletred3"] = "#CD6889"
let rv["palevioletred4"] = "#8B475D"
let rv["maroon1"] = "#FF34B3"
let rv["maroon2"] = "#EE30A7"
let rv["maroon3"] = "#CD2990"
let rv["maroon4"] = "#8B1C62"
let rv["violetred1"] = "#FF3E96"
let rv["violetred2"] = "#EE3A8C"
let rv["violetred3"] = "#CD3278"
let rv["violetred4"] = "#8B2252"
let rv["magenta1"] = "#FF00FF"
let rv["magenta2"] = "#EE00EE"
let rv["magenta3"] = "#CD00CD"
let rv["magenta4"] = "#8B008B"
let rv["orchid1"] = "#FF83FA"
let rv["orchid2"] = "#EE7AE9"
let rv["orchid3"] = "#CD69C9"
let rv["orchid4"] = "#8B4789"
let rv["plum1"] = "#FFBBFF"
let rv["plum2"] = "#EEAEEE"
let rv["plum3"] = "#CD96CD"
let rv["plum4"] = "#8B668B"
let rv["mediumorchid1"] = "#E066FF"
let rv["mediumorchid2"] = "#D15FEE"
let rv["mediumorchid3"] = "#B452CD"
let rv["mediumorchid4"] = "#7A378B"
let rv["darkorchid1"] = "#BF3EFF"
let rv["darkorchid2"] = "#B23AEE"
let rv["darkorchid3"] = "#9A32CD"
let rv["darkorchid4"] = "#68228B"
let rv["purple1"] = "#9B30FF"
let rv["purple2"] = "#912CEE"
let rv["purple3"] = "#7D26CD"
let rv["purple4"] = "#551A8B"
let rv["mediumpurple1"] = "#AB82FF"
let rv["mediumpurple2"] = "#9F79EE"
let rv["mediumpurple3"] = "#8968CD"
let rv["mediumpurple4"] = "#5D478B"
let rv["thistle1"] = "#FFE1FF"
let rv["thistle2"] = "#EED2EE"
let rv["thistle3"] = "#CDB5CD"
let rv["thistle4"] = "#8B7B8B"
let rv["gray0"] = "#000000"
let rv["grey0"] = "#000000"
let rv["gray1"] = "#030303"
let rv["grey1"] = "#030303"
let rv["gray2"] = "#050505"
let rv["grey2"] = "#050505"
let rv["gray3"] = "#080808"
let rv["grey3"] = "#080808"
let rv["gray4"] = "#0A0A0A"
let rv["grey4"] = "#0A0A0A"
let rv["gray5"] = "#0D0D0D"
let rv["grey5"] = "#0D0D0D"
let rv["gray6"] = "#0F0F0F"
let rv["grey6"] = "#0F0F0F"
let rv["gray7"] = "#121212"
let rv["grey7"] = "#121212"
let rv["gray8"] = "#141414"
let rv["grey8"] = "#141414"
let rv["gray9"] = "#171717"
let rv["grey9"] = "#171717"
let rv["gray10"] = "#1A1A1A"
let rv["grey10"] = "#1A1A1A"
let rv["gray11"] = "#1C1C1C"
let rv["grey11"] = "#1C1C1C"
let rv["gray12"] = "#1F1F1F"
let rv["grey12"] = "#1F1F1F"
let rv["gray13"] = "#212121"
let rv["grey13"] = "#212121"
let rv["gray14"] = "#242424"
let rv["grey14"] = "#242424"
let rv["gray15"] = "#262626"
let rv["grey15"] = "#262626"
let rv["gray16"] = "#292929"
let rv["grey16"] = "#292929"
let rv["gray17"] = "#2B2B2B"
let rv["grey17"] = "#2B2B2B"
let rv["gray18"] = "#2E2E2E"
let rv["grey18"] = "#2E2E2E"
let rv["gray19"] = "#303030"
let rv["grey19"] = "#303030"
let rv["gray20"] = "#333333"
let rv["grey20"] = "#333333"
let rv["gray21"] = "#363636"
let rv["grey21"] = "#363636"
let rv["gray22"] = "#383838"
let rv["grey22"] = "#383838"
let rv["gray23"] = "#3B3B3B"
let rv["grey23"] = "#3B3B3B"
let rv["gray24"] = "#3D3D3D"
let rv["grey24"] = "#3D3D3D"
let rv["gray25"] = "#404040"
let rv["grey25"] = "#404040"
let rv["gray26"] = "#424242"
let rv["grey26"] = "#424242"
let rv["gray27"] = "#454545"
let rv["grey27"] = "#454545"
let rv["gray28"] = "#474747"
let rv["grey28"] = "#474747"
let rv["gray29"] = "#4A4A4A"
let rv["grey29"] = "#4A4A4A"
let rv["gray30"] = "#4D4D4D"
let rv["grey30"] = "#4D4D4D"
let rv["gray31"] = "#4F4F4F"
let rv["grey31"] = "#4F4F4F"
let rv["gray32"] = "#525252"
let rv["grey32"] = "#525252"
let rv["gray33"] = "#545454"
let rv["grey33"] = "#545454"
let rv["gray34"] = "#575757"
let rv["grey34"] = "#575757"
let rv["gray35"] = "#595959"
let rv["grey35"] = "#595959"
let rv["gray36"] = "#5C5C5C"
let rv["grey36"] = "#5C5C5C"
let rv["gray37"] = "#5E5E5E"
let rv["grey37"] = "#5E5E5E"
let rv["gray38"] = "#616161"
let rv["grey38"] = "#616161"
let rv["gray39"] = "#636363"
let rv["grey39"] = "#636363"
let rv["gray40"] = "#666666"
let rv["grey40"] = "#666666"
let rv["gray41"] = "#696969"
let rv["grey41"] = "#696969"
let rv["gray42"] = "#6B6B6B"
let rv["grey42"] = "#6B6B6B"
let rv["gray43"] = "#6E6E6E"
let rv["grey43"] = "#6E6E6E"
let rv["gray44"] = "#707070"
let rv["grey44"] = "#707070"
let rv["gray45"] = "#737373"
let rv["grey45"] = "#737373"
let rv["gray46"] = "#757575"
let rv["grey46"] = "#757575"
let rv["gray47"] = "#787878"
let rv["grey47"] = "#787878"
let rv["gray48"] = "#7A7A7A"
let rv["grey48"] = "#7A7A7A"
let rv["gray49"] = "#7D7D7D"
let rv["grey49"] = "#7D7D7D"
let rv["gray50"] = "#7F7F7F"
let rv["grey50"] = "#7F7F7F"
let rv["gray51"] = "#828282"
let rv["grey51"] = "#828282"
let rv["gray52"] = "#858585"
let rv["grey52"] = "#858585"
let rv["gray53"] = "#878787"
let rv["grey53"] = "#878787"
let rv["gray54"] = "#8A8A8A"
let rv["grey54"] = "#8A8A8A"
let rv["gray55"] = "#8C8C8C"
let rv["grey55"] = "#8C8C8C"
let rv["gray56"] = "#8F8F8F"
let rv["grey56"] = "#8F8F8F"
let rv["gray57"] = "#919191"
let rv["grey57"] = "#919191"
let rv["gray58"] = "#949494"
let rv["grey58"] = "#949494"
let rv["gray59"] = "#969696"
let rv["grey59"] = "#969696"
let rv["gray60"] = "#999999"
let rv["grey60"] = "#999999"
let rv["gray61"] = "#9C9C9C"
let rv["grey61"] = "#9C9C9C"
let rv["gray62"] = "#9E9E9E"
let rv["grey62"] = "#9E9E9E"
let rv["gray63"] = "#A1A1A1"
let rv["grey63"] = "#A1A1A1"
let rv["gray64"] = "#A3A3A3"
let rv["grey64"] = "#A3A3A3"
let rv["gray65"] = "#A6A6A6"
let rv["grey65"] = "#A6A6A6"
let rv["gray66"] = "#A8A8A8"
let rv["grey66"] = "#A8A8A8"
let rv["gray67"] = "#ABABAB"
let rv["grey67"] = "#ABABAB"
let rv["gray68"] = "#ADADAD"
let rv["grey68"] = "#ADADAD"
let rv["gray69"] = "#B0B0B0"
let rv["grey69"] = "#B0B0B0"
let rv["gray70"] = "#B3B3B3"
let rv["grey70"] = "#B3B3B3"
let rv["gray71"] = "#B5B5B5"
let rv["grey71"] = "#B5B5B5"
let rv["gray72"] = "#B8B8B8"
let rv["grey72"] = "#B8B8B8"
let rv["gray73"] = "#BABABA"
let rv["grey73"] = "#BABABA"
let rv["gray74"] = "#BDBDBD"
let rv["grey74"] = "#BDBDBD"
let rv["gray75"] = "#BFBFBF"
let rv["grey75"] = "#BFBFBF"
let rv["gray76"] = "#C2C2C2"
let rv["grey76"] = "#C2C2C2"
let rv["gray77"] = "#C4C4C4"
let rv["grey77"] = "#C4C4C4"
let rv["gray78"] = "#C7C7C7"
let rv["grey78"] = "#C7C7C7"
let rv["gray79"] = "#C9C9C9"
let rv["grey79"] = "#C9C9C9"
let rv["gray80"] = "#CCCCCC"
let rv["grey80"] = "#CCCCCC"
let rv["gray81"] = "#CFCFCF"
let rv["grey81"] = "#CFCFCF"
let rv["gray82"] = "#D1D1D1"
let rv["grey82"] = "#D1D1D1"
let rv["gray83"] = "#D4D4D4"
let rv["grey83"] = "#D4D4D4"
let rv["gray84"] = "#D6D6D6"
let rv["grey84"] = "#D6D6D6"
let rv["gray85"] = "#D9D9D9"
let rv["grey85"] = "#D9D9D9"
let rv["gray86"] = "#DBDBDB"
let rv["grey86"] = "#DBDBDB"
let rv["gray87"] = "#DEDEDE"
let rv["grey87"] = "#DEDEDE"
let rv["gray88"] = "#E0E0E0"
let rv["grey88"] = "#E0E0E0"
let rv["gray89"] = "#E3E3E3"
let rv["grey89"] = "#E3E3E3"
let rv["gray90"] = "#E5E5E5"
let rv["grey90"] = "#E5E5E5"
let rv["gray91"] = "#E8E8E8"
let rv["grey91"] = "#E8E8E8"
let rv["gray92"] = "#EBEBEB"
let rv["grey92"] = "#EBEBEB"
let rv["gray93"] = "#EDEDED"
let rv["grey93"] = "#EDEDED"
let rv["gray94"] = "#F0F0F0"
let rv["grey94"] = "#F0F0F0"
let rv["gray95"] = "#F2F2F2"
let rv["grey95"] = "#F2F2F2"
let rv["gray96"] = "#F5F5F5"
let rv["grey96"] = "#F5F5F5"
let rv["gray97"] = "#F7F7F7"
let rv["grey97"] = "#F7F7F7"
let rv["gray98"] = "#FAFAFA"
let rv["grey98"] = "#FAFAFA"
let rv["gray99"] = "#FCFCFC"
let rv["grey99"] = "#FCFCFC"
let rv["gray100"] = "#FFFFFF"
let rv["grey100"] = "#FFFFFF"
let rv["dark_grey"] = "#A9A9A9"
let rv["darkgrey"] = "#A9A9A9"
let rv["dark_gray"] = "#A9A9A9"
let rv["darkgray"] = "#A9A9A9"
let rv["dark_blue"] = "#00008B"
let rv["darkblue"] = "#00008B"
let rv["dark_cyan"] = "#008B8B"
let rv["darkcyan"] = "#008B8B"
let rv["dark_magenta"] = "#8B008B"
let rv["darkmagenta"] = "#8B008B"
let rv["dark_red"] = "#8B0000"
let rv["darkred"] = "#8B0000"
let rv["light_green"] = "#90EE90"
let rv["lightgreen"] = "#90EE90"
let rv["darkyellow"] = "#BBBB00"
let rv["dark_yellow"] = "#BBBB00"
let rv["lightred"] = "#FFA0A0"
let rv["light_red"] = "#FFA0A0"
let rv["lightmagenta"] = "#F0A0F0"
let rv["light_magenta"] = "#F0A0F0"
return rv
endfunction

View File

@@ -0,0 +1,416 @@
" ColorschemeDegrade: Degrade gvim colorschemes to be suitable for a terminal
" Maintainer: Matthew Wozniski (mjw@drexel.edu)
" Date: Sun, 21 Oct 2007 21:04:33 -0400
" Version: 0.2
" History: TODO(History Link)
" Installation: Drop this script into ~/.vim/plugin.
" Whenever you change colorschemes using the :colorscheme command, this script
" will be executed. If you're running in 256 color terminal or an 88 color
" terminal, as reported by the command ":echo &t_Co" it will take the colors
" that the scheme specified for use in the gui and use an approximation
" algorithm to try to gracefully degrade them to the closest color available.
" If you are running in a gui or if t_Co is reported as less than 88 colors,
" no changes are made.
" Abort if running in vi-compatible mode or the user doesn't want or need us.
if &cp || has("gui_running") || ! has("gui") || exists('g:colorschemedegrade_loaded')
if &cp && &verbose
echomsg "Not loading ColorschemeDegrade in compatible mode."
endif
if has('gui_running') && &verbose
echomsg "Not loading ColorschemeDegrade in gui mode."
endif
if ! has('gui') && &verbose
echomsg "Unfortunately, ColorschemeDegrade needs gui support. Not loading."
endif
finish
endif
" A local copy of rgb.txt must be included, since I can't count on it being in
" a standard location. But, we won't load it unless we need it.
let s:rgb = {}
let g:colorschemedegrade_loaded = 1
let s:savecpo = &cpo
set cpo&vim
" Script-local variables {{{1
" Script-local variables defining the rgb vals on a 256-color cube {{{2
" Every possible 256-color cube color is made up of 3 rgb values, all out of
" this table.
let s:vals_greys_256 = [ 0, 8, 18, 28, 38,
\ 48, 58, 68, 78, 88,
\ 95, 98, 108, 118, 128,
\ 135, 138, 148, 158, 168,
\ 175, 178, 188, 198, 208,
\ 215, 218, 228, 238, 255 ]
" Many of those colors can only be used for a grey (r == g == b). This subset
" can be mix-and-matched.
let s:vals_color_256 = [ 0, 95, 135, 175, 215, 255 ]
" This table holds the midpoints between each of the possible grey values, as
" well as one extra element higher than all, to be used in the approximation
" algorithm.
let s:mids_greys_256 = [ 4, 13, 23, 33, 43,
\ 53, 63, 73, 83, 91,
\ 96, 103, 113, 123, 131,
\ 136, 143, 153, 163, 171,
\ 176, 183, 193, 203, 211,
\ 216, 223, 233, 246, 256 ]
" This table is the same, only for the non-grey midpoints.
let s:mids_color_256 = [ 48, 115, 155, 195, 235, 256 ]
" Script-local variables defining the rgb vals on a 88-color cube {{{2
" Every possible 88-color cube color is made up of 3 rgb values, all out of
" this table.
let s:vals_greys_88 = [ 0, 46, 92, 115, 139, 162,
\ 185, 205, 208, 231, 255 ]
" Many of those colors can only be used for a grey (r == g == b). This subset
" can be mix-and-matched.
let s:vals_color_88 = [ 0, 139, 205, 255 ]
" This table holds the midpoints between each of the possible grey values, as
" well as one extra element higher than all, to be used in the approximation
" algorithm.
let s:mids_greys_88 = [ 23, 69, 103, 127, 150, 173,
\ 195, 206, 219, 243, 256 ]
" This table is the same, only for the non-grey midpoints.
let s:mids_color_88 = [ 69, 172, 230, 256 ]
" Function definitions {{{1
" Given 3 hex strings rr, gg, bb, return the closest color cube number.
function! s:FindClosestCode(h1,h2,h3)
let d1 = str2nr(a:h1, 16)
let d2 = str2nr(a:h2, 16)
let d3 = str2nr(a:h3, 16)
let r = s:FindClosest(d1, s:vals_greys_{&t_Co}, s:mids_greys_{&t_Co})
let g = s:FindClosest(d2, s:vals_greys_{&t_Co}, s:mids_greys_{&t_Co})
let b = s:FindClosest(d3, s:vals_greys_{&t_Co}, s:mids_greys_{&t_Co})
if(r == g && g == b)
return s:GreyComponentTo{&t_Co}Cube(r)
else
let r = s:FindClosest(d1, s:vals_color_{&t_Co}, s:mids_color_{&t_Co})
let g = s:FindClosest(d2, s:vals_color_{&t_Co}, s:mids_color_{&t_Co})
let b = s:FindClosest(d3, s:vals_color_{&t_Co}, s:mids_color_{&t_Co})
return s:RGBComponentsTo{&t_Co}Cube(r, g, b)
endif
endfunction
" Given a number, an array of elements, and an array of midpts, find the index
" of the least midpt that the number is strictly less than, and return the
" corresponding element.
function! s:FindClosest(num, elems, midpts)
for i in range(len(a:elems))
if ( a:num < a:midpts[i] )
return a:elems[i]
endif
endfor
endfunction
" Expects a decimal value 'x' between 0 and 255, inclusive
" Returns a 256-color colorcube number for the color at RGB=x,x,x
function! s:GreyComponentTo256Cube(num)
if(a:num % 10 == 8)
return 232 + (a:num - 8) / 10
else
" Not in the greyscale ramp, so we can use our normal processing
return s:RGBComponentsTo256Cube(a:num, a:num, a:num)
endif
endfunction
" Expects a decimal value 'x' between 0 and 255, inclusive
" Returns an 88-color colorcube number for the color at RGB=x,x,x
function! s:GreyComponentTo88Cube(num)
if a:num == 46
return 80
elseif a:num == 92
return 81
elseif a:num == 115
return 82
elseif a:num == 139
return 83
elseif a:num == 162
return 84
elseif a:num == 185
return 85
elseif a:num == 208
return 86
elseif a:num == 231
return 87
else
" Not in the greyscale ramp, so we can use our normal processing
return s:RGBComponentsTo88Cube(a:num, a:num, a:num)
endif
endfunction
" Expects 3 decimal values 'r', 'g', and 'b', each between 0 and 255 inclusive.
" Returns a 256-color colorcube number for the color at RGB=r,g,b.
" Will not use the greyscale ramp.
function! s:RGBComponentsTo256Cube(r,g,b)
let rc = index(s:vals_color_256, a:r)
let gc = index(s:vals_color_256, a:g)
let bc = index(s:vals_color_256, a:b)
return (rc * 36 + gc * 6 + bc + 16)
endfunction
" Expects 3 decimal values 'r', 'g', and 'b', each between 0 and 255 inclusive.
" Returns a 88-color colorcube number for the color at RGB=r,g,b.
" Will not use the greyscale ramp.
function! s:RGBComponentsTo88Cube(r,g,b)
let rc = index(s:vals_color_88, a:r)
let gc = index(s:vals_color_88, a:g)
let bc = index(s:vals_color_88, a:b)
return (rc * 16 + gc * 4 + bc + 16)
endfunction
" Check if the provided value is found in "g:colorschemedegrade_ignore", which
" may either be a list or a comma or space separated string. If the variable
" "g:colorschemedegrade_ignore" is not present, the default is "bold italic"
function! s:ignoring(attr)
if !exists("g:colorschemedegrade_ignore")
let ignore = [ 'bold', 'italic' ]
elseif type(g:colorschemedegrade_ignore) == type("")
let ignore = split(g:colorschemedegrade_ignore, '[ ,]')
elseif type(g:colorschemedegrade_ignore) == type([])
let ignore = g:colorschemedegrade_ignore
else
return 0
endif
return index(ignore, a:attr) != -1
endfunction
" Sets some settings, calls s:ColorschemeDegradeImpl to handle actually
" degrading the colorscheme, then restores the settings. This wrapper
" should make sure that we don't accidentally recurse, and that settings are
" restored properly even if something throws.
function! s:ColorschemeDegrade()
if g:colors_name =~ ".*-rgb"
return
endif
let saveei = &ei
set ei+=ColorScheme
if exists("g:colors_name")
let colors_name = g:colors_name
unlet g:colors_name
endif
let savelz = &lz
set lz
let rv = -1
try
let rv = s:ColorschemeDegradeImpl()
catch
let ex = v:exception
endtry
let &lz = savelz
if exists("colors_name")
let g:colors_name = colors_name
endif
let &ei = saveei
if exists("ex")
echoerr 'ColorschemeDegrade failed: ' . substitute(ex, '.\{-}:', '', '')
endif
return rv
endfunction
" For every highlight group, sets the cterm values to the best approximation
" of the gui values possible given the value of &t_Co.
function! s:ColorschemeDegradeImpl()
if has('gui_running') || (&t_Co != 256 && &t_Co != 88)
return
endif
let g:highlights = ""
redir => g:highlights
" Normal must be set 1st for ctermfg=bg, etc, and resetting it doesn't hurt
silent highlight Normal
silent highlight
redir END
let hilines = split(g:highlights, '\n')
" hilines[0] is Normal. If that doesn't use gui colors, we should probably
" just give up. That way we don't muck up an already 256/88 color scheme.
if hilines[0] !~ 'gui[fb]g'
if &verbose
echomsg "Not degrading colorscheme; doesn't set Normal group gui colors"
endif
return
endif
call filter(hilines, 'v:val !~ "links to" && v:val !~ "cleared"')
let i = 0
let end = len(hilines)
while i < end
let line = hilines[i]
let i += 1
while i < end && hilines[i] !~ '\<xxx\>'
let line .= hilines[i]
let i += 1
endwhile
let line = substitute(line, '\<st\(art\|op\)=.\{-}\S\@!', '', 'g')
let line = substitute(line, '\<c\=term.\{-}=.\{-}\S\@!', '', 'g')
let line = substitute(line, '\<xxx\>', '', '')
let line = substitute(line, '\<gui', 'cterm', 'g')
let line = substitute(line, '\s\+', ' ', 'g')
let items = split(line, '\%(\s\zecterm\|font\)\|=')
let higrp = items[0]
if len(items) % 2 != 1
echoerr "I cannot understand the highlight group "
\ . string(items) . ' at line ' . hilines[i]
endif
" Start clean
exe 'hi ' . higrp . ' term=NONE cterm=NONE ctermbg=NONE ctermfg=NONE'
for j in range((len(items)-1)/2)
" TODO Can we handle 16 color terminals? Probably, if we're in an xterm.
let var = items[2*j+1]
let val = items[2*j+2]
if var == 'ctermsp'
if exists('g:colorschemedegrade_sp_is_bg') && g:colorschemedegrade_sp_is_bg
let var = 'ctermbg'
else
let var = 'ctermfg'
endif
endif
if var == 'cterm'
if s:ignoring('bold')
let val = substitute(val, 'bold', '', '')
endif
if s:ignoring('underline')
let val = substitute(val, 'underline', '', '')
endif
if s:ignoring('undercurl')
let val = substitute(val, 'undercurl', '', '')
endif
if s:ignoring('reverse') || s:ignoring('inverse')
let val = substitute(val, '\%(re\|in\)verse', '', '')
endif
if s:ignoring('italic')
let val = substitute(val, 'italic', '', '')
endif
if s:ignoring('standout')
let val = substitute(val, 'standout', '', '')
endif
let val = substitute(val, '\(^,*\|,*$\)', '', '')
let val = substitute(val, ',\+', ',', 'g')
let val = substitute(val, '^,*$', 'NONE', '')
exe 'hi ' . higrp . ' ' . var . '=' . val
elseif var =~ 'cterm[fb]g'
if val =~ '[FBfb]g'
let val = tolower(val)
if var =~ val
let val = "NONE"
endif
"echomsg 'higrp=' . higrp . ' var=' . var . ' val=' . val
exe 'hi ' . higrp . ' ' . var . '=' . val
continue
elseif val !~ '^#'
try
" We do need our cooked rgb.txt
if s:rgb == {}
let s:rgb = colorschemedegradelib#RGB()
endif
let val = s:rgb[tolower(substitute(val, ' ', '_', 'g'))]
catch
echomsg "Cannot translate color \"" . val . "\""
continue
endtry
endif
if v:termresponse =~ '>8[35];'
\ && exists('g:colorschemedegrade_changecube')
\ && g:colorschemedegrade_changecube
if !exists("s:lastcubepos")
let s:lastcubepos="15"
let s:colors = {}
endif
let tisave = &t_ti
let tesave = &t_te
set t_ti= t_te=
if has_key(s:colors, tolower(val))
let nr = s:colors[tolower(val)]
else
let s:lastcubepos = s:lastcubepos + 1
if s:lastcubepos >= &t_Co
let s:lastcubepos = 16
endif
let nr = s:lastcubepos
let s:colors[tolower(val)] = nr
if $STY == ""
exe 'sil !echo -n -e "\\033]4;' . nr . ';\' . val . '\\a"'
else
exe 'sil !echo -n -e "\\033P\\033]4;' . nr . ';\' . val . '\\a\\033\\\\"'
endif
endif
let &t_ti = tisave
let &t_te = tesave
exe 'hi' higrp var.'='.nr
else
let r = val[1] . val[2]
let g = val[3] . val[4]
let b = val[5] . val[6]
exe 'hi ' . higrp . ' ' . var . '=' . s:FindClosestCode(r, g, b)
endif
endif
endfor
endwhile
if exists("s:lastcubepos")
unlet s:lastcubepos
endif
endfunction
augroup ColorSchemeDegrade
au!
au ColorScheme * call s:ColorschemeDegrade()
augroup END
autocmd TermResponse * if exists("g:colors_name")
\ | exe "colorscheme" g:colors_name
\ | call s:ColorschemeDegrade()
\ | endif
if exists("g:colors_name")
" Don't do anything unless :colorscheme has already been called
call s:ColorschemeDegrade()
endif
let &cpo = s:savecpo
unlet s:savecpo
" vim:set sw=2 sts=2 fdm=marker: