To: vim_dev@googlegroups.com Subject: Patch 8.2.3562 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ Patch 8.2.3562 Problem: Cannot add color names. Solution: Add the v:colornames dictionary. (Drew Vogel, closes #8761) Files: Filelist, READMEdir/README_extra.txt, nsis/gvim.nsi, runtime/colors/README.txt, runtime/colors/lists/csscolors.vim, runtime/colors/lists/default.vim, runtime/doc/eval.txt, runtime/doc/gui_w32.txt, runtime/doc/message.txt, runtime/doc/os_haiku.txt, runtime/doc/syntax.txt, runtime/doc/usr_06.txt, src/Makefile, src/evalvars.c, src/gui_haiku.cc, src/highlight.c, src/gui.c, src/job.c, src/proto/highlight.pro, src/proto/term.pro, src/term.c, src/vim.h, src/globals.h, src/errors.h, src/testdir/test_highlight.vim *** ../vim-8.2.3561/Filelist 2021-08-07 11:31:53.689892833 +0100 --- Filelist 2021-10-24 19:54:47.379352123 +0100 *************** *** 798,803 **** --- 799,805 ---- runtime/autoload/xml/*.vim \ runtime/colors/*.vim \ runtime/colors/README.txt \ + runtime/colors/lists/*.vim \ runtime/colors/tools/*.vim \ runtime/compiler/*.vim \ runtime/compiler/README.txt \ *************** *** 850,856 **** # DOS runtime (also in the extra archive) RT_DOS = \ README_dos.txt \ - runtime/rgb.txt \ vimtutor.bat \ # DOS runtime without CR-LF translation (also in the extra archive) --- 852,857 ---- *** ../vim-8.2.3561/READMEdir/README_extra.txt 2020-08-13 20:05:31.781361619 +0100 --- READMEdir/README_extra.txt 2021-10-24 19:54:47.391352286 +0100 *************** *** 26,32 **** src/gui_w32.* Files for the Win32 GUI. src/gui_w48.* Files for the Win32 and Win16 GUI. src/Make_mvc.mak MS Visual C++ makefile for the Win32 GUI. - runtime/rgb.txt File with color definitions for the Win32 GUI. src/if_ole.* OLE automation interface, for MS Windows 95 and NT. --- 26,31 ---- *** ../vim-8.2.3561/nsis/gvim.nsi 2021-07-24 20:19:38.946094111 +0100 --- nsis/gvim.nsi 2021-10-24 19:54:47.391352286 +0100 *************** *** 357,363 **** File ..\README.txt File ..\uninstall.txt File ${VIMRT}\*.vim - File ${VIMRT}\rgb.txt File ${VIMTOOLS}\diff.exe File ${VIMTOOLS}\winpty${BIT}.dll --- 357,362 ---- *************** *** 367,372 **** --- 366,373 ---- File ${VIMRT}\colors\*.* SetOutPath $0\colors\tools File ${VIMRT}\colors\tools\*.* + SetOutPath $0\colors\lists + File ${VIMRT}\colors\lists\*.* SetOutPath $0\compiler File ${VIMRT}\compiler\*.* *** ../vim-8.2.3561/runtime/colors/README.txt 2018-04-30 21:35:56.000000000 +0100 --- runtime/colors/README.txt 2021-10-24 19:54:47.391352286 +0100 *************** *** 67,73 **** ctermfg and ctermbg values are numbers, which are only valid for the current terminal. Use the color names instead. See ":help cterm-colors". ! The default color settings can be found in the source file src/syntax.c. Search for "highlight_init". If you think you have a color scheme that is good enough to be used by others, --- 67,73 ---- ctermfg and ctermbg values are numbers, which are only valid for the current terminal. Use the color names instead. See ":help cterm-colors". ! The default color settings can be found in the source file src/highlight.c. Search for "highlight_init". If you think you have a color scheme that is good enough to be used by others, *************** *** 87,90 **** - In the GUI, is it easy to find the cursor, also in a file with lots of syntax highlighting? - Do not use hard coded escape sequences, these will not work in other ! terminals. Always use color names or #RRGGBB for the GUI. --- 87,91 ---- - In the GUI, is it easy to find the cursor, also in a file with lots of syntax highlighting? - Do not use hard coded escape sequences, these will not work in other ! terminals. Always use color names or #RRGGBB for the GUI. See v:colornames ! for details on how to define your own color names. *** ../vim-8.2.3561/runtime/colors/lists/csscolors.vim 1970-01-01 00:00:00.000000000 +0000 --- runtime/colors/lists/csscolors.vim 2021-10-24 19:54:47.391352286 +0100 *************** *** 0 **** --- 1,166 ---- + " Maintainer: Drew Vogel + " Last Change: 2021 Jul 25 + + " Similar in spirit to rgb.txt, this plugin establishes a human-friendly name + " for every color listed in the CSS standard: + " + " https://www.w3.org/TR/css-color-3/ + + let s:keepcpo= &cpo + set cpo&vim + + call extend(v:colornames, { + \ 'css_black': '#000000', + \ 'css_silver': '#c0c0c0', + \ 'css_gray': '#808080', + \ 'css_white': '#FFFFFF', + \ 'css_maroon': '#800000', + \ 'css_red': '#FF0000', + \ 'css_purple': '#800080', + \ 'css_fuchsia': '#FF00FF', + \ 'css_green': '#008000', + \ 'css_lime': '#00FF00', + \ 'css_olive': '#808000', + \ 'css_yellow': '#FFFF00', + \ 'css_navy': '#000080', + \ 'css_blue': '#0000FF', + \ 'css_teal': '#008080', + \ 'css_aqua': '#00FFFF', + \ + \ 'css_aliceblue': '#f0f8ff', + \ 'css_antiquewhite': '#faebd7', + \ 'css_aquamarine': '#7fffd4', + \ 'css_azure': '#f0ffff', + \ 'css_beige': '#f5f5dc', + \ 'css_bisque': '#ffe4c4', + \ 'css_blanchedalmond': '#ffebcd', + \ 'css_blueviolet': '#8a2be2', + \ 'css_brown': '#a52a2a', + \ 'css_burlywood': '#deb887', + \ 'css_cadetblue': '#5f9ea0', + \ 'css_chartreuse': '#7fff00', + \ 'css_chocolate': '#d2691e', + \ 'css_coral': '#ff7f50', + \ 'css_cornflowerblue': '#6495ed', + \ 'css_cornsilk': '#fff8dc', + \ 'css_crimson': '#dc143c', + \ 'css_cyan': '#00ffff', + \ 'css_darkblue': '#00008b', + \ 'css_darkcyan': '#008b8b', + \ 'css_darkgoldenrod': '#b8860b', + \ 'css_darkgray': '#a9a9a9', + \ 'css_darkgreen': '#006400', + \ 'css_darkgrey': '#a9a9a9', + \ 'css_darkkhaki': '#bdb76b', + \ 'css_darkmagenta': '#8b008b', + \ 'css_darkolivegreen': '#556b2f', + \ 'css_darkorange': '#ff8c00', + \ 'css_darkorchid': '#9932cc', + \ 'css_darkred': '#8b0000', + \ 'css_darksalmon': '#e9967a', + \ 'css_darkseagreen': '#8fbc8f', + \ 'css_darkslateblue': '#483d8b', + \ 'css_darkslategray': '#2f4f4f', + \ 'css_darkslategrey': '#2f4f4f', + \ 'css_darkturquoise': '#00ced1', + \ 'css_darkviolet': '#9400d3', + \ 'css_deeppink': '#ff1493', + \ 'css_deepskyblue': '#00bfff', + \ 'css_dimgray': '#696969', + \ 'css_dimgrey': '#696969', + \ 'css_dodgerblue': '#1e90ff', + \ 'css_firebrick': '#b22222', + \ 'css_floralwhite': '#fffaf0', + \ 'css_forestgreen': '#228b22', + \ 'css_gainsboro': '#dcdcdc', + \ 'css_ghostwhite': '#f8f8ff', + \ 'css_gold': '#ffd700', + \ 'css_goldenrod': '#daa520', + \ 'css_greenyellow': '#adff2f', + \ 'css_grey': '#808080', + \ 'css_honeydew': '#f0fff0', + \ 'css_hotpink': '#ff69b4', + \ 'css_indianred': '#cd5c5c', + \ 'css_indigo': '#4b0082', + \ 'css_ivory': '#fffff0', + \ 'css_khaki': '#f0e68c', + \ 'css_lavender': '#e6e6fa', + \ 'css_lavenderblush': '#fff0f5', + \ 'css_lawngreen': '#7cfc00', + \ 'css_lemonchiffon': '#fffacd', + \ 'css_lightblue': '#add8e6', + \ 'css_lightcoral': '#f08080', + \ 'css_lightcyan': '#e0ffff', + \ 'css_lightgoldenrodyellow': '#fafad2', + \ 'css_lightgray': '#d3d3d3', + \ 'css_lightgreen': '#90ee90', + \ 'css_lightgrey': '#d3d3d3', + \ 'css_lightpink': '#ffb6c1', + \ 'css_lightsalmon': '#ffa07a', + \ 'css_lightseagreen': '#20b2aa', + \ 'css_lightskyblue': '#87cefa', + \ 'css_lightslategray': '#778899', + \ 'css_lightslategrey': '#778899', + \ 'css_lightsteelblue': '#b0c4de', + \ 'css_lightyellow': '#ffffe0', + \ 'css_limegreen': '#32cd32', + \ 'css_linen': '#faf0e6', + \ 'css_magenta': '#ff00ff', + \ 'css_mediumaquamarine': '#66cdaa', + \ 'css_mediumblue': '#0000cd', + \ 'css_mediumorchid': '#ba55d3', + \ 'css_mediumpurple': '#9370db', + \ 'css_mediumseagreen': '#3cb371', + \ 'css_mediumslateblue': '#7b68ee', + \ 'css_mediumspringgreen': '#00fa9a', + \ 'css_mediumturquoise': '#48d1cc', + \ 'css_mediumvioletred': '#c71585', + \ 'css_midnightblue': '#191970', + \ 'css_mintcream': '#f5fffa', + \ 'css_mistyrose': '#ffe4e1', + \ 'css_moccasin': '#ffe4b5', + \ 'css_navajowhite': '#ffdead', + \ 'css_oldlace': '#fdf5e6', + \ 'css_olivedrab': '#6b8e23', + \ 'css_orange': '#ffa500', + \ 'css_orangered': '#ff4500', + \ 'css_orchid': '#da70d6', + \ 'css_palegoldenrod': '#eee8aa', + \ 'css_palegreen': '#98fb98', + \ 'css_paleturquoise': '#afeeee', + \ 'css_palevioletred': '#db7093', + \ 'css_papayawhip': '#ffefd5', + \ 'css_peachpuff': '#ffdab9', + \ 'css_peru': '#cd853f', + \ 'css_pink': '#ffc0cb', + \ 'css_plum': '#dda0dd', + \ 'css_powderblue': '#b0e0e6', + \ 'css_rosybrown': '#bc8f8f', + \ 'css_royalblue': '#4169e1', + \ 'css_saddlebrown': '#8b4513', + \ 'css_salmon': '#fa8072', + \ 'css_sandybrown': '#f4a460', + \ 'css_seagreen': '#2e8b57', + \ 'css_seashell': '#fff5ee', + \ 'css_sienna': '#a0522d', + \ 'css_skyblue': '#87ceeb', + \ 'css_slateblue': '#6a5acd', + \ 'css_slategray': '#708090', + \ 'css_slategrey': '#708090', + \ 'css_snow': '#fffafa', + \ 'css_springgreen': '#00ff7f', + \ 'css_steelblue': '#4682b4', + \ 'css_tan': '#d2b48c', + \ 'css_thistle': '#d8bfd8', + \ 'css_tomato': '#ff6347', + \ 'css_turquoise': '#40e0d0', + \ 'css_violet': '#ee82ee', + \ 'css_wheat': '#f5deb3', + \ 'css_whitesmoke': '#f5f5f5', + \ 'css_yellowgreen': '#9acd32', + \ }, 'keep') + + let &cpo= s:keepcpo + unlet s:keepcpo + + "vim: sw=4 *** ../vim-8.2.3561/runtime/colors/lists/default.vim 1970-01-01 00:00:00.000000000 +0000 --- runtime/colors/lists/default.vim 2021-10-24 19:54:47.391352286 +0100 *************** *** 0 **** --- 1,801 ---- + " Maintainer: Drew Vogel + " Last Change: 2021 Jul 25 + " + " Replaced rgb.txt as the source of de facto standard color names. This is + " sourced each time the colorscheme command is run. It is also sourced each + " time the highlight command fails to recognize a gui color. You can override + " these colors by introducing a new colors/lists/default.vim file earlier in + " the runtimepath. + + let s:keepcpo= &cpo + set cpo&vim + + call extend(v:colornames, { + \ 'snow': '#fffafa', + \ 'ghost white': '#f8f8ff', + \ 'ghostwhite': '#f8f8ff', + \ 'white smoke': '#f5f5f5', + \ 'whitesmoke': '#f5f5f5', + \ 'gainsboro': '#dcdcdc', + \ 'floral white': '#fffaf0', + \ 'floralwhite': '#fffaf0', + \ 'old lace': '#fdf5e6', + \ 'oldlace': '#fdf5e6', + \ 'linen': '#faf0e6', + \ 'antique white': '#faebd7', + \ 'antiquewhite': '#faebd7', + \ 'papaya whip': '#ffefd5', + \ 'papayawhip': '#ffefd5', + \ 'blanched almond': '#ffebcd', + \ 'blanchedalmond': '#ffebcd', + \ 'bisque': '#ffe4c4', + \ 'peach puff': '#ffdab9', + \ 'peachpuff': '#ffdab9', + \ 'navajo white': '#ffdead', + \ 'navajowhite': '#ffdead', + \ 'moccasin': '#ffe4b5', + \ 'cornsilk': '#fff8dc', + \ 'ivory': '#fffff0', + \ 'lemon chiffon': '#fffacd', + \ 'lemonchiffon': '#fffacd', + \ 'seashell': '#fff5ee', + \ 'honeydew': '#f0fff0', + \ 'mint cream': '#f5fffa', + \ 'mintcream': '#f5fffa', + \ 'azure': '#f0ffff', + \ 'alice blue': '#f0f8ff', + \ 'aliceblue': '#f0f8ff', + \ 'lavender': '#e6e6fa', + \ 'lavender blush': '#fff0f5', + \ 'lavenderblush': '#fff0f5', + \ 'misty rose': '#ffe4e1', + \ 'mistyrose': '#ffe4e1', + \ 'white': '#ffffff', + \ 'black': '#000000', + \ 'dark slate gray': '#2f4f4f', + \ 'darkslategray': '#2f4f4f', + \ 'dark slate grey': '#2f4f4f', + \ 'darkslategrey': '#2f4f4f', + \ 'dim gray': '#696969', + \ 'dimgray': '#696969', + \ 'dim grey': '#696969', + \ 'dimgrey': '#696969', + \ 'slate gray': '#708090', + \ 'slategray': '#708090', + \ 'slate grey': '#708090', + \ 'slategrey': '#708090', + \ 'light slate gray': '#778899', + \ 'lightslategray': '#778899', + \ 'light slate grey': '#778899', + \ 'lightslategrey': '#778899', + \ 'gray': '#bebebe', + \ 'grey': '#bebebe', + \ 'x11 gray': '#bebebe', + \ 'x11gray': '#bebebe', + \ 'x11 grey': '#bebebe', + \ 'x11grey': '#bebebe', + \ 'web gray': '#808080', + \ 'webgray': '#808080', + \ 'web grey': '#808080', + \ 'webgrey': '#808080', + \ 'light grey': '#d3d3d3', + \ 'lightgrey': '#d3d3d3', + \ 'light gray': '#d3d3d3', + \ 'lightgray': '#d3d3d3', + \ 'midnight blue': '#191970', + \ 'midnightblue': '#191970', + \ 'navy': '#000080', + \ 'navy blue': '#000080', + \ 'navyblue': '#000080', + \ 'cornflower blue': '#6495ed', + \ 'cornflowerblue': '#6495ed', + \ 'dark slate blue': '#483d8b', + \ 'darkslateblue': '#483d8b', + \ 'slate blue': '#6a5acd', + \ 'slateblue': '#6a5acd', + \ 'medium slate blue': '#7b68ee', + \ 'mediumslateblue': '#7b68ee', + \ 'light slate blue': '#8470ff', + \ 'lightslateblue': '#8470ff', + \ 'medium blue': '#0000cd', + \ 'mediumblue': '#0000cd', + \ 'royal blue': '#4169e1', + \ 'royalblue': '#4169e1', + \ 'blue': '#0000ff', + \ 'dodger blue': '#1e90ff', + \ 'dodgerblue': '#1e90ff', + \ 'deep sky blue': '#00bfff', + \ 'deepskyblue': '#00bfff', + \ 'sky blue': '#87ceeb', + \ 'skyblue': '#87ceeb', + \ 'light sky blue': '#87cefa', + \ 'lightskyblue': '#87cefa', + \ 'steel blue': '#4682b4', + \ 'steelblue': '#4682b4', + \ 'light steel blue': '#b0c4de', + \ 'lightsteelblue': '#b0c4de', + \ 'light blue': '#add8e6', + \ 'lightblue': '#add8e6', + \ 'powder blue': '#b0e0e6', + \ 'powderblue': '#b0e0e6', + \ 'pale turquoise': '#afeeee', + \ 'paleturquoise': '#afeeee', + \ 'dark turquoise': '#00ced1', + \ 'darkturquoise': '#00ced1', + \ 'medium turquoise': '#48d1cc', + \ 'mediumturquoise': '#48d1cc', + \ 'turquoise': '#40e0d0', + \ 'cyan': '#00ffff', + \ 'aqua': '#00ffff', + \ 'light cyan': '#e0ffff', + \ 'lightcyan': '#e0ffff', + \ 'cadet blue': '#5f9ea0', + \ 'cadetblue': '#5f9ea0', + \ 'medium aquamarine': '#66cdaa', + \ 'mediumaquamarine': '#66cdaa', + \ 'aquamarine': '#7fffd4', + \ 'dark green': '#006400', + \ 'darkgreen': '#006400', + \ 'dark olive green': '#556b2f', + \ 'darkolivegreen': '#556b2f', + \ 'dark sea green': '#8fbc8f', + \ 'darkseagreen': '#8fbc8f', + \ 'sea green': '#2e8b57', + \ 'seagreen': '#2e8b57', + \ 'medium sea green': '#3cb371', + \ 'mediumseagreen': '#3cb371', + \ 'light sea green': '#20b2aa', + \ 'lightseagreen': '#20b2aa', + \ 'pale green': '#98fb98', + \ 'palegreen': '#98fb98', + \ 'spring green': '#00ff7f', + \ 'springgreen': '#00ff7f', + \ 'lawn green': '#7cfc00', + \ 'lawngreen': '#7cfc00', + \ 'green': '#00ff00', + \ 'lime': '#00ff00', + \ 'x11 green': '#00ff00', + \ 'x11green': '#00ff00', + \ 'web green': '#008000', + \ 'webgreen': '#008000', + \ 'chartreuse': '#7fff00', + \ 'medium spring green': '#00fa9a', + \ 'mediumspringgreen': '#00fa9a', + \ 'green yellow': '#adff2f', + \ 'greenyellow': '#adff2f', + \ 'lime green': '#32cd32', + \ 'limegreen': '#32cd32', + \ 'yellow green': '#9acd32', + \ 'yellowgreen': '#9acd32', + \ 'forest green': '#228b22', + \ 'forestgreen': '#228b22', + \ 'olive drab': '#6b8e23', + \ 'olivedrab': '#6b8e23', + \ 'dark khaki': '#bdb76b', + \ 'darkkhaki': '#bdb76b', + \ 'khaki': '#f0e68c', + \ 'pale goldenrod': '#eee8aa', + \ 'palegoldenrod': '#eee8aa', + \ 'light goldenrod yellow': '#fafad2', + \ 'lightgoldenrodyellow': '#fafad2', + \ 'light yellow': '#ffffe0', + \ 'lightyellow': '#ffffe0', + \ 'yellow': '#ffff00', + \ 'gold': '#ffd700', + \ 'light goldenrod': '#eedd82', + \ 'lightgoldenrod': '#eedd82', + \ 'goldenrod': '#daa520', + \ 'dark goldenrod': '#b8860b', + \ 'darkgoldenrod': '#b8860b', + \ 'rosy brown': '#bc8f8f', + \ 'rosybrown': '#bc8f8f', + \ 'indian red': '#cd5c5c', + \ 'indianred': '#cd5c5c', + \ 'saddle brown': '#8b4513', + \ 'saddlebrown': '#8b4513', + \ 'sienna': '#a0522d', + \ 'peru': '#cd853f', + \ 'burlywood': '#deb887', + \ 'beige': '#f5f5dc', + \ 'wheat': '#f5deb3', + \ 'sandy brown': '#f4a460', + \ 'sandybrown': '#f4a460', + \ 'tan': '#d2b48c', + \ 'chocolate': '#d2691e', + \ 'firebrick': '#b22222', + \ 'brown': '#a52a2a', + \ 'dark salmon': '#e9967a', + \ 'darksalmon': '#e9967a', + \ 'salmon': '#fa8072', + \ 'light salmon': '#ffa07a', + \ 'lightsalmon': '#ffa07a', + \ 'orange': '#ffa500', + \ 'dark orange': '#ff8c00', + \ 'darkorange': '#ff8c00', + \ 'coral': '#ff7f50', + \ 'light coral': '#f08080', + \ 'lightcoral': '#f08080', + \ 'tomato': '#ff6347', + \ 'orange red': '#ff4500', + \ 'orangered': '#ff4500', + \ 'red': '#ff0000', + \ 'hot pink': '#ff69b4', + \ 'hotpink': '#ff69b4', + \ 'deep pink': '#ff1493', + \ 'deeppink': '#ff1493', + \ 'pink': '#ffc0cb', + \ 'light pink': '#ffb6c1', + \ 'lightpink': '#ffb6c1', + \ 'pale violet red': '#db7093', + \ 'palevioletred': '#db7093', + \ 'maroon': '#b03060', + \ 'x11 maroon': '#b03060', + \ 'x11maroon': '#b03060', + \ 'web maroon': '#800000', + \ 'webmaroon': '#800000', + \ 'medium violet red': '#c71585', + \ 'mediumvioletred': '#c71585', + \ 'violet red': '#d02090', + \ 'violetred': '#d02090', + \ 'magenta': '#ff00ff', + \ 'fuchsia': '#ff00ff', + \ 'violet': '#ee82ee', + \ 'plum': '#dda0dd', + \ 'orchid': '#da70d6', + \ 'medium orchid': '#ba55d3', + \ 'mediumorchid': '#ba55d3', + \ 'dark orchid': '#9932cc', + \ 'darkorchid': '#9932cc', + \ 'dark violet': '#9400d3', + \ 'darkviolet': '#9400d3', + \ 'blue violet': '#8a2be2', + \ 'blueviolet': '#8a2be2', + \ 'purple': '#a020f0', + \ 'x11 purple': '#a020f0', + \ 'x11purple': '#a020f0', + \ 'web purple': '#800080', + \ 'webpurple': '#800080', + \ 'medium purple': '#9370db', + \ 'mediumpurple': '#9370db', + \ 'thistle': '#d8bfd8', + \ 'snow1': '#fffafa', + \ 'snow2': '#eee9e9', + \ 'snow3': '#cdc9c9', + \ 'snow4': '#8b8989', + \ 'seashell1': '#fff5ee', + \ 'seashell2': '#eee5de', + \ 'seashell3': '#cdc5bf', + \ 'seashell4': '#8b8682', + \ 'antiquewhite1': '#ffefdb', + \ 'antiquewhite2': '#eedfcc', + \ 'antiquewhite3': '#cdc0b0', + \ 'antiquewhite4': '#8b8378', + \ 'bisque1': '#ffe4c4', + \ 'bisque2': '#eed5b7', + \ 'bisque3': '#cdb79e', + \ 'bisque4': '#8b7d6b', + \ 'peachpuff1': '#ffdab9', + \ 'peachpuff2': '#eecbad', + \ 'peachpuff3': '#cdaf95', + \ 'peachpuff4': '#8b7765', + \ 'navajowhite1': '#ffdead', + \ 'navajowhite2': '#eecfa1', + \ 'navajowhite3': '#cdb38b', + \ 'navajowhite4': '#8b795e', + \ 'lemonchiffon1': '#fffacd', + \ 'lemonchiffon2': '#eee9bf', + \ 'lemonchiffon3': '#cdc9a5', + \ 'lemonchiffon4': '#8b8970', + \ 'cornsilk1': '#fff8dc', + \ 'cornsilk2': '#eee8cd', + \ 'cornsilk3': '#cdc8b1', + \ 'cornsilk4': '#8b8878', + \ 'ivory1': '#fffff0', + \ 'ivory2': '#eeeee0', + \ 'ivory3': '#cdcdc1', + \ 'ivory4': '#8b8b83', + \ 'honeydew1': '#f0fff0', + \ 'honeydew2': '#e0eee0', + \ 'honeydew3': '#c1cdc1', + \ 'honeydew4': '#838b83', + \ 'lavenderblush1': '#fff0f5', + \ 'lavenderblush2': '#eee0e5', + \ 'lavenderblush3': '#cdc1c5', + \ 'lavenderblush4': '#8b8386', + \ 'mistyrose1': '#ffe4e1', + \ 'mistyrose2': '#eed5d2', + \ 'mistyrose3': '#cdb7b5', + \ 'mistyrose4': '#8b7d7b', + \ 'azure1': '#f0ffff', + \ 'azure2': '#e0eeee', + \ 'azure3': '#c1cdcd', + \ 'azure4': '#838b8b', + \ 'slateblue1': '#836fff', + \ 'slateblue2': '#7a67ee', + \ 'slateblue3': '#6959cd', + \ 'slateblue4': '#473c8b', + \ 'royalblue1': '#4876ff', + \ 'royalblue2': '#436eee', + \ 'royalblue3': '#3a5fcd', + \ 'royalblue4': '#27408b', + \ 'blue1': '#0000ff', + \ 'blue2': '#0000ee', + \ 'blue3': '#0000cd', + \ 'blue4': '#00008b', + \ 'dodgerblue1': '#1e90ff', + \ 'dodgerblue2': '#1c86ee', + \ 'dodgerblue3': '#1874cd', + \ 'dodgerblue4': '#104e8b', + \ 'steelblue1': '#63b8ff', + \ 'steelblue2': '#5cacee', + \ 'steelblue3': '#4f94cd', + \ 'steelblue4': '#36648b', + \ 'deepskyblue1': '#00bfff', + \ 'deepskyblue2': '#00b2ee', + \ 'deepskyblue3': '#009acd', + \ 'deepskyblue4': '#00688b', + \ 'skyblue1': '#87ceff', + \ 'skyblue2': '#7ec0ee', + \ 'skyblue3': '#6ca6cd', + \ 'skyblue4': '#4a708b', + \ 'lightskyblue1': '#b0e2ff', + \ 'lightskyblue2': '#a4d3ee', + \ 'lightskyblue3': '#8db6cd', + \ 'lightskyblue4': '#607b8b', + \ 'slategray1': '#c6e2ff', + \ 'slategray2': '#b9d3ee', + \ 'slategray3': '#9fb6cd', + \ 'slategray4': '#6c7b8b', + \ 'lightsteelblue1': '#cae1ff', + \ 'lightsteelblue2': '#bcd2ee', + \ 'lightsteelblue3': '#a2b5cd', + \ 'lightsteelblue4': '#6e7b8b', + \ 'lightblue1': '#bfefff', + \ 'lightblue2': '#b2dfee', + \ 'lightblue3': '#9ac0cd', + \ 'lightblue4': '#68838b', + \ 'lightcyan1': '#e0ffff', + \ 'lightcyan2': '#d1eeee', + \ 'lightcyan3': '#b4cdcd', + \ 'lightcyan4': '#7a8b8b', + \ 'paleturquoise1': '#bbffff', + \ 'paleturquoise2': '#aeeeee', + \ 'paleturquoise3': '#96cdcd', + \ 'paleturquoise4': '#668b8b', + \ 'cadetblue1': '#98f5ff', + \ 'cadetblue2': '#8ee5ee', + \ 'cadetblue3': '#7ac5cd', + \ 'cadetblue4': '#53868b', + \ 'turquoise1': '#00f5ff', + \ 'turquoise2': '#00e5ee', + \ 'turquoise3': '#00c5cd', + \ 'turquoise4': '#00868b', + \ 'cyan1': '#00ffff', + \ 'cyan2': '#00eeee', + \ 'cyan3': '#00cdcd', + \ 'cyan4': '#008b8b', + \ 'darkslategray1': '#97ffff', + \ 'darkslategray2': '#8deeee', + \ 'darkslategray3': '#79cdcd', + \ 'darkslategray4': '#528b8b', + \ 'aquamarine1': '#7fffd4', + \ 'aquamarine2': '#76eec6', + \ 'aquamarine3': '#66cdaa', + \ 'aquamarine4': '#458b74', + \ 'darkseagreen1': '#c1ffc1', + \ 'darkseagreen2': '#b4eeb4', + \ 'darkseagreen3': '#9bcd9b', + \ 'darkseagreen4': '#698b69', + \ 'seagreen1': '#54ff9f', + \ 'seagreen2': '#4eee94', + \ 'seagreen3': '#43cd80', + \ 'seagreen4': '#2e8b57', + \ 'palegreen1': '#9aff9a', + \ 'palegreen2': '#90ee90', + \ 'palegreen3': '#7ccd7c', + \ 'palegreen4': '#548b54', + \ 'springgreen1': '#00ff7f', + \ 'springgreen2': '#00ee76', + \ 'springgreen3': '#00cd66', + \ 'springgreen4': '#008b45', + \ 'green1': '#00ff00', + \ 'green2': '#00ee00', + \ 'green3': '#00cd00', + \ 'green4': '#008b00', + \ 'chartreuse1': '#7fff00', + \ 'chartreuse2': '#76ee00', + \ 'chartreuse3': '#66cd00', + \ 'chartreuse4': '#458b00', + \ 'olivedrab1': '#c0ff3e', + \ 'olivedrab2': '#b3ee3a', + \ 'olivedrab3': '#9acd32', + \ 'olivedrab4': '#698b22', + \ 'darkolivegreen1': '#caff70', + \ 'darkolivegreen2': '#bcee68', + \ 'darkolivegreen3': '#a2cd5a', + \ 'darkolivegreen4': '#6e8b3d', + \ 'khaki1': '#fff68f', + \ 'khaki2': '#eee685', + \ 'khaki3': '#cdc673', + \ 'khaki4': '#8b864e', + \ 'lightgoldenrod1': '#ffec8b', + \ 'lightgoldenrod2': '#eedc82', + \ 'lightgoldenrod3': '#cdbe70', + \ 'lightgoldenrod4': '#8b814c', + \ 'lightyellow1': '#ffffe0', + \ 'lightyellow2': '#eeeed1', + \ 'lightyellow3': '#cdcdb4', + \ 'lightyellow4': '#8b8b7a', + \ 'yellow1': '#ffff00', + \ 'yellow2': '#eeee00', + \ 'yellow3': '#cdcd00', + \ 'yellow4': '#8b8b00', + \ 'gold1': '#ffd700', + \ 'gold2': '#eec900', + \ 'gold3': '#cdad00', + \ 'gold4': '#8b7500', + \ 'goldenrod1': '#ffc125', + \ 'goldenrod2': '#eeb422', + \ 'goldenrod3': '#cd9b1d', + \ 'goldenrod4': '#8b6914', + \ 'darkgoldenrod1': '#ffb90f', + \ 'darkgoldenrod2': '#eead0e', + \ 'darkgoldenrod3': '#cd950c', + \ 'darkgoldenrod4': '#8b6508', + \ 'rosybrown1': '#ffc1c1', + \ 'rosybrown2': '#eeb4b4', + \ 'rosybrown3': '#cd9b9b', + \ 'rosybrown4': '#8b6969', + \ 'indianred1': '#ff6a6a', + \ 'indianred2': '#ee6363', + \ 'indianred3': '#cd5555', + \ 'indianred4': '#8b3a3a', + \ 'sienna1': '#ff8247', + \ 'sienna2': '#ee7942', + \ 'sienna3': '#cd6839', + \ 'sienna4': '#8b4726', + \ 'burlywood1': '#ffd39b', + \ 'burlywood2': '#eec591', + \ 'burlywood3': '#cdaa7d', + \ 'burlywood4': '#8b7355', + \ 'wheat1': '#ffe7ba', + \ 'wheat2': '#eed8ae', + \ 'wheat3': '#cdba96', + \ 'wheat4': '#8b7e66', + \ 'tan1': '#ffa54f', + \ 'tan2': '#ee9a49', + \ 'tan3': '#cd853f', + \ 'tan4': '#8b5a2b', + \ 'chocolate1': '#ff7f24', + \ 'chocolate2': '#ee7621', + \ 'chocolate3': '#cd661d', + \ 'chocolate4': '#8b4513', + \ 'firebrick1': '#ff3030', + \ 'firebrick2': '#ee2c2c', + \ 'firebrick3': '#cd2626', + \ 'firebrick4': '#8b1a1a', + \ 'brown1': '#ff4040', + \ 'brown2': '#ee3b3b', + \ 'brown3': '#cd3333', + \ 'brown4': '#8b2323', + \ 'salmon1': '#ff8c69', + \ 'salmon2': '#ee8262', + \ 'salmon3': '#cd7054', + \ 'salmon4': '#8b4c39', + \ 'lightsalmon1': '#ffa07a', + \ 'lightsalmon2': '#ee9572', + \ 'lightsalmon3': '#cd8162', + \ 'lightsalmon4': '#8b5742', + \ 'orange1': '#ffa500', + \ 'orange2': '#ee9a00', + \ 'orange3': '#cd8500', + \ 'orange4': '#8b5a00', + \ 'darkorange1': '#ff7f00', + \ 'darkorange2': '#ee7600', + \ 'darkorange3': '#cd6600', + \ 'darkorange4': '#8b4500', + \ 'coral1': '#ff7256', + \ 'coral2': '#ee6a50', + \ 'coral3': '#cd5b45', + \ 'coral4': '#8b3e2f', + \ 'tomato1': '#ff6347', + \ 'tomato2': '#ee5c42', + \ 'tomato3': '#cd4f39', + \ 'tomato4': '#8b3626', + \ 'orangered1': '#ff4500', + \ 'orangered2': '#ee4000', + \ 'orangered3': '#cd3700', + \ 'orangered4': '#8b2500', + \ 'red1': '#ff0000', + \ 'red2': '#ee0000', + \ 'red3': '#cd0000', + \ 'red4': '#8b0000', + \ 'deeppink1': '#ff1493', + \ 'deeppink2': '#ee1289', + \ 'deeppink3': '#cd1076', + \ 'deeppink4': '#8b0a50', + \ 'hotpink1': '#ff6eb4', + \ 'hotpink2': '#ee6aa7', + \ 'hotpink3': '#cd6090', + \ 'hotpink4': '#8b3a62', + \ 'pink1': '#ffb5c5', + \ 'pink2': '#eea9b8', + \ 'pink3': '#cd919e', + \ 'pink4': '#8b636c', + \ 'lightpink1': '#ffaeb9', + \ 'lightpink2': '#eea2ad', + \ 'lightpink3': '#cd8c95', + \ 'lightpink4': '#8b5f65', + \ 'palevioletred1': '#ff82ab', + \ 'palevioletred2': '#ee799f', + \ 'palevioletred3': '#cd6889', + \ 'palevioletred4': '#8b475d', + \ 'maroon1': '#ff34b3', + \ 'maroon2': '#ee30a7', + \ 'maroon3': '#cd2990', + \ 'maroon4': '#8b1c62', + \ 'violetred1': '#ff3e96', + \ 'violetred2': '#ee3a8c', + \ 'violetred3': '#cd3278', + \ 'violetred4': '#8b2252', + \ 'magenta1': '#ff00ff', + \ 'magenta2': '#ee00ee', + \ 'magenta3': '#cd00cd', + \ 'magenta4': '#8b008b', + \ 'orchid1': '#ff83fa', + \ 'orchid2': '#ee7ae9', + \ 'orchid3': '#cd69c9', + \ 'orchid4': '#8b4789', + \ 'plum1': '#ffbbff', + \ 'plum2': '#eeaeee', + \ 'plum3': '#cd96cd', + \ 'plum4': '#8b668b', + \ 'mediumorchid1': '#e066ff', + \ 'mediumorchid2': '#d15fee', + \ 'mediumorchid3': '#b452cd', + \ 'mediumorchid4': '#7a378b', + \ 'darkorchid1': '#bf3eff', + \ 'darkorchid2': '#b23aee', + \ 'darkorchid3': '#9a32cd', + \ 'darkorchid4': '#68228b', + \ 'purple1': '#9b30ff', + \ 'purple2': '#912cee', + \ 'purple3': '#7d26cd', + \ 'purple4': '#551a8b', + \ 'mediumpurple1': '#ab82ff', + \ 'mediumpurple2': '#9f79ee', + \ 'mediumpurple3': '#8968cd', + \ 'mediumpurple4': '#5d478b', + \ 'thistle1': '#ffe1ff', + \ 'thistle2': '#eed2ee', + \ 'thistle3': '#cdb5cd', + \ 'thistle4': '#8b7b8b', + \ 'gray0': '#000000', + \ 'grey0': '#000000', + \ 'gray1': '#030303', + \ 'grey1': '#030303', + \ 'gray2': '#050505', + \ 'grey2': '#050505', + \ 'gray3': '#080808', + \ 'grey3': '#080808', + \ 'gray4': '#0a0a0a', + \ 'grey4': '#0a0a0a', + \ 'gray5': '#0d0d0d', + \ 'grey5': '#0d0d0d', + \ 'gray6': '#0f0f0f', + \ 'grey6': '#0f0f0f', + \ 'gray7': '#121212', + \ 'grey7': '#121212', + \ 'gray8': '#141414', + \ 'grey8': '#141414', + \ 'gray9': '#171717', + \ 'grey9': '#171717', + \ 'gray10': '#1a1a1a', + \ 'grey10': '#1a1a1a', + \ 'gray11': '#1c1c1c', + \ 'grey11': '#1c1c1c', + \ 'gray12': '#1f1f1f', + \ 'grey12': '#1f1f1f', + \ 'gray13': '#212121', + \ 'grey13': '#212121', + \ 'gray14': '#242424', + \ 'grey14': '#242424', + \ 'gray15': '#262626', + \ 'grey15': '#262626', + \ 'gray16': '#292929', + \ 'grey16': '#292929', + \ 'gray17': '#2b2b2b', + \ 'grey17': '#2b2b2b', + \ 'gray18': '#2e2e2e', + \ 'grey18': '#2e2e2e', + \ 'gray19': '#303030', + \ 'grey19': '#303030', + \ 'gray20': '#333333', + \ 'grey20': '#333333', + \ 'gray21': '#363636', + \ 'grey21': '#363636', + \ 'gray22': '#383838', + \ 'grey22': '#383838', + \ 'gray23': '#3b3b3b', + \ 'grey23': '#3b3b3b', + \ 'gray24': '#3d3d3d', + \ 'grey24': '#3d3d3d', + \ 'gray25': '#404040', + \ 'grey25': '#404040', + \ 'gray26': '#424242', + \ 'grey26': '#424242', + \ 'gray27': '#454545', + \ 'grey27': '#454545', + \ 'gray28': '#474747', + \ 'grey28': '#474747', + \ 'gray29': '#4a4a4a', + \ 'grey29': '#4a4a4a', + \ 'gray30': '#4d4d4d', + \ 'grey30': '#4d4d4d', + \ 'gray31': '#4f4f4f', + \ 'grey31': '#4f4f4f', + \ 'gray32': '#525252', + \ 'grey32': '#525252', + \ 'gray33': '#545454', + \ 'grey33': '#545454', + \ 'gray34': '#575757', + \ 'grey34': '#575757', + \ 'gray35': '#595959', + \ 'grey35': '#595959', + \ 'gray36': '#5c5c5c', + \ 'grey36': '#5c5c5c', + \ 'gray37': '#5e5e5e', + \ 'grey37': '#5e5e5e', + \ 'gray38': '#616161', + \ 'grey38': '#616161', + \ 'gray39': '#636363', + \ 'grey39': '#636363', + \ 'gray40': '#666666', + \ 'grey40': '#666666', + \ 'gray41': '#696969', + \ 'grey41': '#696969', + \ 'gray42': '#6b6b6b', + \ 'grey42': '#6b6b6b', + \ 'gray43': '#6e6e6e', + \ 'grey43': '#6e6e6e', + \ 'gray44': '#707070', + \ 'grey44': '#707070', + \ 'gray45': '#737373', + \ 'grey45': '#737373', + \ 'gray46': '#757575', + \ 'grey46': '#757575', + \ 'gray47': '#787878', + \ 'grey47': '#787878', + \ 'gray48': '#7a7a7a', + \ 'grey48': '#7a7a7a', + \ 'gray49': '#7d7d7d', + \ 'grey49': '#7d7d7d', + \ 'gray50': '#7f7f7f', + \ 'grey50': '#7f7f7f', + \ 'gray51': '#828282', + \ 'grey51': '#828282', + \ 'gray52': '#858585', + \ 'grey52': '#858585', + \ 'gray53': '#878787', + \ 'grey53': '#878787', + \ 'gray54': '#8a8a8a', + \ 'grey54': '#8a8a8a', + \ 'gray55': '#8c8c8c', + \ 'grey55': '#8c8c8c', + \ 'gray56': '#8f8f8f', + \ 'grey56': '#8f8f8f', + \ 'gray57': '#919191', + \ 'grey57': '#919191', + \ 'gray58': '#949494', + \ 'grey58': '#949494', + \ 'gray59': '#969696', + \ 'grey59': '#969696', + \ 'gray60': '#999999', + \ 'grey60': '#999999', + \ 'gray61': '#9c9c9c', + \ 'grey61': '#9c9c9c', + \ 'gray62': '#9e9e9e', + \ 'grey62': '#9e9e9e', + \ 'gray63': '#a1a1a1', + \ 'grey63': '#a1a1a1', + \ 'gray64': '#a3a3a3', + \ 'grey64': '#a3a3a3', + \ 'gray65': '#a6a6a6', + \ 'grey65': '#a6a6a6', + \ 'gray66': '#a8a8a8', + \ 'grey66': '#a8a8a8', + \ 'gray67': '#ababab', + \ 'grey67': '#ababab', + \ 'gray68': '#adadad', + \ 'grey68': '#adadad', + \ 'gray69': '#b0b0b0', + \ 'grey69': '#b0b0b0', + \ 'gray70': '#b3b3b3', + \ 'grey70': '#b3b3b3', + \ 'gray71': '#b5b5b5', + \ 'grey71': '#b5b5b5', + \ 'gray72': '#b8b8b8', + \ 'grey72': '#b8b8b8', + \ 'gray73': '#bababa', + \ 'grey73': '#bababa', + \ 'gray74': '#bdbdbd', + \ 'grey74': '#bdbdbd', + \ 'gray75': '#bfbfbf', + \ 'grey75': '#bfbfbf', + \ 'gray76': '#c2c2c2', + \ 'grey76': '#c2c2c2', + \ 'gray77': '#c4c4c4', + \ 'grey77': '#c4c4c4', + \ 'gray78': '#c7c7c7', + \ 'grey78': '#c7c7c7', + \ 'gray79': '#c9c9c9', + \ 'grey79': '#c9c9c9', + \ 'gray80': '#cccccc', + \ 'grey80': '#cccccc', + \ 'gray81': '#cfcfcf', + \ 'grey81': '#cfcfcf', + \ 'gray82': '#d1d1d1', + \ 'grey82': '#d1d1d1', + \ 'gray83': '#d4d4d4', + \ 'grey83': '#d4d4d4', + \ 'gray84': '#d6d6d6', + \ 'grey84': '#d6d6d6', + \ 'gray85': '#d9d9d9', + \ 'grey85': '#d9d9d9', + \ 'gray86': '#dbdbdb', + \ 'grey86': '#dbdbdb', + \ 'gray87': '#dedede', + \ 'grey87': '#dedede', + \ 'gray88': '#e0e0e0', + \ 'grey88': '#e0e0e0', + \ 'gray89': '#e3e3e3', + \ 'grey89': '#e3e3e3', + \ 'gray90': '#e5e5e5', + \ 'grey90': '#e5e5e5', + \ 'gray91': '#e8e8e8', + \ 'grey91': '#e8e8e8', + \ 'gray92': '#ebebeb', + \ 'grey92': '#ebebeb', + \ 'gray93': '#ededed', + \ 'grey93': '#ededed', + \ 'gray94': '#f0f0f0', + \ 'grey94': '#f0f0f0', + \ 'gray95': '#f2f2f2', + \ 'grey95': '#f2f2f2', + \ 'gray96': '#f5f5f5', + \ 'grey96': '#f5f5f5', + \ 'gray97': '#f7f7f7', + \ 'grey97': '#f7f7f7', + \ 'gray98': '#fafafa', + \ 'grey98': '#fafafa', + \ 'gray99': '#fcfcfc', + \ 'grey99': '#fcfcfc', + \ 'gray100': '#ffffff', + \ 'grey100': '#ffffff', + \ 'dark grey': '#a9a9a9', + \ 'darkgrey': '#a9a9a9', + \ 'dark gray': '#a9a9a9', + \ 'darkgray': '#a9a9a9', + \ 'dark blue': '#00008b', + \ 'darkblue': '#00008b', + \ 'dark cyan': '#008b8b', + \ 'darkcyan': '#008b8b', + \ 'dark magenta': '#8b008b', + \ 'darkmagenta': '#8b008b', + \ 'dark red': '#8b0000', + \ 'darkred': '#8b0000', + \ 'light green': '#90ee90', + \ 'lightgreen': '#90ee90', + \ 'crimson': '#dc143c', + \ 'indigo': '#4b0082', + \ 'olive': '#808000', + \ 'rebecca purple': '#663399', + \ 'rebeccapurple': '#663399', + \ 'silver': '#c0c0c0', + \ 'teal': '#008080' + \ }, 'keep') + + let &cpo= s:keepcpo + unlet s:keepcpo + + "vim: sw=4 *** ../vim-8.2.3561/runtime/doc/eval.txt 2021-10-20 11:01:10.756166697 +0100 --- runtime/doc/eval.txt 2021-10-24 19:54:47.395352340 +0100 *************** *** 1827,1832 **** --- 1840,1882 ---- command. See |multi-lang|. + *v:colornames* + v:colornames A dictionary that maps color names to hex color strings. These + color names can be used with the |highlight-guifg|, + |highlight-guibg|, and |highlight-guisp| parameters. Updating + an entry in v:colornames has no immediate effect on the syntax + highlighting. The highlight commands (probably in a + colorscheme script) need to be re-evaluated in order to use + the updated color values. For example: > + + :let v:colornames['fuscia'] = '#cf3ab4' + :let v:colornames['mauve'] = '#915f6d' + :highlight Normal guifg=fuscia guibg=mauve + < + This cannot be used to override the |cterm-colors| but it can + be used to override other colors. For example, the X11 colors + defined in the `colors/lists/default.vim` (previously defined + in |rgb.txt|). When defining new color names in a plugin, the + recommended practice is to set a color entry only when it does + not already exist. For example: > + + :call extend(v:colornames, { + \ 'fuscia': '#cf3ab4', + \ 'mauve': '#915f6d, + \ }, 'keep') + < + Using |extend| with the 'keep' option updates each color only + if it did not exist in |v:colornames|. Doing so allows the + user to choose the precise color value for a common name + by setting it in their |.vimrc|. + + It is possible to remove entries from this dictionary but + doing so is *NOT* recommended. Doing so is disruptive to + other scripts. It is also unlikely to achieve the desired + result because the |colorscheme| and |highlight| commands will + both automatically load all `colors/lists/default.vim` color + scripts. + *v:completed_item* *completed_item-variable* v:completed_item |Dictionary| containing the |complete-items| for the most *** ../vim-8.2.3561/runtime/doc/gui_w32.txt 2021-01-31 16:02:06.250490190 +0000 --- runtime/doc/gui_w32.txt 2021-10-24 19:59:32.531234204 +0100 *************** *** 323,342 **** Gray, Grey, LightYellow, SeaGreen, Orange, Purple, SlateBlue, Violet, *rgb.txt* ! Additionally, colors defined by a "rgb.txt" file can be used. This file is ! well known from X11. A few lines from it: > ! ! 255 218 185 peach puff ! 205 133 63 peru ! 255 181 197 pink ! ! This shows the layout of the file: First the R, G and B value as a decimal ! number, followed by the name of the color. The four fields are separated by ! spaces. ! ! You can get an rgb.txt file from any X11 distribution. It is located in a ! directory like "/usr/X11R6/lib/X11/". For Vim it must be located in the ! $VIMRUNTIME directory. Thus the file can be found with "$VIMRUNTIME/rgb.txt". ============================================================================== *gui-w32-dialogs* *dialog* --- 323,332 ---- Gray, Grey, LightYellow, SeaGreen, Orange, Purple, SlateBlue, Violet, *rgb.txt* ! Additionally, colors defined by a default color list can be used. For more ! info see |:colorscheme|. These colors used to be defined in ! $VIMRUNTIME/rgb.txt, now they are in |v:colornames| which is initialized from ! $VIMRUNTIME/colors/lists/default.vim. ============================================================================== *gui-w32-dialogs* *dialog* *** ../vim-8.2.3561/runtime/doc/message.txt 2021-01-31 16:02:06.254490174 +0000 --- runtime/doc/message.txt 2021-10-24 19:54:47.395352340 +0100 *************** *** 141,146 **** --- 141,151 ---- The color name {name} is unknown. See |gui-colors| for a list of colors that are available on most systems. + *E1244* > + Bad color string: {str} + + The provided color did not conform to the pattern #rrggbb + *E458* > Cannot allocate colormap entry, some colors may be incorrect *** ../vim-8.2.3561/runtime/doc/os_haiku.txt 2021-01-31 16:02:06.258490157 +0000 --- runtime/doc/os_haiku.txt 2021-10-24 19:54:47.395352340 +0100 *************** *** 194,202 **** 11. Color names *haiku-colors* ! Vim has a number of color names built-in. Additional names are read from the ! file $VIMRUNTIME/rgb.txt, if present. This file is basically the color ! database from X. Names used from this file are cached for efficiency. 12. GUI Toolbar Images *haiku-toolbar-images* --- 194,201 ---- 11. Color names *haiku-colors* ! Vim has a number of color names built-in. Additional names can be defined in ! |v:colornames|. See |:colorscheme| for details. 12. GUI Toolbar Images *haiku-toolbar-images* *** ../vim-8.2.3561/runtime/doc/syntax.txt 2021-01-31 16:02:06.262490144 +0000 --- runtime/doc/syntax.txt 2021-10-24 19:54:47.395352340 +0100 *************** *** 5110,5117 **** "gg" is the Green value "bb" is the Blue value All values are hexadecimal, range from "00" to "ff". Examples: > ! :highlight Comment guifg=#11f0c3 guibg=#ff00ff < *highlight-groups* *highlight-default* These are the default highlighting groups. These groups are used by the 'highlight' option default. Note that the highlighting depends on the value --- 5147,5181 ---- "gg" is the Green value "bb" is the Blue value All values are hexadecimal, range from "00" to "ff". Examples: > ! :highlight Comment guifg=#11f0c3 guibg=#ff00ff ! < ! If you are authoring a color scheme and use the same hexademical value ! repeatedly, you can define a name for it in |v:colornames|. For ! example: > ! ! # provide a default value for this color but allow the user to ! # override it. ! :call extend(v:colornames, {'alt_turquoise': '#11f0c3'}, 'keep') ! :highlight Comment guifg=alt_turquoise guibg=magenta ! < ! If you are using a color scheme that relies on named colors and you ! would like to adjust the precise appearance of those colors, you can ! do so by overriding the values in |v:colornames| prior to loading the ! scheme: > ! ! let v:colornames['alt_turquoise'] = '#22f0d3' ! colorscheme alt ! < ! If you want to develop a color list that can be relied on by others, ! it is best to prefix your color names. By convention these color lists ! are placed in the colors/lists directory. You can see an example in ! '$VIMRUNTIME/colors/lists/csscolors.vim'. This list would be sourced ! by a color scheme using: > ! ! :runtime colors/lists/csscolors.vim ! :highlight Comment guifg=css_turquoise < + *highlight-groups* *highlight-default* These are the default highlighting groups. These groups are used by the 'highlight' option default. Note that the highlighting depends on the value *** ../vim-8.2.3561/runtime/doc/usr_06.txt 2019-12-12 11:49:07.000000000 +0000 --- runtime/doc/usr_06.txt 2021-10-24 19:54:47.395352340 +0100 *************** *** 184,190 **** :runtime syntax/colortest.vim You will see text in various color combinations. You can check which ones are ! readable and look nice. ============================================================================== *06.4* With colors or without colors --- 184,213 ---- :runtime syntax/colortest.vim You will see text in various color combinations. You can check which ones are ! readable and look nice. These aren't the only colors available to you though. ! You can specify #rrggbb hex colors and you can define new names for hex ! colors in |v:colornames| like so: > ! ! let v:colornames['mine_red'] = '#aa0000' ! < ! If you are authoring a color scheme for others to use, it is important ! to define these colors only when they do not exist: > ! ! call extend(v:colornames, {'mine_red': '#aa0000'}, 'keep') ! ! This allows users of the color scheme to override the precise definition of ! that color prior to loading your color scheme. For example, in a |.vimrc| ! file: ! ! runtime colors/lists/css_colors.vim ! let v:colornames['your_red'] = v:colornames['css_red'] ! colorscheme yourscheme ! ! As a color scheme author, you should be able to rely on some color names for ! GUI colors. These are defined in `colors/lists/default.vim`. All such files ! found on the |runtimepath| are loaded each time the colorscheme command is ! run. A canonical list is provided by the vim distribution, which should ! include all X11 colors (previously defined in rgb.txt). ============================================================================== *06.4* With colors or without colors *** ../vim-8.2.3561/src/Makefile 2021-10-14 16:27:15.489292521 +0100 --- src/Makefile 2021-10-24 19:54:47.399352394 +0100 *************** *** 1136,1144 **** ### Name of the bugreport file target. SYS_BUGR_FILE = $(DESTDIR)$(SCRIPTLOC)/bugreport.vim - ### Name of the rgb.txt file target. - SYS_RGB_FILE = $(DESTDIR)$(SCRIPTLOC)/rgb.txt - ### Name of the file type detection file target. SYS_FILETYPE_FILE = $(DESTDIR)$(SCRIPTLOC)/filetype.vim --- 1136,1141 ---- *************** *** 2449,2457 **** chmod $(VIMSCRIPTMOD) $(EVIM_FILE) $(INSTALL_DATA) $(SCRIPTSOURCE)/mswin.vim $(MSWIN_FILE) chmod $(VIMSCRIPTMOD) $(MSWIN_FILE) - # install the rgb.txt file - $(INSTALL_DATA) $(SCRIPTSOURCE)/rgb.txt $(SYS_RGB_FILE) - chmod $(VIMSCRIPTMOD) $(SYS_RGB_FILE) # install the bugreport file $(INSTALL_DATA) $(SCRIPTSOURCE)/bugreport.vim $(SYS_BUGR_FILE) chmod $(VIMSCRIPTMOD) $(SYS_BUGR_FILE) --- 2446,2451 ---- *************** *** 2481,2487 **** cd $(PRINTSOURCE); $(INSTALL_DATA) *.ps $(DEST_PRINT) cd $(DEST_PRINT); chmod $(FILEMOD) *.ps # install the colorscheme files ! cd $(COLSOURCE); $(INSTALL_DATA_R) *.vim tools README.txt $(DEST_COL) cd $(DEST_COL); chmod $(DIRMOD) tools cd $(DEST_COL); chmod $(HELPMOD) *.vim README.txt tools/*.vim # install the syntax files --- 2475,2481 ---- cd $(PRINTSOURCE); $(INSTALL_DATA) *.ps $(DEST_PRINT) cd $(DEST_PRINT); chmod $(FILEMOD) *.ps # install the colorscheme files ! cd $(COLSOURCE); $(INSTALL_DATA_R) *.vim lists tools README.txt $(DEST_COL) cd $(DEST_COL); chmod $(DIRMOD) tools cd $(DEST_COL); chmod $(HELPMOD) *.vim README.txt tools/*.vim # install the syntax files *************** *** 2894,2900 **** -rm -f $(DEST_MAN_RU)/xxd.1 $(DEST_MAN_RU_U)/xxd.1 -rm -f $(DEST_HELP)/*.txt $(DEST_HELP)/tags $(DEST_HELP)/*.pl -rm -f $(DEST_HELP)/*.??x $(DEST_HELP)/tags-?? - -rm -f $(SYS_RGB_FILE) -rm -f $(SYS_MENU_FILE) $(SYS_SYNMENU_FILE) $(SYS_DELMENU_FILE) -rm -f $(SYS_BUGR_FILE) $(VIM_DEFAULTS_FILE) $(EVIM_FILE) $(MSWIN_FILE) -rm -f $(DEST_SCRIPT)/gvimrc_example.vim $(DEST_SCRIPT)/vimrc_example.vim --- 2888,2893 ---- *************** *** 3666,3677 **** # This rule: # - add resources to already installed vim binary to avoid # stripping them during install; - # - copy rgb.txt to runtime directory; # - update system MIME database with info about vim application. # install_haiku_extra: $(DEST_BIN)/$(VIMTARGET) objects/os_haiku.rsrc xres -o $(DEST_BIN)/$(VIMTARGET) objects/os_haiku.rsrc - $(INSTALL_DATA) $(SCRIPTSOURCE)/rgb.txt $(DEST_RT) mimeset $(DEST_BIN)/$(VIMTARGET) # List of g*-links that should be replaced with shell script equivalents. --- 3659,3668 ---- *** ../vim-8.2.3561/src/evalvars.c 2021-10-15 00:18:32.890481145 +0100 --- src/evalvars.c 2021-10-24 19:54:47.399352394 +0100 *************** *** 149,154 **** --- 149,155 ---- {VV_NAME("argv", VAR_LIST), VV_RO}, {VV_NAME("collate", VAR_STRING), VV_RO}, {VV_NAME("exiting", VAR_SPECIAL), VV_RO}, + {VV_NAME("colornames", VAR_DICT), VV_RO}, }; // shorthand *************** *** 248,253 **** --- 249,256 ---- set_vim_var_nr(VV_ECHOSPACE, sc_col - 1); + set_vim_var_dict(VV_COLORNAMES, dict_alloc()); + // Default for v:register is not 0 but '"'. This is adjusted once the // clipboard has been setup by calling reset_reg_var(). set_reg_var(0); *** ../vim-8.2.3561/src/gui_haiku.cc 2021-06-02 12:28:11.431120460 +0100 --- src/gui_haiku.cc 2021-10-24 19:54:47.399352394 +0100 *************** *** 4054,4217 **** gui_mch_get_color( char_u *name) { ! typedef struct GuiColourTable ! { ! const char *name; ! guicolor_T colour; ! } GuiColourTable; ! ! #define NSTATIC_COLOURS 50 // 32 ! #define NDYNAMIC_COLOURS 33 ! #define NCOLOURS (NSTATIC_COLOURS + NDYNAMIC_COLOURS) ! ! static GuiColourTable table[NCOLOURS] = ! { ! {"Black", RGB(0x00, 0x00, 0x00)}, ! {"DarkGray", RGB(0x80, 0x80, 0x80)}, ! {"DarkGrey", RGB(0x80, 0x80, 0x80)}, ! {"Gray", RGB(0xC0, 0xC0, 0xC0)}, ! {"Grey", RGB(0xC0, 0xC0, 0xC0)}, ! {"LightGray", RGB(0xD3, 0xD3, 0xD3)}, ! {"LightGrey", RGB(0xD3, 0xD3, 0xD3)}, ! {"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)}, ! {"White", RGB(0xFF, 0xFF, 0xFF)}, ! {"DarkRed", RGB(0x80, 0x00, 0x00)}, ! {"Red", RGB(0xFF, 0x00, 0x00)}, ! {"LightRed", RGB(0xFF, 0xA0, 0xA0)}, ! {"DarkBlue", RGB(0x00, 0x00, 0x80)}, ! {"Blue", RGB(0x00, 0x00, 0xFF)}, ! {"LightBlue", RGB(0xA0, 0xA0, 0xFF)}, ! {"DarkGreen", RGB(0x00, 0x80, 0x00)}, ! {"Green", RGB(0x00, 0xFF, 0x00)}, ! {"LightGreen", RGB(0xA0, 0xFF, 0xA0)}, ! {"DarkCyan", RGB(0x00, 0x80, 0x80)}, ! {"Cyan", RGB(0x00, 0xFF, 0xFF)}, ! {"LightCyan", RGB(0xA0, 0xFF, 0xFF)}, ! {"DarkMagenta", RGB(0x80, 0x00, 0x80)}, ! {"Magenta", RGB(0xFF, 0x00, 0xFF)}, ! {"LightMagenta", RGB(0xFF, 0xA0, 0xFF)}, ! {"Brown", RGB(0x80, 0x40, 0x40)}, ! {"Yellow", RGB(0xFF, 0xFF, 0x00)}, ! {"LightYellow", RGB(0xFF, 0xFF, 0xA0)}, ! {"DarkYellow", RGB(0xBB, 0xBB, 0x00)}, ! {"SeaGreen", RGB(0x2E, 0x8B, 0x57)}, ! {"Orange", RGB(0xFF, 0xA5, 0x00)}, ! {"Purple", RGB(0xA0, 0x20, 0xF0)}, ! {"SlateBlue", RGB(0x6A, 0x5A, 0xCD)}, ! {"Violet", RGB(0xEE, 0x82, 0xEE)}, ! // NOTE: some entries are zero-allocated for NDDYNAMIC_COLORS ! // in this table! ! }; ! ! static int endColour = NSTATIC_COLOURS; ! static int newColour = NSTATIC_COLOURS; ! ! int r, g, b; ! int i; ! ! if (name[0] == '#' && STRLEN(name) == 7) ! { ! // Name is in "#rrggbb" format ! r = hex_digit(name[1]) * 16 + hex_digit(name[2]); ! g = hex_digit(name[3]) * 16 + hex_digit(name[4]); ! b = hex_digit(name[5]) * 16 + hex_digit(name[6]); ! if (r < 0 || g < 0 || b < 0) ! return INVALCOLOR; ! return RGB(r, g, b); ! } ! else ! { ! // Check if the name is one of the colours we know ! for (i = 0; i < endColour; i++) ! if (STRICMP(name, table[i].name) == 0) ! return table[i].colour; ! } ! ! /* ! * Last attempt. Look in the file "$VIMRUNTIME/rgb.txt". ! */ ! { ! #define LINE_LEN 100 ! FILE *fd; ! char line[LINE_LEN]; ! char_u *fname; ! ! 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) ! return INVALCOLOR; ! ! while (!feof(fd)) ! { ! int len; ! int pos; ! char *colour; ! ! 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; ! ! colour = line + pos; ! ! if (STRICMP(colour, name) == 0) ! { ! fclose(fd); ! /* ! * Now remember this colour in the table. ! * A LRU scheme might be better but this is simpler. ! * Or could use a growing array. ! */ ! guicolor_T gcolour = RGB(r,g,b); ! ! // NOTE: see note above in table allocation! We are working here with ! // dynamically allocated names, not constant ones! ! vim_free((char*)table[newColour].name); ! table[newColour].name = (char *)vim_strsave((char_u *)colour); ! table[newColour].colour = gcolour; ! ! newColour++; ! if (newColour >= NCOLOURS) ! newColour = NSTATIC_COLOURS; ! if (endColour < NCOLOURS) ! endColour = newColour; ! ! return gcolour; ! } ! } ! ! fclose(fd); ! } ! ! return INVALCOLOR; } /* --- 4054,4060 ---- gui_mch_get_color( char_u *name) { ! return gui_get_color_cmn(name); } /* *** ../vim-8.2.3561/src/highlight.c 2021-10-19 20:24:30.689798876 +0100 --- src/highlight.c 2021-10-24 20:12:11.193142440 +0100 *************** *** 475,480 **** --- 475,483 ---- buf = alloc(STRLEN(name) + 12); if (buf != NULL) { + #ifdef FEAT_EVAL + load_default_colors_lists(); + #endif apply_autocmds(EVENT_COLORSCHEMEPRE, name, curbuf->b_fname, FALSE, curbuf); sprintf((char *)buf, "colors/%s.vim", name); *************** *** 1190,1196 **** HL_TABLE()[idx].sg_set |= SG_GUI; # if defined(FEAT_GUI) || defined(FEAT_TERMGUICOLORS) ! // In GUI guifg colors are only used when recognized i = color_name2handle(arg); if (i != INVALCOLOR || STRCMP(arg, "NONE") == 0 || !USE_24BIT) { --- 1193,1199 ---- HL_TABLE()[idx].sg_set |= SG_GUI; # if defined(FEAT_GUI) || defined(FEAT_TERMGUICOLORS) ! // In GUI guibg colors are only used when recognized i = color_name2handle(arg); if (i != INVALCOLOR || STRCMP(arg, "NONE") == 0 || !USE_24BIT) { *************** *** 2231,2236 **** --- 2234,2467 ---- return GUI_GET_COLOR(name); } + + // On MS-Windows an RGB macro is available and it produces 0x00bbggrr color + // values as used by the MS-Windows GDI api. It should be used only for + // MS-Windows GDI builds. + # if defined(RGB) && defined(MSWIN) && !defined(FEAT_GUI) + # undef RGB + # endif + # ifndef RGB + # define RGB(r, g, b) ((r<<16) | (g<<8) | (b)) + # endif + + # ifdef VIMDLL + static guicolor_T + gui_adjust_rgb(guicolor_T c) + { + if (gui.in_use) + return c; + else + return ((c & 0xff) << 16) | (c & 0x00ff00) | ((c >> 16) & 0xff); + } + # else + # define gui_adjust_rgb(c) (c) + # endif + + static int + hex_digit(int c) + { + if (isdigit(c)) + return c - '0'; + c = TOLOWER_ASC(c); + if (c >= 'a' && c <= 'f') + return c - 'a' + 10; + return 0x1ffffff; + } + + guicolor_T + decode_hex_color(char_u *hex) + { + guicolor_T color; + + if (hex[0] != '#' || STRLEN(hex) != 7) + return INVALCOLOR; + + // Name is in "#rrggbb" format + color = RGB(((hex_digit(hex[1]) << 4) + hex_digit(hex[2])), + ((hex_digit(hex[3]) << 4) + hex_digit(hex[4])), + ((hex_digit(hex[5]) << 4) + hex_digit(hex[6]))); + if (color > 0xffffff) + return INVALCOLOR; + return gui_adjust_rgb(color); + } + + #if defined(FEAT_EVAL) + // Returns the color currently mapped to the given name or INVALCOLOR if no + // such name exists in the color table. The convention is to use lowercase for + // all keys in the v:colornames dictionary. The value can be either a string in + // the form #rrggbb or a number, either of which is converted to a guicolor_T. + guicolor_T + colorname2rgb(char_u *name) + { + dict_T *colornames_table = get_vim_var_dict(VV_COLORNAMES); + char_u *lc_name; + dictitem_T *colentry; + char_u *colstr; + varnumber_T colnum; + + lc_name = strlow_save(name); + if (lc_name == NULL) + return INVALCOLOR; + + colentry = dict_find(colornames_table, lc_name, -1); + vim_free(lc_name); + if (colentry == NULL) + return INVALCOLOR; + + if (colentry->di_tv.v_type == VAR_STRING) + { + colstr = tv_get_string_strict(&colentry->di_tv); + if ((STRLEN(colstr) == 7) && (*colstr == '#')) + { + return decode_hex_color(colstr); + } + else + { + semsg(_(e_bad_color_string_str), colstr); + return INVALCOLOR; + } + } + + if (colentry->di_tv.v_type == VAR_NUMBER) + { + colnum = tv_get_number(&colentry->di_tv); + return (guicolor_T)colnum; + } + + return INVALCOLOR; + } + + // Maps the given name to the given color value, overwriting any current + // mapping. If allocation fails the named color will no longer exist in the + // table and the user will receive an error message. + void + save_colorname_hexstr(int r, int g, int b, char_u *name) + { + int result; + dict_T *colornames_table; + dictitem_T *existing; + char_u hexstr[8]; + + if (vim_snprintf((char *)hexstr, sizeof(hexstr), + "#%02x%02x%02x", r, g, b) < 0) + { + semsg(_(e_cannot_allocate_color_str), name); + return; + } + + colornames_table = get_vim_var_dict(VV_COLORNAMES); + // The colornames_table dict is safe to use here because it is allocated at + // startup in evalvars.c + existing = dict_find(colornames_table, name, -1); + if (existing != NULL) + { + dictitem_remove(colornames_table, existing); + existing = NULL; // dictitem_remove freed the item + } + + result = dict_add_string(colornames_table, (char *)name, hexstr); + if (result == FAIL) + semsg(_(e_cannot_allocate_color_str), name); + } + + /* + * Load a default color list. Intended to support legacy color names but allows + * the user to override the color values. Only loaded once. + */ + void + load_default_colors_lists() + { + // Lacking a default color list isn't the end of the world but it is likely + // an inconvenience so users should know when it is missing. + if (source_runtime((char_u *)"colors/lists/default.vim", DIP_ALL) != OK) + msg("failed to load colors/lists/default.vim"); + } + #endif + + guicolor_T + gui_get_color_cmn(char_u *name) + { + int i; + guicolor_T color; + + struct rgbcolor_table_S { + char_u *color_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)}, + {(char_u *)"brown", RGB(0xA5, 0x2A, 0x2A)}, + {(char_u *)"cyan", RGB(0x00, 0xFF, 0xFF)}, + {(char_u *)"darkblue", RGB(0x00, 0x00, 0x8B)}, + {(char_u *)"darkcyan", RGB(0x00, 0x8B, 0x8B)}, + {(char_u *)"darkgray", RGB(0xA9, 0xA9, 0xA9)}, + {(char_u *)"darkgreen", RGB(0x00, 0x64, 0x00)}, + {(char_u *)"darkgrey", RGB(0xA9, 0xA9, 0xA9)}, + {(char_u *)"darkmagenta", RGB(0x8B, 0x00, 0x8B)}, + {(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 *)"green", RGB(0x00, 0xFF, 0x00)}, + {(char_u *)"grey", RGB(0xBE, 0xBE, 0xBE)}, + {(char_u *)"grey40", RGB(0x66, 0x66, 0x66)}, + {(char_u *)"grey50", RGB(0x7F, 0x7F, 0x7F)}, + {(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)}, + {(char_u *)"lightgreen", RGB(0x90, 0xEE, 0x90)}, + {(char_u *)"lightgrey", RGB(0xD3, 0xD3, 0xD3)}, + {(char_u *)"lightmagenta", RGB(0xFF, 0x8B, 0xFF)}, // No X11 + {(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 *)"red", RGB(0xFF, 0x00, 0x00)}, + {(char_u *)"seagreen", RGB(0x2E, 0x8B, 0x57)}, + {(char_u *)"white", RGB(0xFF, 0xFF, 0xFF)}, + {(char_u *)"yellow", RGB(0xFF, 0xFF, 0x00)}, + }; + + color = decode_hex_color(name); + if (color != INVALCOLOR) + return color; + + // Check if the name is one of the colors we know + for (i = 0; i < (int)ARRAY_LENGTH(rgb_table); i++) + if (STRICMP(name, rgb_table[i].color_name) == 0) + return gui_adjust_rgb(rgb_table[i].color); + + #if defined(FEAT_EVAL) + /* + * Not a traditional color. Load additional color aliases and then consult the alias table. + */ + + color = colorname2rgb(name); + if (color == INVALCOLOR) + { + load_default_colors_lists(); + color = colorname2rgb(name); + } + + return color; + #else + return INVALCOLOR; + #endif + } + + guicolor_T + gui_get_rgb_color_cmn(int r, int g, int b) + { + guicolor_T color = RGB(r, g, b); + + if (color > 0xffffff) + return INVALCOLOR; + return gui_adjust_rgb(color); + } #endif /* *** ../vim-8.2.3561/src/gui.c 2021-10-16 20:52:01.772842109 +0100 --- src/gui.c 2021-10-24 20:09:46.527642536 +0100 *************** *** 4785,4791 **** && gui.in_use #endif ) ! semsg(_(e_alloc_color), name); return t; } --- 4785,4791 ---- && gui.in_use #endif ) ! semsg(_(e_cannot_allocate_color_str), name); return t; } *** ../vim-8.2.3561/src/job.c 2021-08-28 11:30:09.689044139 +0100 --- src/job.c 2021-10-24 20:10:37.660344367 +0100 *************** *** 559,565 **** { if (called_emsg_before == called_emsg) // may not get the error if the GUI didn't start ! semsg(_(e_alloc_color), color_name); return FAIL; } --- 559,565 ---- { if (called_emsg_before == called_emsg) // may not get the error if the GUI didn't start ! semsg(_(e_cannot_allocate_color_str), color_name); return FAIL; } *** ../vim-8.2.3561/src/proto/highlight.pro 2020-06-28 12:17:07.551811006 +0100 --- src/proto/highlight.pro 2021-10-24 20:12:45.561367537 +0100 *************** *** 14,19 **** --- 14,25 ---- void hl_set_bg_color_name(char_u *name); void hl_set_fg_color_name(char_u *name); guicolor_T color_name2handle(char_u *name); + guicolor_T decode_hex_color(char_u *hex); + guicolor_T colorname2rgb(char_u *name); + void save_colorname_hexstr(int r, int g, int b, char_u *name); + void load_default_colors_lists(void); + guicolor_T gui_get_color_cmn(char_u *name); + guicolor_T gui_get_rgb_color_cmn(int r, int g, int b); int get_cterm_attr_idx(int attr, int fg, int bg); int get_tgc_attr_idx(int attr, guicolor_T fg, guicolor_T bg); int get_gui_attr_idx(int attr, guicolor_T fg, guicolor_T bg); *** ../vim-8.2.3561/src/proto/term.pro 2021-04-11 12:29:13.194824346 +0100 --- src/proto/term.pro 2021-10-24 19:54:47.411352557 +0100 *************** *** 83,90 **** int show_one_termcode(char_u *name, char_u *code, int printit); void update_tcap(int attr); void swap_tcap(void); - guicolor_T gui_get_color_cmn(char_u *name); - guicolor_T gui_get_rgb_color_cmn(int r, int g, int b); void cterm_color2rgb(int nr, char_u *r, char_u *g, char_u *b, char_u *ansi_idx); void term_replace_bs_del_keycode(char_u *ta_buf, int ta_len, int len); /* vim: set ft=c : */ --- 83,88 ---- *** ../vim-8.2.3561/src/term.c 2021-08-02 17:07:15.186473836 +0100 --- src/term.c 2021-10-24 20:11:00.188653633 +0100 *************** *** 1353,1359 **** t = termgui_mch_get_color(name); if (t == INVALCOLOR) ! semsg(_(e_alloc_color), name); return t; } --- 1353,1359 ---- t = termgui_mch_get_color(name); if (t == INVALCOLOR) ! semsg(_(e_cannot_allocate_color_str), name); return t; } *************** *** 6630,6832 **** #endif - #if defined(FEAT_GUI) || defined(FEAT_TERMGUICOLORS) || defined(PROTO) - static int - hex_digit(int c) - { - if (isdigit(c)) - return c - '0'; - c = TOLOWER_ASC(c); - if (c >= 'a' && c <= 'f') - return c - 'a' + 10; - return 0x1ffffff; - } - - # ifdef VIMDLL - static guicolor_T - gui_adjust_rgb(guicolor_T c) - { - if (gui.in_use) - return c; - else - return ((c & 0xff) << 16) | (c & 0x00ff00) | ((c >> 16) & 0xff); - } - # else - # define gui_adjust_rgb(c) (c) - # endif - - guicolor_T - gui_get_color_cmn(char_u *name) - { - // On MS-Windows an RGB macro is available and it produces 0x00bbggrr color - // values as used by the MS-Windows GDI api. It should be used only for - // MS-Windows GDI builds. - # if defined(RGB) && defined(MSWIN) && !defined(FEAT_GUI) - # undef RGB - # endif - # ifndef RGB - # define RGB(r, g, b) ((r<<16) | (g<<8) | (b)) - # endif - # define LINE_LEN 100 - FILE *fd; - char line[LINE_LEN]; - char_u *fname; - int r, g, b, i; - guicolor_T color; - - struct rgbcolor_table_S { - char_u *color_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)}, - {(char_u *)"brown", RGB(0xA5, 0x2A, 0x2A)}, - {(char_u *)"cyan", RGB(0x00, 0xFF, 0xFF)}, - {(char_u *)"darkblue", RGB(0x00, 0x00, 0x8B)}, - {(char_u *)"darkcyan", RGB(0x00, 0x8B, 0x8B)}, - {(char_u *)"darkgray", RGB(0xA9, 0xA9, 0xA9)}, - {(char_u *)"darkgreen", RGB(0x00, 0x64, 0x00)}, - {(char_u *)"darkgrey", RGB(0xA9, 0xA9, 0xA9)}, - {(char_u *)"darkmagenta", RGB(0x8B, 0x00, 0x8B)}, - {(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 *)"green", RGB(0x00, 0xFF, 0x00)}, - {(char_u *)"grey", RGB(0xBE, 0xBE, 0xBE)}, - {(char_u *)"grey40", RGB(0x66, 0x66, 0x66)}, - {(char_u *)"grey50", RGB(0x7F, 0x7F, 0x7F)}, - {(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)}, - {(char_u *)"lightgreen", RGB(0x90, 0xEE, 0x90)}, - {(char_u *)"lightgrey", RGB(0xD3, 0xD3, 0xD3)}, - {(char_u *)"lightmagenta", RGB(0xFF, 0x8B, 0xFF)}, // No X11 - {(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 *)"red", RGB(0xFF, 0x00, 0x00)}, - {(char_u *)"seagreen", RGB(0x2E, 0x8B, 0x57)}, - {(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) - { - // Name is in "#rrggbb" format - color = RGB(((hex_digit(name[1]) << 4) + hex_digit(name[2])), - ((hex_digit(name[3]) << 4) + hex_digit(name[4])), - ((hex_digit(name[5]) << 4) + hex_digit(name[6]))); - if (color > 0xffffff) - return INVALCOLOR; - return gui_adjust_rgb(color); - } - - // Check if the name is one of the colors we know - for (i = 0; i < (int)ARRAY_LENGTH(rgb_table); i++) - if (STRICMP(name, rgb_table[i].color_name) == 0) - return gui_adjust_rgb(rgb_table[i].color); - - /* - * Last attempt. Look in the file "$VIMRUNTIME/rgb.txt". - */ - if (size == 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(_("Cannot open $VIMRUNTIME/rgb.txt")); - size = -1; // don't try again - return INVALCOLOR; - } - - for (counting = 1; counting >= 0; --counting) - { - if (!counting) - { - colornames_table = ALLOC_MULT(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; - - vim_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) - { - fclose(fd); - return INVALCOLOR; - } - colornames_table[size].color_name = s; - colornames_table[size].color = (guicolor_T)RGB(r, g, b); - } - size++; - - // The distributed rgb.txt has less than 1000 entries. Limit to - // 10000, just in case the file was messed up. - if (size == 10000) - break; - } - } - fclose(fd); - } - - for (i = 0; i < size; i++) - if (STRICMP(name, colornames_table[i].color_name) == 0) - return gui_adjust_rgb(colornames_table[i].color); - - return INVALCOLOR; - } - - guicolor_T - gui_get_rgb_color_cmn(int r, int g, int b) - { - guicolor_T color = RGB(r, g, b); - - if (color > 0xffffff) - return INVALCOLOR; - return gui_adjust_rgb(color); - } - #endif #if (defined(MSWIN) && (!defined(FEAT_GUI_MSWIN) || defined(VIMDLL))) || defined(FEAT_TERMINAL) \ || defined(PROTO) --- 6630,6635 ---- *** ../vim-8.2.3561/src/vim.h 2021-10-20 21:58:37.235792695 +0100 --- src/vim.h 2021-10-24 19:54:47.411352557 +0100 *************** *** 2044,2050 **** #define VV_ARGV 96 #define VV_COLLATE 97 #define VV_EXITING 98 ! #define VV_LEN 99 // number of v: vars // used for v_number in VAR_BOOL and VAR_SPECIAL #define VVAL_FALSE 0L // VAR_BOOL --- 2044,2051 ---- #define VV_ARGV 96 #define VV_COLLATE 97 #define VV_EXITING 98 ! #define VV_COLORNAMES 99 ! #define VV_LEN 100 // number of v: vars // used for v_number in VAR_BOOL and VAR_SPECIAL #define VVAL_FALSE 0L // VAR_BOOL *** ../vim-8.2.3561/src/globals.h 2021-10-23 13:32:27.227954893 +0100 --- src/globals.h 2021-10-24 20:08:29.574586603 +0100 *************** *** 1774,1782 **** EXTERN char e_lock_unlock[] INIT(= N_("E940: Cannot lock or unlock variable %s")); #endif - #if defined(FEAT_GUI) || defined(FEAT_TERMGUICOLORS) - EXTERN char e_alloc_color[] INIT(= N_("E254: Cannot allocate color %s")); - #endif EXTERN char e_chan_or_job_req[] INIT(= N_("E706: Channel or Job required")); EXTERN char e_jobreq[] INIT(= N_("E693: Job required")); --- 1774,1779 ---- *** ../vim-8.2.3561/src/errors.h 2021-10-20 17:21:20.367225487 +0100 --- src/errors.h 2021-10-24 20:10:20.256105464 +0100 *************** *** 147,152 **** --- 147,156 ---- EXTERN char e_no_digraphs_version[] INIT(= N_("E196: No digraphs in this version")); #endif + #if defined(FEAT_GUI) || defined(FEAT_TERMGUICOLORS) + EXTERN char e_cannot_allocate_color_str[] + INIT(= N_("E254: Cannot allocate color %s")); + #endif EXTERN char e_ambiguous_use_of_user_defined_command[] INIT(= N_("E464: Ambiguous use of user-defined command")); EXTERN char e_invalid_command[] *************** *** 678,680 **** --- 682,686 ---- INIT(= N_("E1242: No white space allowed before separator: %s")); EXTERN char e_ascii_code_not_in_range[] INIT(= N_("E1243: ASCII code not in 32-127 range")); + EXTERN char e_bad_color_string_str[] + INIT(= N_("E1244: Bad color string: %s")); *** ../vim-8.2.3561/src/testdir/test_highlight.vim 2021-01-19 16:22:50.644403009 +0000 --- src/testdir/test_highlight.vim 2021-10-24 19:54:47.411352557 +0100 *************** *** 934,937 **** --- 934,973 ---- hi clear endfunc + func Test_colornames_assignment_and_lookup() + " Ensure highlight command can find custom color. + let v:colornames['a redish white'] = '#ffeedd' + highlight Normal guifg='a redish white' + highlight clear + endfunc + + func Test_colornames_default_list() + " Ensure default lists are loaded automatically and can be used for all gui fields. + highlight Normal guifg='rebecca purple' guibg='rebecca purple' guisp='rebecca purple' + highlight clear + endfunc + + func Test_colornames_overwrite_default() + " Ensure entries in v:colornames can be overwritten. + " Load default color scheme to trigger default color list loading. + colorscheme default + let old_rebecca_purple = v:colornames['rebecca purple'] + highlight Normal guifg='rebecca purple' guibg='rebecca purple' + let v:colornames['rebecca purple'] = '#550099' + highlight Normal guifg='rebecca purple' guibg='rebecca purple' + let v:colornames['rebecca purple'] = old_rebecca_purple + highlight clear + endfunc + + func Test_colornames_assignment_and_unassignment() + " Ensure we cannot overwrite the v:colornames dict. + call assert_fails("let v:colornames = {}", 'E46:') + + " Ensure we can delete entries from the v:colornames dict. + let v:colornames['x1'] = '#111111' + call assert_equal(v:colornames['x1'], '#111111') + unlet v:colornames['x1'] + call assert_fails("echo v:colornames['x1']") + endfunc + " vim: shiftwidth=2 sts=2 expandtab *** ../vim-8.2.3561/src/version.c 2021-10-24 14:50:02.044686677 +0100 --- src/version.c 2021-10-24 19:56:48.709001129 +0100 *************** *** 759,760 **** --- 759,762 ---- { /* Add new patch number below this line */ + /**/ + 3562, /**/ -- hundred-and-one symptoms of being an internet addict: 237. You tattoo your email address on your forehead. /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ /// \\\ \\\ sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ /// \\\ help me help AIDS victims -- http://ICCF-Holland.org ///