Mercurial > vim
changeset 9591:201773c00b96 v7.4.2073
commit https://github.com/vim/vim/commit/68015bbd846181d49842d6ef60246c4195d20b89
Author: Bram Moolenaar <Bram@vim.org>
Date: Tue Jul 19 21:05:21 2016 +0200
patch 7.4.2073
Problem: rgb.txt is read for every color name.
Solution: Load rgb.txt once. (Christian Brabandt) Add a test.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Tue, 19 Jul 2016 21:15:05 +0200 |
parents | 628cf2af3da0 |
children | 3e42d947b5ad |
files | runtime/rgb.txt src/term.c src/testdir/test_syn_attr.vim src/version.c |
diffstat | 4 files changed, 884 insertions(+), 58 deletions(-) [+] |
line wrap: on
line diff
--- a/runtime/rgb.txt +++ b/runtime/rgb.txt @@ -1,4 +1,3 @@ -! $XConsortium: rgb.txt,v 10.41 94/02/20 18:39:36 rws Exp $ 255 250 250 snow 248 248 255 ghost white 248 248 255 GhostWhite @@ -58,6 +57,14 @@ 119 136 153 light slate grey 119 136 153 LightSlateGrey 190 190 190 gray 190 190 190 grey +190 190 190 x11 gray +190 190 190 X11Gray +190 190 190 x11 grey +190 190 190 X11Grey +128 128 128 web gray +128 128 128 WebGray +128 128 128 web grey +128 128 128 WebGrey 211 211 211 light grey 211 211 211 LightGrey 211 211 211 light gray @@ -106,6 +113,7 @@ 175 238 238 PaleTurquoise 72 209 204 MediumTurquoise 64 224 208 turquoise 0 255 255 cyan + 0 255 255 aqua 224 255 255 light cyan 224 255 255 LightCyan 95 158 160 cadet blue @@ -132,6 +140,11 @@ 152 251 152 PaleGreen 124 252 0 lawn green 124 252 0 LawnGreen 0 255 0 green + 0 255 0 lime + 0 255 0 x11 green + 0 255 0 X11Green + 0 128 0 web green + 0 128 0 WebGreen 127 255 0 chartreuse 0 250 154 medium spring green 0 250 154 MediumSpringGreen @@ -203,11 +216,16 @@ 255 182 193 LightPink 219 112 147 pale violet red 219 112 147 PaleVioletRed 176 48 96 maroon +176 48 96 x11 maroon +176 48 96 X11Maroon +128 0 0 web maroon +128 0 0 WebMaroon 199 21 133 medium violet red 199 21 133 MediumVioletRed 208 32 144 violet red 208 32 144 VioletRed 255 0 255 magenta +255 0 255 fuchsia 238 130 238 violet 221 160 221 plum 218 112 214 orchid @@ -220,6 +238,10 @@ 148 0 211 DarkViolet 138 43 226 blue violet 138 43 226 BlueViolet 160 32 240 purple +160 32 240 x11 purple +160 32 240 X11Purple +128 0 128 web purple +128 0 128 WebPurple 147 112 219 medium purple 147 112 219 MediumPurple 216 191 216 thistle @@ -751,3 +773,10 @@ 139 0 0 dark red 139 0 0 DarkRed 144 238 144 light green 144 238 144 LightGreen +220 20 60 crimson + 75 0 130 indigo +128 128 0 olive +102 51 153 rebecca purple +102 51 153 RebeccaPurple +192 192 192 silver + 0 128 128 teal
--- a/src/term.c +++ b/src/term.c @@ -6086,6 +6086,8 @@ gui_get_color_cmn(char_u *name) guicolor_T color; }; + /* Only non X11 colors (not present in rgb.txt) and colors in + * color_names[], useful when $VIMRUNTIME is not found,. */ static struct rgbcolor_table_S rgb_table[] = { {(char_u *)"black", RGB(0x00, 0x00, 0x00)}, {(char_u *)"blue", RGB(0x00, 0x00, 0xFF)}, @@ -6100,26 +6102,8 @@ gui_get_color_cmn(char_u *name) {(char_u *)"darkred", RGB(0x8B, 0x00, 0x00)}, {(char_u *)"darkyellow", RGB(0x8B, 0x8B, 0x00)}, /* No X11 */ {(char_u *)"gray", RGB(0xBE, 0xBE, 0xBE)}, - {(char_u *)"gray10", RGB(0x1A, 0x1A, 0x1A)}, - {(char_u *)"gray20", RGB(0x33, 0x33, 0x33)}, - {(char_u *)"gray30", RGB(0x4D, 0x4D, 0x4D)}, - {(char_u *)"gray40", RGB(0x66, 0x66, 0x66)}, - {(char_u *)"gray50", RGB(0x7F, 0x7F, 0x7F)}, - {(char_u *)"gray60", RGB(0x99, 0x99, 0x99)}, - {(char_u *)"gray70", RGB(0xB3, 0xB3, 0xB3)}, - {(char_u *)"gray80", RGB(0xCC, 0xCC, 0xCC)}, - {(char_u *)"gray90", RGB(0xE5, 0xE5, 0xE5)}, {(char_u *)"green", RGB(0x00, 0xFF, 0x00)}, {(char_u *)"grey", RGB(0xBE, 0xBE, 0xBE)}, - {(char_u *)"grey10", RGB(0x1A, 0x1A, 0x1A)}, - {(char_u *)"grey20", RGB(0x33, 0x33, 0x33)}, - {(char_u *)"grey30", RGB(0x4D, 0x4D, 0x4D)}, - {(char_u *)"grey40", RGB(0x66, 0x66, 0x66)}, - {(char_u *)"grey50", RGB(0x7F, 0x7F, 0x7F)}, - {(char_u *)"grey60", RGB(0x99, 0x99, 0x99)}, - {(char_u *)"grey70", RGB(0xB3, 0xB3, 0xB3)}, - {(char_u *)"grey80", RGB(0xCC, 0xCC, 0xCC)}, - {(char_u *)"grey90", RGB(0xE5, 0xE5, 0xE5)}, {(char_u *)"lightblue", RGB(0xAD, 0xD8, 0xE6)}, {(char_u *)"lightcyan", RGB(0xE0, 0xFF, 0xFF)}, {(char_u *)"lightgray", RGB(0xD3, 0xD3, 0xD3)}, @@ -6129,16 +6113,13 @@ gui_get_color_cmn(char_u *name) {(char_u *)"lightred", RGB(0xFF, 0x8B, 0x8B)}, /* No X11 */ {(char_u *)"lightyellow", RGB(0xFF, 0xFF, 0xE0)}, {(char_u *)"magenta", RGB(0xFF, 0x00, 0xFF)}, - {(char_u *)"orange", RGB(0xFF, 0xA5, 0x00)}, - {(char_u *)"purple", RGB(0xA0, 0x20, 0xF0)}, {(char_u *)"red", RGB(0xFF, 0x00, 0x00)}, - {(char_u *)"seagreen", RGB(0x2E, 0x8B, 0x57)}, - {(char_u *)"slateblue", RGB(0x6A, 0x5A, 0xCD)}, - {(char_u *)"violet", RGB(0xEE, 0x82, 0xEE)}, {(char_u *)"white", RGB(0xFF, 0xFF, 0xFF)}, {(char_u *)"yellow", RGB(0xFF, 0xFF, 0x00)}, }; + static struct rgbcolor_table_S *colornames_table; + static int size = 0; if (name[0] == '#' && STRLEN(name) == 7) { @@ -6159,44 +6140,75 @@ gui_get_color_cmn(char_u *name) /* * Last attempt. Look in the file "$VIM/rgb.txt". */ - - fname = expand_env_save((char_u *)"$VIMRUNTIME/rgb.txt"); - if (fname == NULL) - return INVALCOLOR; - - fd = fopen((char *)fname, "rt"); - vim_free(fname); - if (fd == NULL) - { - if (p_verbose > 1) - verb_msg((char_u *)_("Cannot open $VIMRUNTIME/rgb.txt")); - return INVALCOLOR; - } - - while (!feof(fd)) + if (size == 0) { - size_t len; - int pos; - - ignoredp = fgets(line, LINE_LEN, fd); - len = strlen(line); - - if (len <= 1 || line[len - 1] != '\n') - continue; - - line[len - 1] = '\0'; - - i = sscanf(line, "%d %d %d %n", &r, &g, &b, &pos); - if (i != 3) - continue; - - if (STRICMP(line + pos, name) == 0) + int counting; + + /* colornames_table not yet initialized */ + fname = expand_env_save((char_u *)"$VIMRUNTIME/rgb.txt"); + if (fname == NULL) + return INVALCOLOR; + + fd = fopen((char *)fname, "rt"); + vim_free(fname); + if (fd == NULL) + { + if (p_verbose > 1) + verb_msg((char_u *)_("Cannot open $VIMRUNTIME/rgb.txt")); + return INVALCOLOR; + } + + for (counting = 1; counting >= 0; --counting) { - fclose(fd); - return (guicolor_T)RGB(r, g, b); + if (!counting) + { + colornames_table = (struct rgbcolor_table_S *)alloc( + (unsigned)(sizeof(struct rgbcolor_table_S) * size)); + if (colornames_table == NULL) + { + fclose(fd); + return INVALCOLOR; + } + rewind(fd); + } + size = 0; + + while (!feof(fd)) + { + size_t len; + int pos; + + ignoredp = fgets(line, LINE_LEN, fd); + len = strlen(line); + + if (len <= 1 || line[len - 1] != '\n') + continue; + + line[len - 1] = '\0'; + + i = sscanf(line, "%d %d %d %n", &r, &g, &b, &pos); + if (i != 3) + continue; + + if (!counting) + { + char_u *s = vim_strsave((char_u *)line + pos); + + if (s == NULL) + return INVALCOLOR; + colornames_table[size].color_name = s; + colornames_table[size].color = (guicolor_T)RGB(r, g, b); + } + size++; + } } + fclose(fd); } - fclose(fd); + + for (i = 0; i < size; i++) + if (STRICMP(name, colornames_table[i].color_name) == 0) + return colornames_table[i].color; + return INVALCOLOR; } #endif
--- a/src/testdir/test_syn_attr.vim +++ b/src/testdir/test_syn_attr.vim @@ -33,3 +33,786 @@ func Test_missing_attr() call assert_equal(fontname, synIDattr(hlID("Mine"), "font", 'gui')) endif endfunc + +func Test_color_names() + let colors = [ + \ 'AliceBlue', + \ 'AntiqueWhite', + \ 'AntiqueWhite1', + \ 'AntiqueWhite2', + \ 'AntiqueWhite3', + \ 'AntiqueWhite4', + \ 'BlanchedAlmond', + \ 'BlueViolet', + \ 'CadetBlue', + \ 'CadetBlue1', + \ 'CadetBlue2', + \ 'CadetBlue3', + \ 'CadetBlue4', + \ 'CornflowerBlue', + \ 'DarkBlue', + \ 'DarkCyan', + \ 'DarkGoldenrod', + \ 'DarkGoldenrod1', + \ 'DarkGoldenrod2', + \ 'DarkGoldenrod3', + \ 'DarkGoldenrod4', + \ 'DarkGray', + \ 'DarkGreen', + \ 'DarkGrey', + \ 'DarkKhaki', + \ 'DarkMagenta', + \ 'DarkOliveGreen', + \ 'DarkOliveGreen1', + \ 'DarkOliveGreen2', + \ 'DarkOliveGreen3', + \ 'DarkOliveGreen4', + \ 'DarkOrange', + \ 'DarkOrange1', + \ 'DarkOrange2', + \ 'DarkOrange3', + \ 'DarkOrange4', + \ 'DarkOrchid', + \ 'DarkOrchid1', + \ 'DarkOrchid2', + \ 'DarkOrchid3', + \ 'DarkOrchid4', + \ 'DarkRed', + \ 'DarkSalmon', + \ 'DarkSeaGreen', + \ 'DarkSeaGreen1', + \ 'DarkSeaGreen2', + \ 'DarkSeaGreen3', + \ 'DarkSeaGreen4', + \ 'DarkSlateBlue', + \ 'DarkSlateGray', + \ 'DarkSlateGray1', + \ 'DarkSlateGray2', + \ 'DarkSlateGray3', + \ 'DarkSlateGray4', + \ 'DarkSlateGrey', + \ 'DarkTurquoise', + \ 'DarkViolet', + \ 'DeepPink', + \ 'DeepPink1', + \ 'DeepPink2', + \ 'DeepPink3', + \ 'DeepPink4', + \ 'DeepSkyBlue', + \ 'DeepSkyBlue1', + \ 'DeepSkyBlue2', + \ 'DeepSkyBlue3', + \ 'DeepSkyBlue4', + \ 'DimGray', + \ 'DimGrey', + \ 'DodgerBlue', + \ 'DodgerBlue1', + \ 'DodgerBlue2', + \ 'DodgerBlue3', + \ 'DodgerBlue4', + \ 'FloralWhite', + \ 'ForestGreen', + \ 'GhostWhite', + \ 'GreenYellow', + \ 'HotPink', + \ 'HotPink1', + \ 'HotPink2', + \ 'HotPink3', + \ 'HotPink4', + \ 'IndianRed', + \ 'IndianRed1', + \ 'IndianRed2', + \ 'IndianRed3', + \ 'IndianRed4', + \ 'LavenderBlush', + \ 'LavenderBlush1', + \ 'LavenderBlush2', + \ 'LavenderBlush3', + \ 'LavenderBlush4', + \ 'LawnGreen', + \ 'LemonChiffon', + \ 'LemonChiffon1', + \ 'LemonChiffon2', + \ 'LemonChiffon3', + \ 'LemonChiffon4', + \ 'LightBlue', + \ 'LightBlue1', + \ 'LightBlue2', + \ 'LightBlue3', + \ 'LightBlue4', + \ 'LightCoral', + \ 'LightCyan', + \ 'LightCyan1', + \ 'LightCyan2', + \ 'LightCyan3', + \ 'LightCyan4', + \ 'LightGoldenrod', + \ 'LightGoldenrod1', + \ 'LightGoldenrod2', + \ 'LightGoldenrod3', + \ 'LightGoldenrod4', + \ 'LightGoldenrodYellow', + \ 'LightGray', + \ 'LightGreen', + \ 'LightGrey', + \ 'LightPink', + \ 'LightPink1', + \ 'LightPink2', + \ 'LightPink3', + \ 'LightPink4', + \ 'LightSalmon', + \ 'LightSalmon1', + \ 'LightSalmon2', + \ 'LightSalmon3', + \ 'LightSalmon4', + \ 'LightSeaGreen', + \ 'LightSkyBlue', + \ 'LightSkyBlue1', + \ 'LightSkyBlue2', + \ 'LightSkyBlue3', + \ 'LightSkyBlue4', + \ 'LightSlateBlue', + \ 'LightSlateGray', + \ 'LightSlateGrey', + \ 'LightSteelBlue', + \ 'LightSteelBlue1', + \ 'LightSteelBlue2', + \ 'LightSteelBlue3', + \ 'LightSteelBlue4', + \ 'LightYellow', + \ 'LightYellow1', + \ 'LightYellow2', + \ 'LightYellow3', + \ 'LightYellow4', + \ 'LimeGreen', + \ 'MediumAquamarine', + \ 'MediumBlue', + \ 'MediumOrchid', + \ 'MediumOrchid1', + \ 'MediumOrchid2', + \ 'MediumOrchid3', + \ 'MediumOrchid4', + \ 'MediumPurple', + \ 'MediumPurple1', + \ 'MediumPurple2', + \ 'MediumPurple3', + \ 'MediumPurple4', + \ 'MediumSeaGreen', + \ 'MediumSlateBlue', + \ 'MediumSpringGreen', + \ 'MediumTurquoise', + \ 'MediumVioletRed', + \ 'MidnightBlue', + \ 'MintCream', + \ 'MistyRose', + \ 'MistyRose1', + \ 'MistyRose2', + \ 'MistyRose3', + \ 'MistyRose4', + \ 'NavajoWhite', + \ 'NavajoWhite1', + \ 'NavajoWhite2', + \ 'NavajoWhite3', + \ 'NavajoWhite4', + \ 'NavyBlue', + \ 'OldLace', + \ 'OliveDrab', + \ 'OliveDrab1', + \ 'OliveDrab2', + \ 'OliveDrab3', + \ 'OliveDrab4', + \ 'OrangeRed', + \ 'OrangeRed1', + \ 'OrangeRed2', + \ 'OrangeRed3', + \ 'OrangeRed4', + \ 'PaleGoldenrod', + \ 'PaleGreen', + \ 'PaleGreen1', + \ 'PaleGreen2', + \ 'PaleGreen3', + \ 'PaleGreen4', + \ 'PaleTurquoise', + \ 'PaleTurquoise1', + \ 'PaleTurquoise2', + \ 'PaleTurquoise3', + \ 'PaleTurquoise4', + \ 'PaleVioletRed', + \ 'PaleVioletRed1', + \ 'PaleVioletRed2', + \ 'PaleVioletRed3', + \ 'PaleVioletRed4', + \ 'PapayaWhip', + \ 'PeachPuff', + \ 'PeachPuff1', + \ 'PeachPuff2', + \ 'PeachPuff3', + \ 'PeachPuff4', + \ 'PowderBlue', + \ 'RosyBrown', + \ 'RosyBrown1', + \ 'RosyBrown2', + \ 'RosyBrown3', + \ 'RosyBrown4', + \ 'RoyalBlue', + \ 'RoyalBlue1', + \ 'RoyalBlue2', + \ 'RoyalBlue3', + \ 'RoyalBlue4', + \ 'SaddleBrown', + \ 'SandyBrown', + \ 'SeaGreen', + \ 'SeaGreen1', + \ 'SeaGreen2', + \ 'SeaGreen3', + \ 'SeaGreen4', + \ 'SkyBlue', + \ 'SkyBlue1', + \ 'SkyBlue2', + \ 'SkyBlue3', + \ 'SkyBlue4', + \ 'SlateBlue', + \ 'SlateBlue1', + \ 'SlateBlue2', + \ 'SlateBlue3', + \ 'SlateBlue4', + \ 'SlateGray', + \ 'SlateGray1', + \ 'SlateGray2', + \ 'SlateGray3', + \ 'SlateGray4', + \ 'SlateGrey', + \ 'SpringGreen', + \ 'SpringGreen1', + \ 'SpringGreen2', + \ 'SpringGreen3', + \ 'SpringGreen4', + \ 'SteelBlue', + \ 'SteelBlue1', + \ 'SteelBlue2', + \ 'SteelBlue3', + \ 'SteelBlue4', + \ 'VioletRed', + \ 'VioletRed1', + \ 'VioletRed2', + \ 'VioletRed3', + \ 'VioletRed4', + \ 'WhiteSmoke', + \ 'YellowGreen', + \ 'alice blue', + \ 'antique white', + \ 'aquamarine', + \ 'aquamarine1', + \ 'aquamarine2', + \ 'aquamarine3', + \ 'aquamarine4', + \ 'azure', + \ 'azure1', + \ 'azure2', + \ 'azure3', + \ 'azure4', + \ 'beige', + \ 'bisque', + \ 'bisque1', + \ 'bisque2', + \ 'bisque3', + \ 'bisque4', + \ 'black', + \ 'blanched almond', + \ 'blue violet', + \ 'blue', + \ 'blue1', + \ 'blue2', + \ 'blue3', + \ 'blue4', + \ 'brown', + \ 'brown1', + \ 'brown2', + \ 'brown3', + \ 'brown4', + \ 'burlywood', + \ 'burlywood1', + \ 'burlywood2', + \ 'burlywood3', + \ 'burlywood4', + \ 'cadet blue', + \ 'chartreuse', + \ 'chartreuse1', + \ 'chartreuse2', + \ 'chartreuse3', + \ 'chartreuse4', + \ 'chocolate', + \ 'chocolate1', + \ 'chocolate2', + \ 'chocolate3', + \ 'chocolate4', + \ 'coral', + \ 'coral1', + \ 'coral2', + \ 'coral3', + \ 'coral4', + \ 'cornflower blue', + \ 'cornsilk', + \ 'cornsilk1', + \ 'cornsilk2', + \ 'cornsilk3', + \ 'cornsilk4', + \ 'cyan', + \ 'cyan1', + \ 'cyan2', + \ 'cyan3', + \ 'cyan4', + \ 'dark blue', + \ 'dark cyan', + \ 'dark goldenrod', + \ 'dark gray', + \ 'dark green', + \ 'dark grey', + \ 'dark khaki', + \ 'dark magenta', + \ 'dark olive green', + \ 'dark orange', + \ 'dark orchid', + \ 'dark red', + \ 'dark salmon', + \ 'dark sea green', + \ 'dark slate blue', + \ 'dark slate gray', + \ 'dark slate grey', + \ 'dark turquoise', + \ 'dark violet', + \ 'darkblue', + \ 'darkcyan', + \ 'darkgray', + \ 'darkgreen', + \ 'darkgrey', + \ 'darkmagenta', + \ 'darkred', + \ 'darkyellow', + \ 'deep pink', + \ 'deep sky blue', + \ 'dim gray', + \ 'dim grey', + \ 'dodger blue', + \ 'firebrick', + \ 'firebrick1', + \ 'firebrick2', + \ 'firebrick3', + \ 'firebrick4', + \ 'floral white', + \ 'forest green', + \ 'gainsboro', + \ 'ghost white', + \ 'gold', + \ 'gold1', + \ 'gold2', + \ 'gold3', + \ 'gold4', + \ 'goldenrod', + \ 'goldenrod1', + \ 'goldenrod2', + \ 'goldenrod3', + \ 'goldenrod4', + \ 'gray', + \ 'gray0', + \ 'gray1', + \ 'gray10', + \ 'gray100', + \ 'gray11', + \ 'gray12', + \ 'gray13', + \ 'gray14', + \ 'gray15', + \ 'gray16', + \ 'gray17', + \ 'gray18', + \ 'gray19', + \ 'gray2', + \ 'gray20', + \ 'gray21', + \ 'gray22', + \ 'gray23', + \ 'gray24', + \ 'gray25', + \ 'gray26', + \ 'gray27', + \ 'gray28', + \ 'gray29', + \ 'gray3', + \ 'gray30', + \ 'gray31', + \ 'gray32', + \ 'gray33', + \ 'gray34', + \ 'gray35', + \ 'gray36', + \ 'gray37', + \ 'gray38', + \ 'gray39', + \ 'gray4', + \ 'gray40', + \ 'gray41', + \ 'gray42', + \ 'gray43', + \ 'gray44', + \ 'gray45', + \ 'gray46', + \ 'gray47', + \ 'gray48', + \ 'gray49', + \ 'gray5', + \ 'gray50', + \ 'gray51', + \ 'gray52', + \ 'gray53', + \ 'gray54', + \ 'gray55', + \ 'gray56', + \ 'gray57', + \ 'gray58', + \ 'gray59', + \ 'gray6', + \ 'gray60', + \ 'gray61', + \ 'gray62', + \ 'gray63', + \ 'gray64', + \ 'gray65', + \ 'gray66', + \ 'gray67', + \ 'gray68', + \ 'gray69', + \ 'gray7', + \ 'gray70', + \ 'gray71', + \ 'gray72', + \ 'gray73', + \ 'gray74', + \ 'gray75', + \ 'gray76', + \ 'gray77', + \ 'gray78', + \ 'gray79', + \ 'gray8', + \ 'gray80', + \ 'gray81', + \ 'gray82', + \ 'gray83', + \ 'gray84', + \ 'gray85', + \ 'gray86', + \ 'gray87', + \ 'gray88', + \ 'gray89', + \ 'gray9', + \ 'gray90', + \ 'gray91', + \ 'gray92', + \ 'gray93', + \ 'gray94', + \ 'gray95', + \ 'gray96', + \ 'gray97', + \ 'gray98', + \ 'gray99', + \ 'green yellow', + \ 'green', + \ 'green1', + \ 'green2', + \ 'green3', + \ 'green4', + \ 'grey', + \ 'grey0', + \ 'grey1', + \ 'grey10', + \ 'grey100', + \ 'grey11', + \ 'grey12', + \ 'grey13', + \ 'grey14', + \ 'grey15', + \ 'grey16', + \ 'grey17', + \ 'grey18', + \ 'grey19', + \ 'grey2', + \ 'grey20', + \ 'grey21', + \ 'grey22', + \ 'grey23', + \ 'grey24', + \ 'grey25', + \ 'grey26', + \ 'grey27', + \ 'grey28', + \ 'grey29', + \ 'grey3', + \ 'grey30', + \ 'grey31', + \ 'grey32', + \ 'grey33', + \ 'grey34', + \ 'grey35', + \ 'grey36', + \ 'grey37', + \ 'grey38', + \ 'grey39', + \ 'grey4', + \ 'grey40', + \ 'grey41', + \ 'grey42', + \ 'grey43', + \ 'grey44', + \ 'grey45', + \ 'grey46', + \ 'grey47', + \ 'grey48', + \ 'grey49', + \ 'grey5', + \ 'grey50', + \ 'grey51', + \ 'grey52', + \ 'grey53', + \ 'grey54', + \ 'grey55', + \ 'grey56', + \ 'grey57', + \ 'grey58', + \ 'grey59', + \ 'grey6', + \ 'grey60', + \ 'grey61', + \ 'grey62', + \ 'grey63', + \ 'grey64', + \ 'grey65', + \ 'grey66', + \ 'grey67', + \ 'grey68', + \ 'grey69', + \ 'grey7', + \ 'grey70', + \ 'grey71', + \ 'grey72', + \ 'grey73', + \ 'grey74', + \ 'grey75', + \ 'grey76', + \ 'grey77', + \ 'grey78', + \ 'grey79', + \ 'grey8', + \ 'grey80', + \ 'grey81', + \ 'grey82', + \ 'grey83', + \ 'grey84', + \ 'grey85', + \ 'grey86', + \ 'grey87', + \ 'grey88', + \ 'grey89', + \ 'grey9', + \ 'grey90', + \ 'grey91', + \ 'grey92', + \ 'grey93', + \ 'grey94', + \ 'grey95', + \ 'grey96', + \ 'grey97', + \ 'grey98', + \ 'grey99', + \ 'honeydew', + \ 'honeydew1', + \ 'honeydew2', + \ 'honeydew3', + \ 'honeydew4', + \ 'hot pink', + \ 'indian red', + \ 'ivory', + \ 'ivory1', + \ 'ivory2', + \ 'ivory3', + \ 'ivory4', + \ 'khaki', + \ 'khaki1', + \ 'khaki2', + \ 'khaki3', + \ 'khaki4', + \ 'lavender blush', + \ 'lavender', + \ 'lawn green', + \ 'lemon chiffon', + \ 'light blue', + \ 'light coral', + \ 'light cyan', + \ 'light goldenrod yellow', + \ 'light goldenrod', + \ 'light gray', + \ 'light green', + \ 'light grey', + \ 'light pink', + \ 'light salmon', + \ 'light sea green', + \ 'light sky blue', + \ 'light slate blue', + \ 'light slate gray', + \ 'light slate grey', + \ 'light steel blue', + \ 'light yellow', + \ 'lightblue', + \ 'lightcyan', + \ 'lightgray', + \ 'lightgreen', + \ 'lightgrey', + \ 'lightmagenta', + \ 'lightred', + \ 'lightyellow', + \ 'lime green', + \ 'linen', + \ 'magenta', + \ 'magenta1', + \ 'magenta2', + \ 'magenta3', + \ 'magenta4', + \ 'maroon', + \ 'maroon1', + \ 'maroon2', + \ 'maroon3', + \ 'maroon4', + \ 'medium aquamarine', + \ 'medium blue', + \ 'medium orchid', + \ 'medium purple', + \ 'medium sea green', + \ 'medium slate blue', + \ 'medium spring green', + \ 'medium turquoise', + \ 'medium violet red', + \ 'midnight blue', + \ 'mint cream', + \ 'misty rose', + \ 'moccasin', + \ 'navajo white', + \ 'navy blue', + \ 'navy', + \ 'old lace', + \ 'olive drab', + \ 'orange red', + \ 'orange', + \ 'orange1', + \ 'orange2', + \ 'orange3', + \ 'orange4', + \ 'orchid', + \ 'orchid1', + \ 'orchid2', + \ 'orchid3', + \ 'orchid4', + \ 'pale goldenrod', + \ 'pale green', + \ 'pale turquoise', + \ 'pale violet red', + \ 'papaya whip', + \ 'peach puff', + \ 'peru', + \ 'pink', + \ 'pink1', + \ 'pink2', + \ 'pink3', + \ 'pink4', + \ 'plum', + \ 'plum1', + \ 'plum2', + \ 'plum3', + \ 'plum4', + \ 'powder blue', + \ 'purple', + \ 'purple1', + \ 'purple2', + \ 'purple3', + \ 'purple4', + \ 'red', + \ 'red1', + \ 'red2', + \ 'red3', + \ 'red4', + \ 'rosy brown', + \ 'royal blue', + \ 'saddle brown', + \ 'salmon', + \ 'salmon1', + \ 'salmon2', + \ 'salmon3', + \ 'salmon4', + \ 'sandy brown', + \ 'sea green', + \ 'seagreen', + \ 'seashell', + \ 'seashell1', + \ 'seashell2', + \ 'seashell3', + \ 'seashell4', + \ 'sienna', + \ 'sienna1', + \ 'sienna2', + \ 'sienna3', + \ 'sienna4', + \ 'sky blue', + \ 'slate blue', + \ 'slate gray', + \ 'slate grey', + \ 'slateblue', + \ 'snow', + \ 'snow1', + \ 'snow2', + \ 'snow3', + \ 'snow4', + \ 'spring green', + \ 'steel blue', + \ 'tan', + \ 'tan1', + \ 'tan2', + \ 'tan3', + \ 'tan4', + \ 'thistle', + \ 'thistle1', + \ 'thistle2', + \ 'thistle3', + \ 'thistle4', + \ 'tomato', + \ 'tomato1', + \ 'tomato2', + \ 'tomato3', + \ 'tomato4', + \ 'turquoise', + \ 'turquoise1', + \ 'turquoise2', + \ 'turquoise3', + \ 'turquoise4', + \ 'violet red', + \ 'violet', + \ 'wheat', + \ 'wheat1', + \ 'wheat2', + \ 'wheat3', + \ 'wheat4', + \ 'white smoke', + \ 'white', + \ 'yellow green', + \ 'yellow', + \ 'yellow1', + \ 'yellow2', + \ 'yellow3', + \ 'yellow4', + \ ] + for color in colors + " just test that the color name can be found. + exe "hi Mine guifg='" . color . "'" + endfor + + " case is ignored + hi Mine guifg=blanchedalmond + hi Mine guifg=BLANCHEDALMOND +endfunc