diff options
Diffstat (limited to 'src/nvim/syntax.c')
-rw-r--r-- | src/nvim/syntax.c | 1114 |
1 files changed, 884 insertions, 230 deletions
diff --git a/src/nvim/syntax.c b/src/nvim/syntax.c index 1f9dbd8228..37e5542dad 100644 --- a/src/nvim/syntax.c +++ b/src/nvim/syntax.c @@ -25,7 +25,6 @@ #include "nvim/memory.h" #include "nvim/message.h" #include "nvim/misc1.h" -#include "nvim/misc2.h" #include "nvim/keymap.h" #include "nvim/garray.h" #include "nvim/option.h" @@ -393,7 +392,9 @@ void syntax_start(win_T *wp, linenr_T lnum) * Also do this when a change was made, the current state may be invalid * then. */ - if (syn_block != wp->w_s || changedtick != syn_buf->b_changedtick) { + if (syn_block != wp->w_s + || syn_buf != wp->w_buffer + || changedtick != syn_buf->b_changedtick) { invalidate_current_state(); syn_buf = wp->w_buffer; syn_block = wp->w_s; @@ -812,19 +813,39 @@ static void syn_sync(win_T *wp, linenr_T start_lnum, synstate_T *last_valid) validate_current_state(); } +static void save_chartab(char_u *chartab) +{ + if (syn_block->b_syn_isk != empty_option) { + memmove(chartab, syn_buf->b_chartab, (size_t)32); + memmove(syn_buf->b_chartab, syn_win->w_s->b_syn_chartab, (size_t)32); + } +} + +static void restore_chartab(char_u *chartab) +{ + if (syn_win->w_s->b_syn_isk != empty_option) { + memmove(syn_buf->b_chartab, chartab, (size_t)32); + } +} + /* * Return TRUE if the line-continuation pattern matches in line "lnum". */ static int syn_match_linecont(linenr_T lnum) { - regmmatch_T regmatch; - if (syn_block->b_syn_linecont_prog != NULL) { + regmmatch_T regmatch; + // chartab array for syn iskeyword + char_u buf_chartab[32]; + save_chartab(buf_chartab); + regmatch.rmm_ic = syn_block->b_syn_linecont_ic; regmatch.regprog = syn_block->b_syn_linecont_prog; int r = syn_regexec(®match, lnum, (colnr_T)0, IF_SYN_TIME(&syn_block->b_syn_linecont_time)); syn_block->b_syn_linecont_prog = regmatch.regprog; + + restore_chartab(buf_chartab); return r; } return FALSE; @@ -1617,8 +1638,9 @@ syn_current_attr ( lpos_T pos; int lc_col; reg_extmatch_T *cur_extmatch = NULL; - char_u *line; /* current line. NOTE: becomes invalid after - looking for a pattern match! */ + char_u buf_chartab[32]; // chartab array for syn iskeyword + char_u *line; // current line. NOTE: becomes invalid after + // looking for a pattern match! /* variables for zero-width matches that have a "nextgroup" argument */ int keep_next_list; @@ -1668,6 +1690,9 @@ syn_current_attr ( * avoid matching the same item in the same position twice. */ ga_init(&zero_width_next_ga, (int)sizeof(int), 10); + // use syntax iskeyword option + save_chartab(buf_chartab); + /* * Repeat matching keywords and patterns, to find contained items at the * same column. This stops when there are no extra matches at the current @@ -1992,6 +2017,8 @@ syn_current_attr ( } while (found_match); + restore_chartab(buf_chartab); + /* * Use attributes from the current state, if within its highlighting. * If not, use attributes from the current-but-one state, etc. @@ -2522,7 +2549,8 @@ find_endpos ( regmmatch_T best_regmatch; /* startpos/endpos of best match */ lpos_T pos; char_u *line; - int had_match = FALSE; + int had_match = false; + char_u buf_chartab[32]; // chartab array for syn option iskeyword /* just in case we are invoked for a keyword */ if (idx < 0) @@ -2562,9 +2590,13 @@ find_endpos ( unref_extmatch(re_extmatch_in); re_extmatch_in = ref_extmatch(start_ext); - matchcol = startpos->col; /* start looking for a match at sstart */ - start_idx = idx; /* remember the first END pattern. */ - best_regmatch.startpos[0].col = 0; /* avoid compiler warning */ + matchcol = startpos->col; // start looking for a match at sstart + start_idx = idx; // remember the first END pattern. + best_regmatch.startpos[0].col = 0; // avoid compiler warning + + // use syntax iskeyword option + save_chartab(buf_chartab); + for (;; ) { /* * Find end pattern that matches first after "matchcol". @@ -2707,6 +2739,8 @@ find_endpos ( if (!had_match) m_endpos->lnum = 0; + restore_chartab(buf_chartab); + /* Remove external matches. */ unref_extmatch(re_extmatch_in); re_extmatch_in = NULL; @@ -3027,6 +3061,46 @@ static void syn_cmd_spell(exarg_T *eap, int syncing) redraw_win_later(curwin, NOT_VALID); } +/// Handle ":syntax iskeyword" command. +static void syn_cmd_iskeyword(exarg_T *eap, int syncing) +{ + char_u *arg = eap->arg; + char_u save_chartab[32]; + char_u *save_isk; + + if (eap->skip) { + return; + } + + arg = skipwhite(arg); + if (*arg == NUL) { + MSG_PUTS("\n"); + MSG_PUTS(_("syntax iskeyword ")); + if (curwin->w_s->b_syn_isk != empty_option) { + msg_outtrans(curwin->w_s->b_syn_isk); + } else { + msg_outtrans((char_u *)"not set"); + } + } else { + if (STRNICMP(arg, "clear", 5) == 0) { + memmove(curwin->w_s->b_syn_chartab, curbuf->b_chartab, (size_t)32); + clear_string_option(&curwin->w_s->b_syn_isk); + } else { + memmove(save_chartab, curbuf->b_chartab, (size_t)32); + save_isk = curbuf->b_p_isk; + curbuf->b_p_isk = vim_strsave(arg); + + buf_init_chartab(curbuf, false); + memmove(curwin->w_s->b_syn_chartab, curbuf->b_chartab, (size_t)32); + memmove(curbuf->b_chartab, save_chartab, (size_t)32); + clear_string_option(&curwin->w_s->b_syn_isk); + curwin->w_s->b_syn_isk = curbuf->b_p_isk; + curbuf->b_p_isk = save_isk; + } + } + redraw_win_later(curwin, NOT_VALID); +} + /* * Clear all syntax info for one buffer. */ @@ -3065,6 +3139,7 @@ void syntax_clear(synblock_T *block) xfree(block->b_syn_linecont_pat); block->b_syn_linecont_pat = NULL; block->b_syn_folditems = 0; + clear_string_option(&block->b_syn_isk); /* free the stored states */ syn_stack_free_all(block); @@ -3107,6 +3182,7 @@ static void syntax_sync_clear(void) curwin->w_s->b_syn_linecont_prog = NULL; xfree(curwin->w_s->b_syn_linecont_pat); curwin->w_s->b_syn_linecont_pat = NULL; + clear_string_option(&curwin->w_s->b_syn_isk); syn_stack_free_all(curwin->w_s); /* Need to recompute all syntax. */ } @@ -3266,6 +3342,7 @@ static void syn_cmd_enable(exarg_T *eap, int syncing) /* * Handle ":syntax reset" command. + * It actually resets highlighting, not syntax. */ static void syn_cmd_reset(exarg_T *eap, int syncing) { @@ -3300,7 +3377,7 @@ static void syn_cmd_onoff(exarg_T *eap, char *name) eap->nextcmd = check_nextcmd(eap->arg); if (!eap->skip) { char buf[100]; - strncpy(buf, "so ", 4); + memcpy(buf, "so ", 4); vim_snprintf(buf + 3, sizeof(buf) - 3, SYNTAX_FNAME, name); do_cmdline_cmd(buf); } @@ -4131,9 +4208,10 @@ static void syn_cmd_include(exarg_T *eap, int syncing) current_syn_inc_tag = ++running_syn_inc_tag; prev_toplvl_grp = curwin->w_s->b_syn_topgrp; curwin->w_s->b_syn_topgrp = sgl_id; - if (source ? do_source(eap->arg, FALSE, DOSO_NONE) == FAIL - : source_runtime(eap->arg, TRUE) == FAIL) + if (source ? do_source(eap->arg, false, DOSO_NONE) == FAIL + : source_runtime(eap->arg, DIP_ALL) == FAIL) { EMSG2(_(e_notopen), eap->arg); + } curwin->w_s->b_syn_topgrp = prev_toplvl_grp; current_syn_inc_tag = prev_syn_inc_tag; } @@ -5363,24 +5441,25 @@ struct subcommand { static struct subcommand subcommands[] = { - {"case", syn_cmd_case}, - {"clear", syn_cmd_clear}, - {"cluster", syn_cmd_cluster}, - {"conceal", syn_cmd_conceal}, - {"enable", syn_cmd_enable}, - {"include", syn_cmd_include}, - {"keyword", syn_cmd_keyword}, - {"list", syn_cmd_list}, - {"manual", syn_cmd_manual}, - {"match", syn_cmd_match}, - {"on", syn_cmd_on}, - {"off", syn_cmd_off}, - {"region", syn_cmd_region}, - {"reset", syn_cmd_reset}, - {"spell", syn_cmd_spell}, - {"sync", syn_cmd_sync}, - {"", syn_cmd_list}, - {NULL, NULL} + { "case", syn_cmd_case }, + { "clear", syn_cmd_clear }, + { "cluster", syn_cmd_cluster }, + { "conceal", syn_cmd_conceal }, + { "enable", syn_cmd_enable }, + { "include", syn_cmd_include }, + { "iskeyword", syn_cmd_iskeyword }, + { "keyword", syn_cmd_keyword }, + { "list", syn_cmd_list }, + { "manual", syn_cmd_manual }, + { "match", syn_cmd_match }, + { "on", syn_cmd_on }, + { "off", syn_cmd_off }, + { "region", syn_cmd_region }, + { "reset", syn_cmd_reset }, + { "spell", syn_cmd_spell }, + { "sync", syn_cmd_sync }, + { "", syn_cmd_list }, + { NULL, NULL } }; /* @@ -5434,6 +5513,7 @@ void ex_ownsyntax(exarg_T *eap) clear_string_option(&curwin->w_s->b_p_spc); clear_string_option(&curwin->w_s->b_p_spf); clear_string_option(&curwin->w_s->b_p_spl); + clear_string_option(&curwin->w_s->b_syn_isk); } /* save value of b:current_syntax */ @@ -5459,7 +5539,7 @@ void ex_ownsyntax(exarg_T *eap) } } -int syntax_present(win_T *win) +bool syntax_present(win_T *win) { return win->w_s->b_syn_patterns.ga_len != 0 || win->w_s->b_syn_clusters.ga_len != 0 @@ -5582,6 +5662,24 @@ int get_syntax_info(int *seqnrp) return current_flags; } + +/// Get the sequence number of the concealed file position. +/// +/// @return seqnr if the file position is concealed, 0 otherwise. +int syn_get_concealed_id(win_T *wp, linenr_T lnum, colnr_T col) +{ + int seqnr; + int syntax_flags; + + (void)syn_get_id(wp, lnum, col, false, NULL, false); + syntax_flags = get_syntax_info(&seqnr); + + if (syntax_flags & HL_CONCEAL) { + return seqnr; + } + return 0; +} + /* * Return conceal substitution character */ @@ -5805,6 +5903,8 @@ static char *highlight_init_both[] = "VertSplit cterm=reverse gui=reverse", "WildMenu ctermbg=Yellow ctermfg=Black guibg=Yellow guifg=Black", "default link EndOfBuffer NonText", + "default link QuickFixLine Search", + "default link Substitute Search", NULL }; @@ -5945,12 +6045,12 @@ init_highlight ( if (get_var_value((char_u *)"g:syntax_on") != NULL) { static int recursive = 0; - if (recursive >= 5) + if (recursive >= 5) { EMSG(_("E679: recursive loop loading syncolor.vim")); - else { - ++recursive; - (void)source_runtime((char_u *)"syntax/syncolor.vim", TRUE); - --recursive; + } else { + recursive++; + (void)source_runtime((char_u *)"syntax/syncolor.vim", DIP_ALL); + recursive--; } } } @@ -5963,22 +6063,24 @@ int load_colors(char_u *name) { char_u *buf; int retval = FAIL; - static int recursive = FALSE; + static int recursive = false; - /* When being called recursively, this is probably because setting - * 'background' caused the highlighting to be reloaded. This means it is - * working, thus we should return OK. */ - if (recursive) + // When being called recursively, this is probably because setting + // 'background' caused the highlighting to be reloaded. This means it is + // working, thus we should return OK. + if (recursive) { return OK; + } - recursive = TRUE; - buf = xmalloc(STRLEN(name) + 12); - sprintf((char *)buf, "colors/%s.vim", name); - retval = source_runtime(buf, FALSE); + recursive = true; + size_t buflen = STRLEN(name) + 12; + buf = xmalloc(buflen); + snprintf((char *)buf, buflen, "colors/%s.vim", name); + retval = source_runtime(buf, DIP_START + DIP_OPT); xfree(buf); apply_autocmds(EVENT_COLORSCHEME, name, curbuf->b_fname, FALSE, curbuf); - recursive = FALSE; + recursive = false; ui_refresh(); return retval; @@ -6498,6 +6600,9 @@ do_highlight ( else { if (is_normal_group) { HL_TABLE()[idx].sg_attr = 0; + // Need to update all groups, because they might be using "bg" and/or + // "fg", which have been changed now. + highlight_attr_set_all(); // If the normal group has changed, it is simpler to refresh every UI ui_refresh(); } else @@ -6797,8 +6902,8 @@ static int highlight_list_arg(int id, int didh, int type, int iarg, char_u *sarg for (i = 0; hl_attr_table[i] != 0; ++i) { if (iarg & hl_attr_table[i]) { if (buf[0] != NUL) - vim_strcat(buf, (char_u *)",", 100); - vim_strcat(buf, (char_u *)hl_name_table[i], 100); + xstrlcat((char *)buf, ",", 100); + xstrlcat((char *)buf, hl_name_table[i], 100); iarg &= ~hl_attr_table[i]; /* don't want "inverse" */ } } @@ -6874,8 +6979,23 @@ highlight_color ( else if (!(TOLOWER_ASC(what[0]) == 'b' && TOLOWER_ASC(what[1]) == 'g')) return NULL; if (modec == 'g') { - if (fg) + if (what[2] == '#' && ui_rgb_attached()) { + if (fg) { + n = HL_TABLE()[id - 1].sg_rgb_fg; + } else if (sp) { + n = HL_TABLE()[id - 1].sg_rgb_sp; + } else { + n = HL_TABLE()[id - 1].sg_rgb_bg; + } + if (n < 0 || n > 0xffffff) { + return NULL; + } + snprintf((char *)name, sizeof(name), "#%06x", n); + return name; + } + if (fg) { return HL_TABLE()[id - 1].sg_rgb_fg_name; + } if (sp) { return HL_TABLE()[id - 1].sg_rgb_sp_name; } @@ -6884,11 +7004,15 @@ highlight_color ( if (font || sp) return NULL; if (modec == 'c') { - if (fg) + if (fg) { n = HL_TABLE()[id - 1].sg_cterm_fg - 1; - else + } else { n = HL_TABLE()[id - 1].sg_cterm_bg - 1; - sprintf((char *)name, "%d", n); + } + if (n < 0) { + return NULL; + } + snprintf((char *)name, sizeof(name), "%d", n); return name; } /* term doesn't have color */ @@ -7038,16 +7162,13 @@ int syn_namen2id(char_u *linep, int len) */ int syn_check_group(char_u *pp, int len) { - int id; - char_u *name; - - name = vim_strnsave(pp, len); - - id = syn_name2id(name); - if (id == 0) /* doesn't exist yet */ + char_u *name = vim_strnsave(pp, len); + int id = syn_name2id(name); + if (id == 0) { // doesn't exist yet id = syn_add_group(name); - else + } else { xfree(name); + } return id; } @@ -7147,6 +7268,23 @@ int syn_get_final_id(int hl_id) return hl_id; } +/// Refresh the color attributes of all highlight groups. +static void highlight_attr_set_all(void) +{ + for (int idx = 0; idx < highlight_ga.ga_len; idx++) { + struct hl_group *sgp = &HL_TABLE()[idx]; + if (sgp->sg_rgb_bg_name != NULL) { + sgp->sg_rgb_bg = name_to_color(sgp->sg_rgb_bg_name); + } + if (sgp->sg_rgb_fg_name != NULL) { + sgp->sg_rgb_fg = name_to_color(sgp->sg_rgb_fg_name); + } + if (sgp->sg_rgb_sp_name != NULL) { + sgp->sg_rgb_sp = name_to_color(sgp->sg_rgb_sp_name); + } + set_hl_attr(idx); + } +} /* * Translate the 'highlight' option into attributes in highlight_attr[] and @@ -7409,175 +7547,687 @@ char_u *get_highlight_name(expand_T *xp, int idx) } color_name_table_T color_name_table[] = { - // Color names taken from - // http://www.rapidtables.com/web/color/RGB_Color.htm - {"Maroon", RGB(0x80, 0x00, 0x00)}, - {"DarkRed", RGB(0x8b, 0x00, 0x00)}, - {"Brown", RGB(0xa5, 0x2a, 0x2a)}, - {"Firebrick", RGB(0xb2, 0x22, 0x22)}, - {"Crimson", RGB(0xdc, 0x14, 0x3c)}, - {"Red", RGB(0xff, 0x00, 0x00)}, - {"Tomato", RGB(0xff, 0x63, 0x47)}, - {"Coral", RGB(0xff, 0x7f, 0x50)}, - {"IndianRed", RGB(0xcd, 0x5c, 0x5c)}, - {"LightCoral", RGB(0xf0, 0x80, 0x80)}, - {"DarkSalmon", RGB(0xe9, 0x96, 0x7a)}, - {"Salmon", RGB(0xfa, 0x80, 0x72)}, - {"LightSalmon", RGB(0xff, 0xa0, 0x7a)}, - {"OrangeRed", RGB(0xff, 0x45, 0x00)}, - {"DarkOrange", RGB(0xff, 0x8c, 0x00)}, - {"Orange", RGB(0xff, 0xa5, 0x00)}, - {"Gold", RGB(0xff, 0xd7, 0x00)}, - {"DarkGoldenRod", RGB(0xb8, 0x86, 0x0b)}, - {"GoldenRod", RGB(0xda, 0xa5, 0x20)}, - {"PaleGoldenRod", RGB(0xee, 0xe8, 0xaa)}, - {"DarkKhaki", RGB(0xbd, 0xb7, 0x6b)}, - {"Khaki", RGB(0xf0, 0xe6, 0x8c)}, - {"Olive", RGB(0x80, 0x80, 0x00)}, - {"Yellow", RGB(0xff, 0xff, 0x00)}, - {"YellowGreen", RGB(0x9a, 0xcd, 0x32)}, - {"DarkOliveGreen", RGB(0x55, 0x6b, 0x2f)}, - {"OliveDrab", RGB(0x6b, 0x8e, 0x23)}, - {"LawnGreen", RGB(0x7c, 0xfc, 0x00)}, - {"ChartReuse", RGB(0x7f, 0xff, 0x00)}, - {"GreenYellow", RGB(0xad, 0xff, 0x2f)}, - {"DarkGreen", RGB(0x00, 0x64, 0x00)}, - {"Green", RGB(0x00, 0x80, 0x00)}, - {"ForestGreen", RGB(0x22, 0x8b, 0x22)}, - {"Lime", RGB(0x00, 0xff, 0x00)}, - {"LimeGreen", RGB(0x32, 0xcd, 0x32)}, - {"LightGreen", RGB(0x90, 0xee, 0x90)}, - {"PaleGreen", RGB(0x98, 0xfb, 0x98)}, - {"DarkSeaGreen", RGB(0x8f, 0xbc, 0x8f)}, - {"MediumSpringGreen", RGB(0x00, 0xfa, 0x9a)}, - {"SpringGreen", RGB(0x00, 0xff, 0x7f)}, - {"SeaGreen", RGB(0x2e, 0x8b, 0x57)}, - {"MediumAquamarine", RGB(0x66, 0xcd, 0xaa)}, - {"MediumSeaGreen", RGB(0x3c, 0xb3, 0x71)}, - {"LightSeaGreen", RGB(0x20, 0xb2, 0xaa)}, - {"DarkSlateGray", RGB(0x2f, 0x4f, 0x4f)}, - {"Teal", RGB(0x00, 0x80, 0x80)}, - {"DarkCyan", RGB(0x00, 0x8b, 0x8b)}, - {"Aqua", RGB(0x00, 0xff, 0xff)}, - {"Cyan", RGB(0x00, 0xff, 0xff)}, - {"LightCyan", RGB(0xe0, 0xff, 0xff)}, - {"DarkTurquoise", RGB(0x00, 0xce, 0xd1)}, - {"Turquoise", RGB(0x40, 0xe0, 0xd0)}, - {"MediumTurquoise", RGB(0x48, 0xd1, 0xcc)}, - {"PaleTurquoise", RGB(0xaf, 0xee, 0xee)}, - {"Aquamarine", RGB(0x7f, 0xff, 0xd4)}, - {"PowderBlue", RGB(0xb0, 0xe0, 0xe6)}, - {"CadetBlue", RGB(0x5f, 0x9e, 0xa0)}, - {"SteelBlue", RGB(0x46, 0x82, 0xb4)}, - {"CornFlowerBlue", RGB(0x64, 0x95, 0xed)}, - {"DeepSkyBlue", RGB(0x00, 0xbf, 0xff)}, - {"DodgerBlue", RGB(0x1e, 0x90, 0xff)}, - {"LightBlue", RGB(0xad, 0xd8, 0xe6)}, - {"SkyBlue", RGB(0x87, 0xce, 0xeb)}, - {"LightSkyBlue", RGB(0x87, 0xce, 0xfa)}, - {"MidnightBlue", RGB(0x19, 0x19, 0x70)}, - {"Navy", RGB(0x00, 0x00, 0x80)}, - {"DarkBlue", RGB(0x00, 0x00, 0x8b)}, - {"MediumBlue", RGB(0x00, 0x00, 0xcd)}, - {"Blue", RGB(0x00, 0x00, 0xff)}, - {"RoyalBlue", RGB(0x41, 0x69, 0xe1)}, - {"BlueViolet", RGB(0x8a, 0x2b, 0xe2)}, - {"Indigo", RGB(0x4b, 0x00, 0x82)}, - {"DarkSlateBlue", RGB(0x48, 0x3d, 0x8b)}, - {"SlateBlue", RGB(0x6a, 0x5a, 0xcd)}, - {"MediumSlateBlue", RGB(0x7b, 0x68, 0xee)}, - {"MediumPurple", RGB(0x93, 0x70, 0xdb)}, - {"DarkMagenta", RGB(0x8b, 0x00, 0x8b)}, - {"DarkViolet", RGB(0x94, 0x00, 0xd3)}, - {"DarkOrchid", RGB(0x99, 0x32, 0xcc)}, - {"MediumOrchid", RGB(0xba, 0x55, 0xd3)}, - {"Purple", RGB(0x80, 0x00, 0x80)}, - {"Thistle", RGB(0xd8, 0xbf, 0xd8)}, - {"Plum", RGB(0xdd, 0xa0, 0xdd)}, - {"Violet", RGB(0xee, 0x82, 0xee)}, - {"Magenta", RGB(0xff, 0x00, 0xff)}, - {"Fuchsia", RGB(0xff, 0x00, 0xff)}, - {"Orchid", RGB(0xda, 0x70, 0xd6)}, - {"MediumVioletRed", RGB(0xc7, 0x15, 0x85)}, - {"PaleVioletRed", RGB(0xdb, 0x70, 0x93)}, - {"DeepPink", RGB(0xff, 0x14, 0x93)}, - {"HotPink", RGB(0xff, 0x69, 0xb4)}, - {"LightPink", RGB(0xff, 0xb6, 0xc1)}, - {"Pink", RGB(0xff, 0xc0, 0xcb)}, - {"AntiqueWhite", RGB(0xfa, 0xeb, 0xd7)}, - {"Beige", RGB(0xf5, 0xf5, 0xdc)}, - {"Bisque", RGB(0xff, 0xe4, 0xc4)}, - {"BlanchedAlmond", RGB(0xff, 0xeb, 0xcd)}, - {"Wheat", RGB(0xf5, 0xde, 0xb3)}, - {"Cornsilk", RGB(0xff, 0xf8, 0xdc)}, - {"LemonChiffon", RGB(0xff, 0xfa, 0xcd)}, - {"LightGoldenRodYellow", RGB(0xfa, 0xfa, 0xd2)}, - {"LightYellow", RGB(0xff, 0xff, 0xe0)}, - {"SaddleBrown", RGB(0x8b, 0x45, 0x13)}, - {"Sienna", RGB(0xa0, 0x52, 0x2d)}, - {"Chocolate", RGB(0xd2, 0x69, 0x1e)}, - {"Peru", RGB(0xcd, 0x85, 0x3f)}, - {"SandyBrown", RGB(0xf4, 0xa4, 0x60)}, - {"BurlyWood", RGB(0xde, 0xb8, 0x87)}, - {"Tan", RGB(0xd2, 0xb4, 0x8c)}, - {"RosyBrown", RGB(0xbc, 0x8f, 0x8f)}, - {"Moccasin", RGB(0xff, 0xe4, 0xb5)}, - {"NavajoWhite", RGB(0xff, 0xde, 0xad)}, - {"PeachPuff", RGB(0xff, 0xda, 0xb9)}, - {"MistyRose", RGB(0xff, 0xe4, 0xe1)}, - {"LavenderBlush", RGB(0xff, 0xf0, 0xf5)}, - {"Linen", RGB(0xfa, 0xf0, 0xe6)}, - {"Oldlace", RGB(0xfd, 0xf5, 0xe6)}, - {"PapayaWhip", RGB(0xff, 0xef, 0xd5)}, - {"SeaShell", RGB(0xff, 0xf5, 0xee)}, - {"MintCream", RGB(0xf5, 0xff, 0xfa)}, - {"SlateGray", RGB(0x70, 0x80, 0x90)}, - {"LightSlateGray", RGB(0x77, 0x88, 0x99)}, - {"LightSteelBlue", RGB(0xb0, 0xc4, 0xde)}, - {"Lavender", RGB(0xe6, 0xe6, 0xfa)}, - {"FloralWhite", RGB(0xff, 0xfa, 0xf0)}, - {"AliceBlue", RGB(0xf0, 0xf8, 0xff)}, - {"GhostWhite", RGB(0xf8, 0xf8, 0xff)}, - {"Honeydew", RGB(0xf0, 0xff, 0xf0)}, - {"Ivory", RGB(0xff, 0xff, 0xf0)}, - {"Azure", RGB(0xf0, 0xff, 0xff)}, - {"Snow", RGB(0xff, 0xfa, 0xfa)}, - {"Black", RGB(0x00, 0x00, 0x00)}, - {"DimGray", RGB(0x69, 0x69, 0x69)}, - {"DimGrey", RGB(0x69, 0x69, 0x69)}, - {"Gray", RGB(0x80, 0x80, 0x80)}, - {"Grey", RGB(0x80, 0x80, 0x80)}, - {"DarkGray", RGB(0xa9, 0xa9, 0xa9)}, - {"DarkGrey", RGB(0xa9, 0xa9, 0xa9)}, - {"Silver", RGB(0xc0, 0xc0, 0xc0)}, - {"LightGray", RGB(0xd3, 0xd3, 0xd3)}, - {"LightGrey", RGB(0xd3, 0xd3, 0xd3)}, - {"Gainsboro", RGB(0xdc, 0xdc, 0xdc)}, - {"WhiteSmoke", RGB(0xf5, 0xf5, 0xf5)}, - {"White", RGB(0xff, 0xff, 0xff)}, - // The color names below were taken from gui_x11.c in vim source - {"LightRed", RGB(0xff, 0xbb, 0xbb)}, - {"LightMagenta",RGB(0xff, 0xbb, 0xff)}, - {"DarkYellow", RGB(0xbb, 0xbb, 0x00)}, - {"Gray10", RGB(0x1a, 0x1a, 0x1a)}, - {"Grey10", RGB(0x1a, 0x1a, 0x1a)}, - {"Gray20", RGB(0x33, 0x33, 0x33)}, - {"Grey20", RGB(0x33, 0x33, 0x33)}, - {"Gray30", RGB(0x4d, 0x4d, 0x4d)}, - {"Grey30", RGB(0x4d, 0x4d, 0x4d)}, - {"Gray40", RGB(0x66, 0x66, 0x66)}, - {"Grey40", RGB(0x66, 0x66, 0x66)}, - {"Gray50", RGB(0x7f, 0x7f, 0x7f)}, - {"Grey50", RGB(0x7f, 0x7f, 0x7f)}, - {"Gray60", RGB(0x99, 0x99, 0x99)}, - {"Grey60", RGB(0x99, 0x99, 0x99)}, - {"Gray70", RGB(0xb3, 0xb3, 0xb3)}, - {"Grey70", RGB(0xb3, 0xb3, 0xb3)}, - {"Gray80", RGB(0xcc, 0xcc, 0xcc)}, - {"Grey80", RGB(0xcc, 0xcc, 0xcc)}, - {"Gray90", RGB(0xe5, 0xe5, 0xe5)}, - {"Grey90", RGB(0xe5, 0xe5, 0xe5)}, - {NULL, 0}, + // Colors from rgb.txt + { "AliceBlue", RGB(0xf0, 0xf8, 0xff) }, + { "AntiqueWhite", RGB(0xfa, 0xeb, 0xd7) }, + { "AntiqueWhite1", RGB(0xff, 0xef, 0xdb) }, + { "AntiqueWhite2", RGB(0xee, 0xdf, 0xcc) }, + { "AntiqueWhite3", RGB(0xcd, 0xc0, 0xb0) }, + { "AntiqueWhite4", RGB(0x8b, 0x83, 0x78) }, + { "Aqua", RGB(0x00, 0xff, 0xff) }, + { "Aquamarine", RGB(0x7f, 0xff, 0xd4) }, + { "Aquamarine1", RGB(0x7f, 0xff, 0xd4) }, + { "Aquamarine2", RGB(0x76, 0xee, 0xc6) }, + { "Aquamarine3", RGB(0x66, 0xcd, 0xaa) }, + { "Aquamarine4", RGB(0x45, 0x8b, 0x74) }, + { "Azure", RGB(0xf0, 0xff, 0xff) }, + { "Azure1", RGB(0xf0, 0xff, 0xff) }, + { "Azure2", RGB(0xe0, 0xee, 0xee) }, + { "Azure3", RGB(0xc1, 0xcd, 0xcd) }, + { "Azure4", RGB(0x83, 0x8b, 0x8b) }, + { "Beige", RGB(0xf5, 0xf5, 0xdc) }, + { "Bisque", RGB(0xff, 0xe4, 0xc4) }, + { "Bisque1", RGB(0xff, 0xe4, 0xc4) }, + { "Bisque2", RGB(0xee, 0xd5, 0xb7) }, + { "Bisque3", RGB(0xcd, 0xb7, 0x9e) }, + { "Bisque4", RGB(0x8b, 0x7d, 0x6b) }, + { "Black", RGB(0x00, 0x00, 0x00) }, + { "BlanchedAlmond", RGB(0xff, 0xeb, 0xcd) }, + { "Blue", RGB(0x00, 0x00, 0xff) }, + { "Blue1", RGB(0x0, 0x0, 0xff) }, + { "Blue2", RGB(0x0, 0x0, 0xee) }, + { "Blue3", RGB(0x0, 0x0, 0xcd) }, + { "Blue4", RGB(0x0, 0x0, 0x8b) }, + { "BlueViolet", RGB(0x8a, 0x2b, 0xe2) }, + { "Brown", RGB(0xa5, 0x2a, 0x2a) }, + { "Brown1", RGB(0xff, 0x40, 0x40) }, + { "Brown2", RGB(0xee, 0x3b, 0x3b) }, + { "Brown3", RGB(0xcd, 0x33, 0x33) }, + { "Brown4", RGB(0x8b, 0x23, 0x23) }, + { "BurlyWood", RGB(0xde, 0xb8, 0x87) }, + { "Burlywood1", RGB(0xff, 0xd3, 0x9b) }, + { "Burlywood2", RGB(0xee, 0xc5, 0x91) }, + { "Burlywood3", RGB(0xcd, 0xaa, 0x7d) }, + { "Burlywood4", RGB(0x8b, 0x73, 0x55) }, + { "CadetBlue", RGB(0x5f, 0x9e, 0xa0) }, + { "CadetBlue1", RGB(0x98, 0xf5, 0xff) }, + { "CadetBlue2", RGB(0x8e, 0xe5, 0xee) }, + { "CadetBlue3", RGB(0x7a, 0xc5, 0xcd) }, + { "CadetBlue4", RGB(0x53, 0x86, 0x8b) }, + { "ChartReuse", RGB(0x7f, 0xff, 0x00) }, + { "Chartreuse1", RGB(0x7f, 0xff, 0x0) }, + { "Chartreuse2", RGB(0x76, 0xee, 0x0) }, + { "Chartreuse3", RGB(0x66, 0xcd, 0x0) }, + { "Chartreuse4", RGB(0x45, 0x8b, 0x0) }, + { "Chocolate", RGB(0xd2, 0x69, 0x1e) }, + { "Chocolate1", RGB(0xff, 0x7f, 0x24) }, + { "Chocolate2", RGB(0xee, 0x76, 0x21) }, + { "Chocolate3", RGB(0xcd, 0x66, 0x1d) }, + { "Chocolate4", RGB(0x8b, 0x45, 0x13) }, + { "Coral", RGB(0xff, 0x7f, 0x50) }, + { "Coral1", RGB(0xff, 0x72, 0x56) }, + { "Coral2", RGB(0xee, 0x6a, 0x50) }, + { "Coral3", RGB(0xcd, 0x5b, 0x45) }, + { "Coral4", RGB(0x8b, 0x3e, 0x2f) }, + { "CornFlowerBlue", RGB(0x64, 0x95, 0xed) }, + { "Cornsilk", RGB(0xff, 0xf8, 0xdc) }, + { "Cornsilk1", RGB(0xff, 0xf8, 0xdc) }, + { "Cornsilk2", RGB(0xee, 0xe8, 0xcd) }, + { "Cornsilk3", RGB(0xcd, 0xc8, 0xb1) }, + { "Cornsilk4", RGB(0x8b, 0x88, 0x78) }, + { "Crimson", RGB(0xdc, 0x14, 0x3c) }, + { "Cyan", RGB(0x00, 0xff, 0xff) }, + { "Cyan1", RGB(0x0, 0xff, 0xff) }, + { "Cyan2", RGB(0x0, 0xee, 0xee) }, + { "Cyan3", RGB(0x0, 0xcd, 0xcd) }, + { "Cyan4", RGB(0x0, 0x8b, 0x8b) }, + { "DarkBlue", RGB(0x00, 0x00, 0x8b) }, + { "DarkCyan", RGB(0x00, 0x8b, 0x8b) }, + { "DarkGoldenRod", RGB(0xb8, 0x86, 0x0b) }, + { "DarkGoldenrod1", RGB(0xff, 0xb9, 0xf) }, + { "DarkGoldenrod2", RGB(0xee, 0xad, 0xe) }, + { "DarkGoldenrod3", RGB(0xcd, 0x95, 0xc) }, + { "DarkGoldenrod4", RGB(0x8b, 0x65, 0x8) }, + { "DarkGray", RGB(0xa9, 0xa9, 0xa9) }, + { "DarkGreen", RGB(0x00, 0x64, 0x00) }, + { "DarkGrey", RGB(0xa9, 0xa9, 0xa9) }, + { "DarkKhaki", RGB(0xbd, 0xb7, 0x6b) }, + { "DarkMagenta", RGB(0x8b, 0x00, 0x8b) }, + { "DarkOliveGreen", RGB(0x55, 0x6b, 0x2f) }, + { "DarkOliveGreen1", RGB(0xca, 0xff, 0x70) }, + { "DarkOliveGreen2", RGB(0xbc, 0xee, 0x68) }, + { "DarkOliveGreen3", RGB(0xa2, 0xcd, 0x5a) }, + { "DarkOliveGreen4", RGB(0x6e, 0x8b, 0x3d) }, + { "DarkOrange", RGB(0xff, 0x8c, 0x00) }, + { "DarkOrange1", RGB(0xff, 0x7f, 0x0) }, + { "DarkOrange2", RGB(0xee, 0x76, 0x0) }, + { "DarkOrange3", RGB(0xcd, 0x66, 0x0) }, + { "DarkOrange4", RGB(0x8b, 0x45, 0x0) }, + { "DarkOrchid", RGB(0x99, 0x32, 0xcc) }, + { "DarkOrchid1", RGB(0xbf, 0x3e, 0xff) }, + { "DarkOrchid2", RGB(0xb2, 0x3a, 0xee) }, + { "DarkOrchid3", RGB(0x9a, 0x32, 0xcd) }, + { "DarkOrchid4", RGB(0x68, 0x22, 0x8b) }, + { "DarkRed", RGB(0x8b, 0x00, 0x00) }, + { "DarkSalmon", RGB(0xe9, 0x96, 0x7a) }, + { "DarkSeaGreen", RGB(0x8f, 0xbc, 0x8f) }, + { "DarkSeaGreen1", RGB(0xc1, 0xff, 0xc1) }, + { "DarkSeaGreen2", RGB(0xb4, 0xee, 0xb4) }, + { "DarkSeaGreen3", RGB(0x9b, 0xcd, 0x9b) }, + { "DarkSeaGreen4", RGB(0x69, 0x8b, 0x69) }, + { "DarkSlateBlue", RGB(0x48, 0x3d, 0x8b) }, + { "DarkSlateGray", RGB(0x2f, 0x4f, 0x4f) }, + { "DarkSlateGray1", RGB(0x97, 0xff, 0xff) }, + { "DarkSlateGray2", RGB(0x8d, 0xee, 0xee) }, + { "DarkSlateGray3", RGB(0x79, 0xcd, 0xcd) }, + { "DarkSlateGray4", RGB(0x52, 0x8b, 0x8b) }, + { "DarkSlateGrey", RGB(0x2f, 0x4f, 0x4f) }, + { "DarkTurquoise", RGB(0x00, 0xce, 0xd1) }, + { "DarkViolet", RGB(0x94, 0x00, 0xd3) }, + { "DarkYellow", RGB(0xbb, 0xbb, 0x00) }, + { "DeepPink", RGB(0xff, 0x14, 0x93) }, + { "DeepPink1", RGB(0xff, 0x14, 0x93) }, + { "DeepPink2", RGB(0xee, 0x12, 0x89) }, + { "DeepPink3", RGB(0xcd, 0x10, 0x76) }, + { "DeepPink4", RGB(0x8b, 0xa, 0x50) }, + { "DeepSkyBlue", RGB(0x00, 0xbf, 0xff) }, + { "DeepSkyBlue1", RGB(0x0, 0xbf, 0xff) }, + { "DeepSkyBlue2", RGB(0x0, 0xb2, 0xee) }, + { "DeepSkyBlue3", RGB(0x0, 0x9a, 0xcd) }, + { "DeepSkyBlue4", RGB(0x0, 0x68, 0x8b) }, + { "DimGray", RGB(0x69, 0x69, 0x69) }, + { "DimGrey", RGB(0x69, 0x69, 0x69) }, + { "DodgerBlue", RGB(0x1e, 0x90, 0xff) }, + { "DodgerBlue1", RGB(0x1e, 0x90, 0xff) }, + { "DodgerBlue2", RGB(0x1c, 0x86, 0xee) }, + { "DodgerBlue3", RGB(0x18, 0x74, 0xcd) }, + { "DodgerBlue4", RGB(0x10, 0x4e, 0x8b) }, + { "Firebrick", RGB(0xb2, 0x22, 0x22) }, + { "Firebrick1", RGB(0xff, 0x30, 0x30) }, + { "Firebrick2", RGB(0xee, 0x2c, 0x2c) }, + { "Firebrick3", RGB(0xcd, 0x26, 0x26) }, + { "Firebrick4", RGB(0x8b, 0x1a, 0x1a) }, + { "FloralWhite", RGB(0xff, 0xfa, 0xf0) }, + { "ForestGreen", RGB(0x22, 0x8b, 0x22) }, + { "Fuchsia", RGB(0xff, 0x00, 0xff) }, + { "Gainsboro", RGB(0xdc, 0xdc, 0xdc) }, + { "GhostWhite", RGB(0xf8, 0xf8, 0xff) }, + { "Gold", RGB(0xff, 0xd7, 0x00) }, + { "Gold1", RGB(0xff, 0xd7, 0x0) }, + { "Gold2", RGB(0xee, 0xc9, 0x0) }, + { "Gold3", RGB(0xcd, 0xad, 0x0) }, + { "Gold4", RGB(0x8b, 0x75, 0x0) }, + { "GoldenRod", RGB(0xda, 0xa5, 0x20) }, + { "Goldenrod1", RGB(0xff, 0xc1, 0x25) }, + { "Goldenrod2", RGB(0xee, 0xb4, 0x22) }, + { "Goldenrod3", RGB(0xcd, 0x9b, 0x1d) }, + { "Goldenrod4", RGB(0x8b, 0x69, 0x14) }, + { "Gray", RGB(0x80, 0x80, 0x80) }, + { "Gray0", RGB(0x0, 0x0, 0x0) }, + { "Gray1", RGB(0x3, 0x3, 0x3) }, + { "Gray10", RGB(0x1a, 0x1a, 0x1a) }, + { "Gray100", RGB(0xff, 0xff, 0xff) }, + { "Gray11", RGB(0x1c, 0x1c, 0x1c) }, + { "Gray12", RGB(0x1f, 0x1f, 0x1f) }, + { "Gray13", RGB(0x21, 0x21, 0x21) }, + { "Gray14", RGB(0x24, 0x24, 0x24) }, + { "Gray15", RGB(0x26, 0x26, 0x26) }, + { "Gray16", RGB(0x29, 0x29, 0x29) }, + { "Gray17", RGB(0x2b, 0x2b, 0x2b) }, + { "Gray18", RGB(0x2e, 0x2e, 0x2e) }, + { "Gray19", RGB(0x30, 0x30, 0x30) }, + { "Gray2", RGB(0x5, 0x5, 0x5) }, + { "Gray20", RGB(0x33, 0x33, 0x33) }, + { "Gray21", RGB(0x36, 0x36, 0x36) }, + { "Gray22", RGB(0x38, 0x38, 0x38) }, + { "Gray23", RGB(0x3b, 0x3b, 0x3b) }, + { "Gray24", RGB(0x3d, 0x3d, 0x3d) }, + { "Gray25", RGB(0x40, 0x40, 0x40) }, + { "Gray26", RGB(0x42, 0x42, 0x42) }, + { "Gray27", RGB(0x45, 0x45, 0x45) }, + { "Gray28", RGB(0x47, 0x47, 0x47) }, + { "Gray29", RGB(0x4a, 0x4a, 0x4a) }, + { "Gray3", RGB(0x8, 0x8, 0x8) }, + { "Gray30", RGB(0x4d, 0x4d, 0x4d) }, + { "Gray31", RGB(0x4f, 0x4f, 0x4f) }, + { "Gray32", RGB(0x52, 0x52, 0x52) }, + { "Gray33", RGB(0x54, 0x54, 0x54) }, + { "Gray34", RGB(0x57, 0x57, 0x57) }, + { "Gray35", RGB(0x59, 0x59, 0x59) }, + { "Gray36", RGB(0x5c, 0x5c, 0x5c) }, + { "Gray37", RGB(0x5e, 0x5e, 0x5e) }, + { "Gray38", RGB(0x61, 0x61, 0x61) }, + { "Gray39", RGB(0x63, 0x63, 0x63) }, + { "Gray4", RGB(0xa, 0xa, 0xa) }, + { "Gray40", RGB(0x66, 0x66, 0x66) }, + { "Gray41", RGB(0x69, 0x69, 0x69) }, + { "Gray42", RGB(0x6b, 0x6b, 0x6b) }, + { "Gray43", RGB(0x6e, 0x6e, 0x6e) }, + { "Gray44", RGB(0x70, 0x70, 0x70) }, + { "Gray45", RGB(0x73, 0x73, 0x73) }, + { "Gray46", RGB(0x75, 0x75, 0x75) }, + { "Gray47", RGB(0x78, 0x78, 0x78) }, + { "Gray48", RGB(0x7a, 0x7a, 0x7a) }, + { "Gray49", RGB(0x7d, 0x7d, 0x7d) }, + { "Gray5", RGB(0xd, 0xd, 0xd) }, + { "Gray50", RGB(0x7f, 0x7f, 0x7f) }, + { "Gray51", RGB(0x82, 0x82, 0x82) }, + { "Gray52", RGB(0x85, 0x85, 0x85) }, + { "Gray53", RGB(0x87, 0x87, 0x87) }, + { "Gray54", RGB(0x8a, 0x8a, 0x8a) }, + { "Gray55", RGB(0x8c, 0x8c, 0x8c) }, + { "Gray56", RGB(0x8f, 0x8f, 0x8f) }, + { "Gray57", RGB(0x91, 0x91, 0x91) }, + { "Gray58", RGB(0x94, 0x94, 0x94) }, + { "Gray59", RGB(0x96, 0x96, 0x96) }, + { "Gray6", RGB(0xf, 0xf, 0xf) }, + { "Gray60", RGB(0x99, 0x99, 0x99) }, + { "Gray61", RGB(0x9c, 0x9c, 0x9c) }, + { "Gray62", RGB(0x9e, 0x9e, 0x9e) }, + { "Gray63", RGB(0xa1, 0xa1, 0xa1) }, + { "Gray64", RGB(0xa3, 0xa3, 0xa3) }, + { "Gray65", RGB(0xa6, 0xa6, 0xa6) }, + { "Gray66", RGB(0xa8, 0xa8, 0xa8) }, + { "Gray67", RGB(0xab, 0xab, 0xab) }, + { "Gray68", RGB(0xad, 0xad, 0xad) }, + { "Gray69", RGB(0xb0, 0xb0, 0xb0) }, + { "Gray7", RGB(0x12, 0x12, 0x12) }, + { "Gray70", RGB(0xb3, 0xb3, 0xb3) }, + { "Gray71", RGB(0xb5, 0xb5, 0xb5) }, + { "Gray72", RGB(0xb8, 0xb8, 0xb8) }, + { "Gray73", RGB(0xba, 0xba, 0xba) }, + { "Gray74", RGB(0xbd, 0xbd, 0xbd) }, + { "Gray75", RGB(0xbf, 0xbf, 0xbf) }, + { "Gray76", RGB(0xc2, 0xc2, 0xc2) }, + { "Gray77", RGB(0xc4, 0xc4, 0xc4) }, + { "Gray78", RGB(0xc7, 0xc7, 0xc7) }, + { "Gray79", RGB(0xc9, 0xc9, 0xc9) }, + { "Gray8", RGB(0x14, 0x14, 0x14) }, + { "Gray80", RGB(0xcc, 0xcc, 0xcc) }, + { "Gray81", RGB(0xcf, 0xcf, 0xcf) }, + { "Gray82", RGB(0xd1, 0xd1, 0xd1) }, + { "Gray83", RGB(0xd4, 0xd4, 0xd4) }, + { "Gray84", RGB(0xd6, 0xd6, 0xd6) }, + { "Gray85", RGB(0xd9, 0xd9, 0xd9) }, + { "Gray86", RGB(0xdb, 0xdb, 0xdb) }, + { "Gray87", RGB(0xde, 0xde, 0xde) }, + { "Gray88", RGB(0xe0, 0xe0, 0xe0) }, + { "Gray89", RGB(0xe3, 0xe3, 0xe3) }, + { "Gray9", RGB(0x17, 0x17, 0x17) }, + { "Gray90", RGB(0xe5, 0xe5, 0xe5) }, + { "Gray91", RGB(0xe8, 0xe8, 0xe8) }, + { "Gray92", RGB(0xeb, 0xeb, 0xeb) }, + { "Gray93", RGB(0xed, 0xed, 0xed) }, + { "Gray94", RGB(0xf0, 0xf0, 0xf0) }, + { "Gray95", RGB(0xf2, 0xf2, 0xf2) }, + { "Gray96", RGB(0xf5, 0xf5, 0xf5) }, + { "Gray97", RGB(0xf7, 0xf7, 0xf7) }, + { "Gray98", RGB(0xfa, 0xfa, 0xfa) }, + { "Gray99", RGB(0xfc, 0xfc, 0xfc) }, + { "Green", RGB(0x00, 0x80, 0x00) }, + { "Green1", RGB(0x0, 0xff, 0x0) }, + { "Green2", RGB(0x0, 0xee, 0x0) }, + { "Green3", RGB(0x0, 0xcd, 0x0) }, + { "Green4", RGB(0x0, 0x8b, 0x0) }, + { "GreenYellow", RGB(0xad, 0xff, 0x2f) }, + { "Grey", RGB(0x80, 0x80, 0x80) }, + { "Grey0", RGB(0x0, 0x0, 0x0) }, + { "Grey1", RGB(0x3, 0x3, 0x3) }, + { "Grey10", RGB(0x1a, 0x1a, 0x1a) }, + { "Grey100", RGB(0xff, 0xff, 0xff) }, + { "Grey11", RGB(0x1c, 0x1c, 0x1c) }, + { "Grey12", RGB(0x1f, 0x1f, 0x1f) }, + { "Grey13", RGB(0x21, 0x21, 0x21) }, + { "Grey14", RGB(0x24, 0x24, 0x24) }, + { "Grey15", RGB(0x26, 0x26, 0x26) }, + { "Grey16", RGB(0x29, 0x29, 0x29) }, + { "Grey17", RGB(0x2b, 0x2b, 0x2b) }, + { "Grey18", RGB(0x2e, 0x2e, 0x2e) }, + { "Grey19", RGB(0x30, 0x30, 0x30) }, + { "Grey2", RGB(0x5, 0x5, 0x5) }, + { "Grey20", RGB(0x33, 0x33, 0x33) }, + { "Grey21", RGB(0x36, 0x36, 0x36) }, + { "Grey22", RGB(0x38, 0x38, 0x38) }, + { "Grey23", RGB(0x3b, 0x3b, 0x3b) }, + { "Grey24", RGB(0x3d, 0x3d, 0x3d) }, + { "Grey25", RGB(0x40, 0x40, 0x40) }, + { "Grey26", RGB(0x42, 0x42, 0x42) }, + { "Grey27", RGB(0x45, 0x45, 0x45) }, + { "Grey28", RGB(0x47, 0x47, 0x47) }, + { "Grey29", RGB(0x4a, 0x4a, 0x4a) }, + { "Grey3", RGB(0x8, 0x8, 0x8) }, + { "Grey30", RGB(0x4d, 0x4d, 0x4d) }, + { "Grey31", RGB(0x4f, 0x4f, 0x4f) }, + { "Grey32", RGB(0x52, 0x52, 0x52) }, + { "Grey33", RGB(0x54, 0x54, 0x54) }, + { "Grey34", RGB(0x57, 0x57, 0x57) }, + { "Grey35", RGB(0x59, 0x59, 0x59) }, + { "Grey36", RGB(0x5c, 0x5c, 0x5c) }, + { "Grey37", RGB(0x5e, 0x5e, 0x5e) }, + { "Grey38", RGB(0x61, 0x61, 0x61) }, + { "Grey39", RGB(0x63, 0x63, 0x63) }, + { "Grey4", RGB(0xa, 0xa, 0xa) }, + { "Grey40", RGB(0x66, 0x66, 0x66) }, + { "Grey41", RGB(0x69, 0x69, 0x69) }, + { "Grey42", RGB(0x6b, 0x6b, 0x6b) }, + { "Grey43", RGB(0x6e, 0x6e, 0x6e) }, + { "Grey44", RGB(0x70, 0x70, 0x70) }, + { "Grey45", RGB(0x73, 0x73, 0x73) }, + { "Grey46", RGB(0x75, 0x75, 0x75) }, + { "Grey47", RGB(0x78, 0x78, 0x78) }, + { "Grey48", RGB(0x7a, 0x7a, 0x7a) }, + { "Grey49", RGB(0x7d, 0x7d, 0x7d) }, + { "Grey5", RGB(0xd, 0xd, 0xd) }, + { "Grey50", RGB(0x7f, 0x7f, 0x7f) }, + { "Grey51", RGB(0x82, 0x82, 0x82) }, + { "Grey52", RGB(0x85, 0x85, 0x85) }, + { "Grey53", RGB(0x87, 0x87, 0x87) }, + { "Grey54", RGB(0x8a, 0x8a, 0x8a) }, + { "Grey55", RGB(0x8c, 0x8c, 0x8c) }, + { "Grey56", RGB(0x8f, 0x8f, 0x8f) }, + { "Grey57", RGB(0x91, 0x91, 0x91) }, + { "Grey58", RGB(0x94, 0x94, 0x94) }, + { "Grey59", RGB(0x96, 0x96, 0x96) }, + { "Grey6", RGB(0xf, 0xf, 0xf) }, + { "Grey60", RGB(0x99, 0x99, 0x99) }, + { "Grey61", RGB(0x9c, 0x9c, 0x9c) }, + { "Grey62", RGB(0x9e, 0x9e, 0x9e) }, + { "Grey63", RGB(0xa1, 0xa1, 0xa1) }, + { "Grey64", RGB(0xa3, 0xa3, 0xa3) }, + { "Grey65", RGB(0xa6, 0xa6, 0xa6) }, + { "Grey66", RGB(0xa8, 0xa8, 0xa8) }, + { "Grey67", RGB(0xab, 0xab, 0xab) }, + { "Grey68", RGB(0xad, 0xad, 0xad) }, + { "Grey69", RGB(0xb0, 0xb0, 0xb0) }, + { "Grey7", RGB(0x12, 0x12, 0x12) }, + { "Grey70", RGB(0xb3, 0xb3, 0xb3) }, + { "Grey71", RGB(0xb5, 0xb5, 0xb5) }, + { "Grey72", RGB(0xb8, 0xb8, 0xb8) }, + { "Grey73", RGB(0xba, 0xba, 0xba) }, + { "Grey74", RGB(0xbd, 0xbd, 0xbd) }, + { "Grey75", RGB(0xbf, 0xbf, 0xbf) }, + { "Grey76", RGB(0xc2, 0xc2, 0xc2) }, + { "Grey77", RGB(0xc4, 0xc4, 0xc4) }, + { "Grey78", RGB(0xc7, 0xc7, 0xc7) }, + { "Grey79", RGB(0xc9, 0xc9, 0xc9) }, + { "Grey8", RGB(0x14, 0x14, 0x14) }, + { "Grey80", RGB(0xcc, 0xcc, 0xcc) }, + { "Grey81", RGB(0xcf, 0xcf, 0xcf) }, + { "Grey82", RGB(0xd1, 0xd1, 0xd1) }, + { "Grey83", RGB(0xd4, 0xd4, 0xd4) }, + { "Grey84", RGB(0xd6, 0xd6, 0xd6) }, + { "Grey85", RGB(0xd9, 0xd9, 0xd9) }, + { "Grey86", RGB(0xdb, 0xdb, 0xdb) }, + { "Grey87", RGB(0xde, 0xde, 0xde) }, + { "Grey88", RGB(0xe0, 0xe0, 0xe0) }, + { "Grey89", RGB(0xe3, 0xe3, 0xe3) }, + { "Grey9", RGB(0x17, 0x17, 0x17) }, + { "Grey90", RGB(0xe5, 0xe5, 0xe5) }, + { "Grey91", RGB(0xe8, 0xe8, 0xe8) }, + { "Grey92", RGB(0xeb, 0xeb, 0xeb) }, + { "Grey93", RGB(0xed, 0xed, 0xed) }, + { "Grey94", RGB(0xf0, 0xf0, 0xf0) }, + { "Grey95", RGB(0xf2, 0xf2, 0xf2) }, + { "Grey96", RGB(0xf5, 0xf5, 0xf5) }, + { "Grey97", RGB(0xf7, 0xf7, 0xf7) }, + { "Grey98", RGB(0xfa, 0xfa, 0xfa) }, + { "Grey99", RGB(0xfc, 0xfc, 0xfc) }, + { "Honeydew", RGB(0xf0, 0xff, 0xf0) }, + { "Honeydew1", RGB(0xf0, 0xff, 0xf0) }, + { "Honeydew2", RGB(0xe0, 0xee, 0xe0) }, + { "Honeydew3", RGB(0xc1, 0xcd, 0xc1) }, + { "Honeydew4", RGB(0x83, 0x8b, 0x83) }, + { "HotPink", RGB(0xff, 0x69, 0xb4) }, + { "HotPink1", RGB(0xff, 0x6e, 0xb4) }, + { "HotPink2", RGB(0xee, 0x6a, 0xa7) }, + { "HotPink3", RGB(0xcd, 0x60, 0x90) }, + { "HotPink4", RGB(0x8b, 0x3a, 0x62) }, + { "IndianRed", RGB(0xcd, 0x5c, 0x5c) }, + { "IndianRed1", RGB(0xff, 0x6a, 0x6a) }, + { "IndianRed2", RGB(0xee, 0x63, 0x63) }, + { "IndianRed3", RGB(0xcd, 0x55, 0x55) }, + { "IndianRed4", RGB(0x8b, 0x3a, 0x3a) }, + { "Indigo", RGB(0x4b, 0x00, 0x82) }, + { "Ivory", RGB(0xff, 0xff, 0xf0) }, + { "Ivory1", RGB(0xff, 0xff, 0xf0) }, + { "Ivory2", RGB(0xee, 0xee, 0xe0) }, + { "Ivory3", RGB(0xcd, 0xcd, 0xc1) }, + { "Ivory4", RGB(0x8b, 0x8b, 0x83) }, + { "Khaki", RGB(0xf0, 0xe6, 0x8c) }, + { "Khaki1", RGB(0xff, 0xf6, 0x8f) }, + { "Khaki2", RGB(0xee, 0xe6, 0x85) }, + { "Khaki3", RGB(0xcd, 0xc6, 0x73) }, + { "Khaki4", RGB(0x8b, 0x86, 0x4e) }, + { "Lavender", RGB(0xe6, 0xe6, 0xfa) }, + { "LavenderBlush", RGB(0xff, 0xf0, 0xf5) }, + { "LavenderBlush1", RGB(0xff, 0xf0, 0xf5) }, + { "LavenderBlush2", RGB(0xee, 0xe0, 0xe5) }, + { "LavenderBlush3", RGB(0xcd, 0xc1, 0xc5) }, + { "LavenderBlush4", RGB(0x8b, 0x83, 0x86) }, + { "LawnGreen", RGB(0x7c, 0xfc, 0x00) }, + { "LemonChiffon", RGB(0xff, 0xfa, 0xcd) }, + { "LemonChiffon1", RGB(0xff, 0xfa, 0xcd) }, + { "LemonChiffon2", RGB(0xee, 0xe9, 0xbf) }, + { "LemonChiffon3", RGB(0xcd, 0xc9, 0xa5) }, + { "LemonChiffon4", RGB(0x8b, 0x89, 0x70) }, + { "LightBlue", RGB(0xad, 0xd8, 0xe6) }, + { "LightBlue1", RGB(0xbf, 0xef, 0xff) }, + { "LightBlue2", RGB(0xb2, 0xdf, 0xee) }, + { "LightBlue3", RGB(0x9a, 0xc0, 0xcd) }, + { "LightBlue4", RGB(0x68, 0x83, 0x8b) }, + { "LightCoral", RGB(0xf0, 0x80, 0x80) }, + { "LightCyan", RGB(0xe0, 0xff, 0xff) }, + { "LightCyan1", RGB(0xe0, 0xff, 0xff) }, + { "LightCyan2", RGB(0xd1, 0xee, 0xee) }, + { "LightCyan3", RGB(0xb4, 0xcd, 0xcd) }, + { "LightCyan4", RGB(0x7a, 0x8b, 0x8b) }, + { "LightGoldenrod", RGB(0xee, 0xdd, 0x82) }, + { "LightGoldenrod1", RGB(0xff, 0xec, 0x8b) }, + { "LightGoldenrod2", RGB(0xee, 0xdc, 0x82) }, + { "LightGoldenrod3", RGB(0xcd, 0xbe, 0x70) }, + { "LightGoldenrod4", RGB(0x8b, 0x81, 0x4c) }, + { "LightGoldenRodYellow", RGB(0xfa, 0xfa, 0xd2) }, + { "LightGray", RGB(0xd3, 0xd3, 0xd3) }, + { "LightGreen", RGB(0x90, 0xee, 0x90) }, + { "LightGrey", RGB(0xd3, 0xd3, 0xd3) }, + { "LightMagenta", RGB(0xff, 0xbb, 0xff) }, + { "LightPink", RGB(0xff, 0xb6, 0xc1) }, + { "LightPink1", RGB(0xff, 0xae, 0xb9) }, + { "LightPink2", RGB(0xee, 0xa2, 0xad) }, + { "LightPink3", RGB(0xcd, 0x8c, 0x95) }, + { "LightPink4", RGB(0x8b, 0x5f, 0x65) }, + { "LightRed", RGB(0xff, 0xbb, 0xbb) }, + { "LightSalmon", RGB(0xff, 0xa0, 0x7a) }, + { "LightSalmon1", RGB(0xff, 0xa0, 0x7a) }, + { "LightSalmon2", RGB(0xee, 0x95, 0x72) }, + { "LightSalmon3", RGB(0xcd, 0x81, 0x62) }, + { "LightSalmon4", RGB(0x8b, 0x57, 0x42) }, + { "LightSeaGreen", RGB(0x20, 0xb2, 0xaa) }, + { "LightSkyBlue", RGB(0x87, 0xce, 0xfa) }, + { "LightSkyBlue1", RGB(0xb0, 0xe2, 0xff) }, + { "LightSkyBlue2", RGB(0xa4, 0xd3, 0xee) }, + { "LightSkyBlue3", RGB(0x8d, 0xb6, 0xcd) }, + { "LightSkyBlue4", RGB(0x60, 0x7b, 0x8b) }, + { "LightSlateBlue", RGB(0x84, 0x70, 0xff) }, + { "LightSlateGray", RGB(0x77, 0x88, 0x99) }, + { "LightSlateGrey", RGB(0x77, 0x88, 0x99) }, + { "LightSteelBlue", RGB(0xb0, 0xc4, 0xde) }, + { "LightSteelBlue1", RGB(0xca, 0xe1, 0xff) }, + { "LightSteelBlue2", RGB(0xbc, 0xd2, 0xee) }, + { "LightSteelBlue3", RGB(0xa2, 0xb5, 0xcd) }, + { "LightSteelBlue4", RGB(0x6e, 0x7b, 0x8b) }, + { "LightYellow", RGB(0xff, 0xff, 0xe0) }, + { "LightYellow1", RGB(0xff, 0xff, 0xe0) }, + { "LightYellow2", RGB(0xee, 0xee, 0xd1) }, + { "LightYellow3", RGB(0xcd, 0xcd, 0xb4) }, + { "LightYellow4", RGB(0x8b, 0x8b, 0x7a) }, + { "Lime", RGB(0x00, 0xff, 0x00) }, + { "LimeGreen", RGB(0x32, 0xcd, 0x32) }, + { "Linen", RGB(0xfa, 0xf0, 0xe6) }, + { "Magenta", RGB(0xff, 0x00, 0xff) }, + { "Magenta1", RGB(0xff, 0x0, 0xff) }, + { "Magenta2", RGB(0xee, 0x0, 0xee) }, + { "Magenta3", RGB(0xcd, 0x0, 0xcd) }, + { "Magenta4", RGB(0x8b, 0x0, 0x8b) }, + { "Maroon", RGB(0x80, 0x00, 0x00) }, + { "Maroon1", RGB(0xff, 0x34, 0xb3) }, + { "Maroon2", RGB(0xee, 0x30, 0xa7) }, + { "Maroon3", RGB(0xcd, 0x29, 0x90) }, + { "Maroon4", RGB(0x8b, 0x1c, 0x62) }, + { "MediumAquamarine", RGB(0x66, 0xcd, 0xaa) }, + { "MediumBlue", RGB(0x00, 0x00, 0xcd) }, + { "MediumOrchid", RGB(0xba, 0x55, 0xd3) }, + { "MediumOrchid1", RGB(0xe0, 0x66, 0xff) }, + { "MediumOrchid2", RGB(0xd1, 0x5f, 0xee) }, + { "MediumOrchid3", RGB(0xb4, 0x52, 0xcd) }, + { "MediumOrchid4", RGB(0x7a, 0x37, 0x8b) }, + { "MediumPurple", RGB(0x93, 0x70, 0xdb) }, + { "MediumPurple1", RGB(0xab, 0x82, 0xff) }, + { "MediumPurple2", RGB(0x9f, 0x79, 0xee) }, + { "MediumPurple3", RGB(0x89, 0x68, 0xcd) }, + { "MediumPurple4", RGB(0x5d, 0x47, 0x8b) }, + { "MediumSeaGreen", RGB(0x3c, 0xb3, 0x71) }, + { "MediumSlateBlue", RGB(0x7b, 0x68, 0xee) }, + { "MediumSpringGreen", RGB(0x00, 0xfa, 0x9a) }, + { "MediumTurquoise", RGB(0x48, 0xd1, 0xcc) }, + { "MediumVioletRed", RGB(0xc7, 0x15, 0x85) }, + { "MidnightBlue", RGB(0x19, 0x19, 0x70) }, + { "MintCream", RGB(0xf5, 0xff, 0xfa) }, + { "MistyRose", RGB(0xff, 0xe4, 0xe1) }, + { "MistyRose1", RGB(0xff, 0xe4, 0xe1) }, + { "MistyRose2", RGB(0xee, 0xd5, 0xd2) }, + { "MistyRose3", RGB(0xcd, 0xb7, 0xb5) }, + { "MistyRose4", RGB(0x8b, 0x7d, 0x7b) }, + { "Moccasin", RGB(0xff, 0xe4, 0xb5) }, + { "NavajoWhite", RGB(0xff, 0xde, 0xad) }, + { "NavajoWhite1", RGB(0xff, 0xde, 0xad) }, + { "NavajoWhite2", RGB(0xee, 0xcf, 0xa1) }, + { "NavajoWhite3", RGB(0xcd, 0xb3, 0x8b) }, + { "NavajoWhite4", RGB(0x8b, 0x79, 0x5e) }, + { "Navy", RGB(0x00, 0x00, 0x80) }, + { "NavyBlue", RGB(0x0, 0x0, 0x80) }, + { "OldLace", RGB(0xfd, 0xf5, 0xe6) }, + { "Olive", RGB(0x80, 0x80, 0x00) }, + { "OliveDrab", RGB(0x6b, 0x8e, 0x23) }, + { "OliveDrab1", RGB(0xc0, 0xff, 0x3e) }, + { "OliveDrab2", RGB(0xb3, 0xee, 0x3a) }, + { "OliveDrab3", RGB(0x9a, 0xcd, 0x32) }, + { "OliveDrab4", RGB(0x69, 0x8b, 0x22) }, + { "Orange", RGB(0xff, 0xa5, 0x00) }, + { "Orange1", RGB(0xff, 0xa5, 0x0) }, + { "Orange2", RGB(0xee, 0x9a, 0x0) }, + { "Orange3", RGB(0xcd, 0x85, 0x0) }, + { "Orange4", RGB(0x8b, 0x5a, 0x0) }, + { "OrangeRed", RGB(0xff, 0x45, 0x00) }, + { "OrangeRed1", RGB(0xff, 0x45, 0x0) }, + { "OrangeRed2", RGB(0xee, 0x40, 0x0) }, + { "OrangeRed3", RGB(0xcd, 0x37, 0x0) }, + { "OrangeRed4", RGB(0x8b, 0x25, 0x0) }, + { "Orchid", RGB(0xda, 0x70, 0xd6) }, + { "Orchid1", RGB(0xff, 0x83, 0xfa) }, + { "Orchid2", RGB(0xee, 0x7a, 0xe9) }, + { "Orchid3", RGB(0xcd, 0x69, 0xc9) }, + { "Orchid4", RGB(0x8b, 0x47, 0x89) }, + { "PaleGoldenRod", RGB(0xee, 0xe8, 0xaa) }, + { "PaleGreen", RGB(0x98, 0xfb, 0x98) }, + { "PaleGreen1", RGB(0x9a, 0xff, 0x9a) }, + { "PaleGreen2", RGB(0x90, 0xee, 0x90) }, + { "PaleGreen3", RGB(0x7c, 0xcd, 0x7c) }, + { "PaleGreen4", RGB(0x54, 0x8b, 0x54) }, + { "PaleTurquoise", RGB(0xaf, 0xee, 0xee) }, + { "PaleTurquoise1", RGB(0xbb, 0xff, 0xff) }, + { "PaleTurquoise2", RGB(0xae, 0xee, 0xee) }, + { "PaleTurquoise3", RGB(0x96, 0xcd, 0xcd) }, + { "PaleTurquoise4", RGB(0x66, 0x8b, 0x8b) }, + { "PaleVioletRed", RGB(0xdb, 0x70, 0x93) }, + { "PaleVioletRed1", RGB(0xff, 0x82, 0xab) }, + { "PaleVioletRed2", RGB(0xee, 0x79, 0x9f) }, + { "PaleVioletRed3", RGB(0xcd, 0x68, 0x89) }, + { "PaleVioletRed4", RGB(0x8b, 0x47, 0x5d) }, + { "PapayaWhip", RGB(0xff, 0xef, 0xd5) }, + { "PeachPuff", RGB(0xff, 0xda, 0xb9) }, + { "PeachPuff1", RGB(0xff, 0xda, 0xb9) }, + { "PeachPuff2", RGB(0xee, 0xcb, 0xad) }, + { "PeachPuff3", RGB(0xcd, 0xaf, 0x95) }, + { "PeachPuff4", RGB(0x8b, 0x77, 0x65) }, + { "Peru", RGB(0xcd, 0x85, 0x3f) }, + { "Pink", RGB(0xff, 0xc0, 0xcb) }, + { "Pink1", RGB(0xff, 0xb5, 0xc5) }, + { "Pink2", RGB(0xee, 0xa9, 0xb8) }, + { "Pink3", RGB(0xcd, 0x91, 0x9e) }, + { "Pink4", RGB(0x8b, 0x63, 0x6c) }, + { "Plum", RGB(0xdd, 0xa0, 0xdd) }, + { "Plum1", RGB(0xff, 0xbb, 0xff) }, + { "Plum2", RGB(0xee, 0xae, 0xee) }, + { "Plum3", RGB(0xcd, 0x96, 0xcd) }, + { "Plum4", RGB(0x8b, 0x66, 0x8b) }, + { "PowderBlue", RGB(0xb0, 0xe0, 0xe6) }, + { "Purple", RGB(0x80, 0x00, 0x80) }, + { "Purple1", RGB(0x9b, 0x30, 0xff) }, + { "Purple2", RGB(0x91, 0x2c, 0xee) }, + { "Purple3", RGB(0x7d, 0x26, 0xcd) }, + { "Purple4", RGB(0x55, 0x1a, 0x8b) }, + { "RebeccaPurple", RGB(0x66, 0x33, 0x99) }, + { "Red", RGB(0xff, 0x00, 0x00) }, + { "Red1", RGB(0xff, 0x0, 0x0) }, + { "Red2", RGB(0xee, 0x0, 0x0) }, + { "Red3", RGB(0xcd, 0x0, 0x0) }, + { "Red4", RGB(0x8b, 0x0, 0x0) }, + { "RosyBrown", RGB(0xbc, 0x8f, 0x8f) }, + { "RosyBrown1", RGB(0xff, 0xc1, 0xc1) }, + { "RosyBrown2", RGB(0xee, 0xb4, 0xb4) }, + { "RosyBrown3", RGB(0xcd, 0x9b, 0x9b) }, + { "RosyBrown4", RGB(0x8b, 0x69, 0x69) }, + { "RoyalBlue", RGB(0x41, 0x69, 0xe1) }, + { "RoyalBlue1", RGB(0x48, 0x76, 0xff) }, + { "RoyalBlue2", RGB(0x43, 0x6e, 0xee) }, + { "RoyalBlue3", RGB(0x3a, 0x5f, 0xcd) }, + { "RoyalBlue4", RGB(0x27, 0x40, 0x8b) }, + { "SaddleBrown", RGB(0x8b, 0x45, 0x13) }, + { "Salmon", RGB(0xfa, 0x80, 0x72) }, + { "Salmon1", RGB(0xff, 0x8c, 0x69) }, + { "Salmon2", RGB(0xee, 0x82, 0x62) }, + { "Salmon3", RGB(0xcd, 0x70, 0x54) }, + { "Salmon4", RGB(0x8b, 0x4c, 0x39) }, + { "SandyBrown", RGB(0xf4, 0xa4, 0x60) }, + { "SeaGreen", RGB(0x2e, 0x8b, 0x57) }, + { "SeaGreen1", RGB(0x54, 0xff, 0x9f) }, + { "SeaGreen2", RGB(0x4e, 0xee, 0x94) }, + { "SeaGreen3", RGB(0x43, 0xcd, 0x80) }, + { "SeaGreen4", RGB(0x2e, 0x8b, 0x57) }, + { "SeaShell", RGB(0xff, 0xf5, 0xee) }, + { "Seashell1", RGB(0xff, 0xf5, 0xee) }, + { "Seashell2", RGB(0xee, 0xe5, 0xde) }, + { "Seashell3", RGB(0xcd, 0xc5, 0xbf) }, + { "Seashell4", RGB(0x8b, 0x86, 0x82) }, + { "Sienna", RGB(0xa0, 0x52, 0x2d) }, + { "Sienna1", RGB(0xff, 0x82, 0x47) }, + { "Sienna2", RGB(0xee, 0x79, 0x42) }, + { "Sienna3", RGB(0xcd, 0x68, 0x39) }, + { "Sienna4", RGB(0x8b, 0x47, 0x26) }, + { "Silver", RGB(0xc0, 0xc0, 0xc0) }, + { "SkyBlue", RGB(0x87, 0xce, 0xeb) }, + { "SkyBlue1", RGB(0x87, 0xce, 0xff) }, + { "SkyBlue2", RGB(0x7e, 0xc0, 0xee) }, + { "SkyBlue3", RGB(0x6c, 0xa6, 0xcd) }, + { "SkyBlue4", RGB(0x4a, 0x70, 0x8b) }, + { "SlateBlue", RGB(0x6a, 0x5a, 0xcd) }, + { "SlateBlue1", RGB(0x83, 0x6f, 0xff) }, + { "SlateBlue2", RGB(0x7a, 0x67, 0xee) }, + { "SlateBlue3", RGB(0x69, 0x59, 0xcd) }, + { "SlateBlue4", RGB(0x47, 0x3c, 0x8b) }, + { "SlateGray", RGB(0x70, 0x80, 0x90) }, + { "SlateGray1", RGB(0xc6, 0xe2, 0xff) }, + { "SlateGray2", RGB(0xb9, 0xd3, 0xee) }, + { "SlateGray3", RGB(0x9f, 0xb6, 0xcd) }, + { "SlateGray4", RGB(0x6c, 0x7b, 0x8b) }, + { "SlateGrey", RGB(0x70, 0x80, 0x90) }, + { "Snow", RGB(0xff, 0xfa, 0xfa) }, + { "Snow1", RGB(0xff, 0xfa, 0xfa) }, + { "Snow2", RGB(0xee, 0xe9, 0xe9) }, + { "Snow3", RGB(0xcd, 0xc9, 0xc9) }, + { "Snow4", RGB(0x8b, 0x89, 0x89) }, + { "SpringGreen", RGB(0x00, 0xff, 0x7f) }, + { "SpringGreen1", RGB(0x0, 0xff, 0x7f) }, + { "SpringGreen2", RGB(0x0, 0xee, 0x76) }, + { "SpringGreen3", RGB(0x0, 0xcd, 0x66) }, + { "SpringGreen4", RGB(0x0, 0x8b, 0x45) }, + { "SteelBlue", RGB(0x46, 0x82, 0xb4) }, + { "SteelBlue1", RGB(0x63, 0xb8, 0xff) }, + { "SteelBlue2", RGB(0x5c, 0xac, 0xee) }, + { "SteelBlue3", RGB(0x4f, 0x94, 0xcd) }, + { "SteelBlue4", RGB(0x36, 0x64, 0x8b) }, + { "Tan", RGB(0xd2, 0xb4, 0x8c) }, + { "Tan1", RGB(0xff, 0xa5, 0x4f) }, + { "Tan2", RGB(0xee, 0x9a, 0x49) }, + { "Tan3", RGB(0xcd, 0x85, 0x3f) }, + { "Tan4", RGB(0x8b, 0x5a, 0x2b) }, + { "Teal", RGB(0x00, 0x80, 0x80) }, + { "Thistle", RGB(0xd8, 0xbf, 0xd8) }, + { "Thistle1", RGB(0xff, 0xe1, 0xff) }, + { "Thistle2", RGB(0xee, 0xd2, 0xee) }, + { "Thistle3", RGB(0xcd, 0xb5, 0xcd) }, + { "Thistle4", RGB(0x8b, 0x7b, 0x8b) }, + { "Tomato", RGB(0xff, 0x63, 0x47) }, + { "Tomato1", RGB(0xff, 0x63, 0x47) }, + { "Tomato2", RGB(0xee, 0x5c, 0x42) }, + { "Tomato3", RGB(0xcd, 0x4f, 0x39) }, + { "Tomato4", RGB(0x8b, 0x36, 0x26) }, + { "Turquoise", RGB(0x40, 0xe0, 0xd0) }, + { "Turquoise1", RGB(0x0, 0xf5, 0xff) }, + { "Turquoise2", RGB(0x0, 0xe5, 0xee) }, + { "Turquoise3", RGB(0x0, 0xc5, 0xcd) }, + { "Turquoise4", RGB(0x0, 0x86, 0x8b) }, + { "Violet", RGB(0xee, 0x82, 0xee) }, + { "VioletRed", RGB(0xd0, 0x20, 0x90) }, + { "VioletRed1", RGB(0xff, 0x3e, 0x96) }, + { "VioletRed2", RGB(0xee, 0x3a, 0x8c) }, + { "VioletRed3", RGB(0xcd, 0x32, 0x78) }, + { "VioletRed4", RGB(0x8b, 0x22, 0x52) }, + { "WebGray", RGB(0x80, 0x80, 0x80) }, + { "WebGreen", RGB(0x0, 0x80, 0x0) }, + { "WebGrey", RGB(0x80, 0x80, 0x80) }, + { "WebMaroon", RGB(0x80, 0x0, 0x0) }, + { "WebPurple", RGB(0x80, 0x0, 0x80) }, + { "Wheat", RGB(0xf5, 0xde, 0xb3) }, + { "Wheat1", RGB(0xff, 0xe7, 0xba) }, + { "Wheat2", RGB(0xee, 0xd8, 0xae) }, + { "Wheat3", RGB(0xcd, 0xba, 0x96) }, + { "Wheat4", RGB(0x8b, 0x7e, 0x66) }, + { "White", RGB(0xff, 0xff, 0xff) }, + { "WhiteSmoke", RGB(0xf5, 0xf5, 0xf5) }, + { "X11Gray", RGB(0xbe, 0xbe, 0xbe) }, + { "X11Green", RGB(0x0, 0xff, 0x0) }, + { "X11Grey", RGB(0xbe, 0xbe, 0xbe) }, + { "X11Maroon", RGB(0xb0, 0x30, 0x60) }, + { "X11Purple", RGB(0xa0, 0x20, 0xf0) }, + { "Yellow", RGB(0xff, 0xff, 0x00) }, + { "Yellow1", RGB(0xff, 0xff, 0x0) }, + { "Yellow2", RGB(0xee, 0xee, 0x0) }, + { "Yellow3", RGB(0xcd, 0xcd, 0x0) }, + { "Yellow4", RGB(0x8b, 0x8b, 0x0) }, + { "YellowGreen", RGB(0x9a, 0xcd, 0x32) }, + { NULL, 0 }, }; RgbValue name_to_color(uint8_t *name) @@ -7588,6 +8238,10 @@ RgbValue name_to_color(uint8_t *name) && isxdigit(name[6]) && name[7] == NUL) { // rgb hex string return strtol((char *)(name + 1), NULL, 16); + } else if (!STRICMP(name, "bg") || !STRICMP(name, "background")) { + return normal_bg; + } else if (!STRICMP(name, "fg") || !STRICMP(name, "foreground")) { + return normal_fg; } for (int i = 0; color_name_table[i].name != NULL; i++) { |