diff options
author | Adam Stankiewicz <sheerun@sher.pl> | 2014-04-15 01:23:13 +0200 |
---|---|---|
committer | Adam Stankiewicz <sheerun@sher.pl> | 2014-04-15 01:23:13 +0200 |
commit | 6c198a3ca9c392069c119282b702028fbfb5edf3 (patch) | |
tree | b6682250df66366c9828ecce2d2b1dc7009e3456 | |
parent | a4c9223257368b63558372a4b91ea24e40aa2935 (diff) | |
download | vim-polyglot-6c198a3ca9c392069c119282b702028fbfb5edf3.tar.gz vim-polyglot-6c198a3ca9c392069c119282b702028fbfb5edf3.zip |
Switch back to css-color, fixes #23
-rw-r--r-- | after/syntax/css.vim | 6 | ||||
-rw-r--r-- | after/syntax/css/vim-coloresque.vim | 632 | ||||
-rw-r--r-- | after/syntax/html.vim | 8 | ||||
-rw-r--r-- | after/syntax/less.vim | 7 | ||||
-rw-r--r-- | after/syntax/sass.vim | 7 | ||||
-rw-r--r-- | after/syntax/scss.vim | 1 | ||||
-rw-r--r-- | after/syntax/stylus.vim | 7 | ||||
-rw-r--r-- | after/syntax/vim.vim | 7 | ||||
-rw-r--r-- | autoload/css_color.vim | 559 | ||||
-rwxr-xr-x | build | 2 |
10 files changed, 597 insertions, 639 deletions
diff --git a/after/syntax/css.vim b/after/syntax/css.vim new file mode 100644 index 00000000..1f693c9d --- /dev/null +++ b/after/syntax/css.vim @@ -0,0 +1,6 @@ +" Language: Colorful CSS Color Preview +" Author: Aristotle Pagaltzis <pagaltzis@gmx.de> + +if !( has('gui_running') || &t_Co==256 ) | finish | endif + +call css_color#init('css', 'cssMediaBlock,cssFunction,cssDefinition,cssAttrRegion,cssComment') diff --git a/after/syntax/css/vim-coloresque.vim b/after/syntax/css/vim-coloresque.vim deleted file mode 100644 index c80a9a52..00000000 --- a/after/syntax/css/vim-coloresque.vim +++ /dev/null @@ -1,632 +0,0 @@ -" Name: Coloresque -" Language: color preview in vim -" Author: Gorodinskii Konstantin <gor.konstantin@gmail.com> -" Licence: Vim license -" Version: 0.9.5 -" based on -" https://github.com/ap/vim-css-color -" https://github.com/lilydjwg/colorizer -" vim:et:ts=2 sw=2 sts=2 - -let s:hex={} -let b:matchescache = {} -let b:color_pattern = {} - -let w:colorDictRegExp='' -for i in range(0, 255) - let s:hex[ printf( '%02x', i ) ] = i -endfor - -let s:black = '#000000' -let s:white = '#ffffff' - -function! s:FGForBG(color) - " pick suitable text color given a background color - let color = tolower(a:color) - let r = s:hex[color[0:1]] - let g = s:hex[color[2:3]] - let b = s:hex[color[4:5]] - return r*30 + g*59 + b*11 > 12000 ? s:black : s:white -endfunction - -let s:color_prefix = 'gui' -let s:fg_color_calc = 'let color = "#" . toupper(a:color)' - -function! s:RestoreColors() - for part in keys(b:color_pattern) - - "if b:color_pattern[part]=="ffffff" - "echoe part - "endif - - call s:MatchColorValue(b:color_pattern[part], part) - "echoe color - "echoe b:color_pattern[color] - "let group = 'cssColor' . tolower(strpart(b:color_pattern[part]["color"], 1)) - ""exe 'syn match' group '/'.escape(pattern, '/').'/ contained' - "exe 'syn cluster cssColors add='.group - "exe 'hi' group s:color_prefix.'bg='.b:color_pattern[part]["bg"] s:color_prefix.'fg='.b:color_pattern[part]["fg"] - - "if !exists('b:matchescache') - "let b:matchescache={} - "endif - - "let b:matchescache[part] = matchadd(group, part, -1) - endfor -endfunction - -function! s:MatchColorValue(color, part) - if ! len(a:color) | return | endif - - let group = 'cssColor' . tolower(a:color) - - if !exists('b:color_pattern[a:part]') - exe s:fg_color_calc - exe 'syn cluster cssColors add='.group - exe 'hi' group s:color_prefix.'bg='.color s:color_prefix.'fg='.s:FGForBG(a:color) - let b:color_pattern[a:part] = a:color - endif - - if !exists('b:matchescache') - let b:matchescache = {} - elseif !exists('b:matchescache[a:part]') - let b:matchescache[a:part] = matchadd(group, a:part, -1) - endif - - "call add(w:matchescache, matchadd(group, a:part, -1)) - - return '' -endfunction - -function! s:HexForRGBValue(r,g,b) - " Convert 80% -> 204, 100% -> 255, etc. - let rgb = map( [a:r,a:g,a:b], 'v:val =~ "%$" ? ( 255 * v:val ) / 100 : v:val' ) - return printf( '%02x%02x%02x', rgb[0], rgb[1], rgb[2] ) -endfunction - -function! s:HexForHSLValue(h,s,l) - " Convert 80% -> 0.8, 100% -> 1.0, etc. - let [s,l] = map( [a:s, a:l], 'v:val =~ "%$" ? v:val / 100.0 : str2float(v:val)' ) - " algorithm transcoded to vim from http://www.w3.org/TR/css3-color/#hsl-color - let hh = ( a:h % 360 ) / 360.0 - let m2 = l <= 0.5 ? l * ( s + 1 ) : l + s - l * s - let m1 = l * 2 - m2 - let rgb = [] - for h in [ hh + (1/3.0), hh, hh - (1/3.0) ] - let h = h < 0 ? h + 1 : h > 1 ? h - 1 : h - let v = - \ h * 6 < 1 ? m1 + ( m2 - m1 ) * h * 6 : - \ h * 2 < 1 ? m2 : - \ h * 3 < 2 ? m1 + ( m2 - m1 ) * ( 2/3.0 - h ) * 6 : - \ m1 - if v > 1.0 | return '' | endif - let rgb += [ float2nr( 255 * v ) ] - endfor - return printf( '%02x%02x%02x', rgb[0], rgb[1], rgb[2] ) -endfunction - -function! s:ClearMatches() - call clearmatches() - - if !exists('b:matchescache') - return - endif - "for i in values(b:matchescache) - "call matchdelete(i) - "endfor - unlet b:matchescache -endfunction - -function! s:VimCssInit(update) - - if a:update==1 - call s:ClearMatches() - endif - :set isk+=- - :set isk+=# - :set isk+=. - - if len(keys(b:color_pattern))>0 - call s:RestoreColors() - return - endif - - "let b:matchescache = {} - - call s:AdditionalColors() - - "for i in range(1, line("$")) - call s:PreviewCSSColor(join(getline(1,'$'), "\n")) - "endfor - -endfunction - -function! s:AdditionalColors() - "if exists('&b:colorDictRegExp')&&b:colorDictRegExp!='' - "return - "endif - - " w3c Colors - " plus extra colors - let w:colorDict = { - \'black': '#000000', - \'red': '#ff0000', - \'silver': '#c0c0c0', - \'gray': '#808080', - \'white': '#ffffff', - \'maroon': '#800000', - \'purple': '#800080', - \'fuchsia': '#ff00ff', - \'green': '#008000', - \'lime': '#00ff00', - \'olive': '#808000', - \'yellow': '#ffff00', - \'navy': '#000080', - \'blue': '#0000ff', - \'teal': '#008080', - \'aqua': '#00ffff', - \'aliceblue': '#f0f8ff', - \'antiquewhite': '#faebd7', - \'aquamarine': '#7fffd4', - \'azure': '#f0ffff', - \'beige': '#f5f5dc', - \'bisque': '#ffe4c4', - \'blanchedalmond': '#ffebcd', - \'blueviolet': '#8a2be2', - \'brown': '#a52a2a', - \'burlywood': '#deb887', - \'cadetblue': '#5f9ea0', - \'chartreuse': '#7fff00', - \'chocolate': '#d2691e', - \'coral': '#ff7f50', - \'cornflowerblue': '#6495ed', - \'cornsilk': '#fff8dc', - \'crimson': '#dc143c', - \'cyan': '#00ffff', - \'darkblue': '#00008b', - \'darkcyan': '#008b8b', - \'darkgoldenrod': '#b8860b', - \'darkgray': '#a9a9a9', - \'darkgreen': '#006400', - \'darkgrey': '#a9a9a9', - \'darkkhaki': '#bdb76b', - \'darkmagenta': '#8b008b', - \'darkolivegreen': '#556b2f', - \'darkorchid': '#9932cc', - \'darkred': '#8b0000', - \'darksalmon': '#e9967a', - \'darkseagreen': '#8fbc8f', - \'darkslateblue': '#483d8b', - \'darkslategray': '#2f4f4f', - \'darkslategrey': '#2f4f4f', - \'darkturquoise': '#00ced1', - \'darkviolet': '#9400d3', - \'darkorange': '#ff8c00', - \'deeppink': '#ff1493', - \'deepskyblue': '#00bfff', - \'dimgray': '#696969', - \'dimgrey': '#696969', - \'dodgerblue': '#1e90ff', - \'firebrick': '#b22222', - \'floralwhite': '#fffaf0', - \'forestgreen': '#228b22', - \'gainsboro': '#dcdcdc', - \'ghostwhite': '#f8f8ff', - \'gold': '#ffd700', - \'goldenrod': '#daa520', - \'greenyellow': '#adff2f', - \'grey': '#808080', - \'honeydew': '#f0fff0', - \'hotpink': '#ff69b4', - \'indianred': '#cd5c5c', - \'indigo': '#4b0082', - \'ivory': '#fffff0', - \'khaki': '#f0e68c', - \'lavender': '#e6e6fa', - \'lavenderblush': '#fff0f5', - \'lawngreen': '#7cfc00', - \'lemonchiffon': '#fffacd', - \'lightblue': '#add8e6', - \'lightcoral': '#f08080', - \'lightcyan': '#e0ffff', - \'lightgoldenrodyellow': '#fafad2', - \'lightgray': '#d3d3d3', - \'lightgreen': '#90ee90', - \'lightgrey': '#d3d3d3', - \'lightpink': '#ffb6c1', - \'lightsalmon': '#ffa07a', - \'lightseagreen': '#20b2aa', - \'lightskyblue': '#87cefa', - \'lightslategray': '#778899', - \'lightslategrey': '#778899', - \'lightsteelblue': '#b0c4de', - \'lightyellow': '#ffffe0', - \'limegreen': '#32cd32', - \'linen': '#faf0e6', - \'magenta': '#ff00ff', - \'mediumaquamarine': '#66cdaa', - \'mediumblue': '#0000cd', - \'mediumorchid': '#ba55d3', - \'mediumpurple': '#9370d8', - \'mediumseagreen': '#3cb371', - \'mediumslateblue': '#7b68ee', - \'mediumspringgreen': '#00fa9a', - \'mediumturquoise': '#48d1cc', - \'mediumvioletred': '#c71585', - \'midnightblue': '#191970', - \'mintcream': '#f5fffa', - \'mistyrose': '#ffe4e1', - \'moccasin': '#ffe4b5', - \'navajowhite': '#ffdead', - \'oldlace': '#fdf5e6', - \'olivedrab': '#6b8e23', - \'orange': '#ffa500', - \'orangered': '#ff4500', - \'orchid': '#da70d6', - \'palegoldenrod': '#eee8aa', - \'palegreen': '#98fb98', - \'paleturquoise': '#afeeee', - \'palevioletred': '#d87093', - \'papayawhip': '#ffefd5', - \'peachpuff': '#ffdab9', - \'peru': '#cd853f', - \'pink': '#ffc0cb', - \'plum': '#dda0dd', - \'powderblue': '#b0e0e6', - \'rosybrown': '#bc8f8f', - \'royalblue': '#4169e1', - \'saddlebrown': '#8b4513', - \'salmon': '#fa8072', - \'sandybrown': '#f4a460', - \'seagreen': '#2e8b57', - \'seashell': '#fff5ee', - \'sienna': '#a0522d', - \'skyblue': '#87ceeb', - \'slateblue': '#6a5acd', - \'slategray': '#708090', - \'slategrey': '#708090', - \'snow': '#fffafa', - \'springgreen': '#00ff7f', - \'steelblue': '#4682b4', - \'tan': '#d2b48c', - \'thistle': '#d8bfd8', - \'tomato': '#ff6347', - \'turquoise': '#40e0d0', - \'violet': '#ee82ee', - \'wheat': '#f5deb3', - \'whitesmoke': '#f5f5f5', - \'yellowgreen': '#9acd32' - \} - - "let w:colorDictRegExp = '\(' - for _color in keys(w:colorDict) - "let w:colorDictRegExp.='\<'._color.'\>\|' - call s:MatchColorValue(strpart(w:colorDict[tolower(_color)], 1), '\<\c'._color.'\>') - endfor - "let w:colorDictRegExp=strpart(w:colorDictRegExp, 0, len(w:colorDictRegExp)-2).'\)\c' -endfunction - -function! s:ProcessByLine(w) - call s:PreviewCSSColor(getline(a:w)) -endfunction - -function! s:PreviewCSSColor(str) - "if !exists('&w:colorDictRegExp') - "endif - - let line=a:str "getline(a:w) - let colorexps = { - \ 'hex' : '#[0-9A-Fa-f]\{3\}\>\|#[0-9A-Fa-f]\{6\}\>', - \ 'rgba' : 'rgba\?(\s*\(\d\{1,3}%\?\)\s*,\s*\(\d\{1,3}%\?\)\s*,\s*\(\d\{1,3}%\?\)\s*\%(,[^)]*\)\?)', - \ 'hsla' : 'hsla\?(\s*\(\d\{1,3}%\?\)\s*,\s*\(\d\{1,3}%\?\)\s*,\s*\(\d\{1,3}%\?\)\s*\%(,[^)]*\)\?)' - \ } - "\ 'color': w:colorDictRegExp - - "let foundcolor='' - - for exp in keys(colorexps) - let place=0 - - if exists("foundcolor") - unlet foundcolor - endif - - while 1 - if exp=='rgba'||exp=='hsla' - let foundcolor = matchlist(a:str, colorexps[exp], place) - else - let foundcolor = matchstr(a:str, colorexps[exp], place) - endif - - let place = matchend(a:str, colorexps[exp], place) - - if empty(foundcolor) - break - endif - - if exp=='hex' - let part = foundcolor.'\>' - else - let part = foundcolor[0] - endif - - if exp=='hex' - if len(foundcolor) == 4 - let foundcolor = substitute(foundcolor, '[[:xdigit:]]', '&&', 'g') - endif - call s:MatchColorValue(strpart(foundcolor, 1), part) - elseif exp=='rgba' - "TODO get rid of duplicated variables - call s:MatchColorValue(s:HexForRGBValue(foundcolor[1], foundcolor[2], foundcolor[3]), part) - elseif exp=='hsla' - call s:MatchColorValue(s:HexForHSLValue(foundcolor[1], foundcolor[2], foundcolor[3]), part) - endif - endwhile - endfor - -endfunction - -if has("gui_running") || &t_Co==256 - " HACK modify cssDefinition to add @cssColors to its contains - redir => cssdef - silent! syn list cssDefinition - redir END - if len( cssdef ) - for out in split( cssdef, "\n" ) - if out !~ '^cssDefinition ' | continue | endif - let out = substitute( out, ' \+xxx \+', ' ', '' ) - let out = substitute( out, ' contains=\zs', '@cssColors,', '' ) - exe 'syn region' out - endfor - endif - - if ! has('gui_running') - - let s:black = 0 - let s:white = 15 - - let s:color_prefix = 'cterm' - let s:fg_color_calc = 'let color = s:XTermColorForRGB(a:color)' - - " preset 16 vt100 colors - let s:xtermcolor = [ - \ [ 0x00, 0x00, 0x00, 0 ], - \ [ 0xCD, 0x00, 0x00, 1 ], - \ [ 0x00, 0xCD, 0x00, 2 ], - \ [ 0xCD, 0xCD, 0x00, 3 ], - \ [ 0x00, 0x00, 0xEE, 4 ], - \ [ 0xCD, 0x00, 0xCD, 5 ], - \ [ 0x00, 0xCD, 0xCD, 6 ], - \ [ 0xE5, 0xE5, 0xE5, 7 ], - \ [ 0x7F, 0x7F, 0x7F, 8 ], - \ [ 0xFF, 0x00, 0x00, 9 ], - \ [ 0x00, 0xFF, 0x00, 10 ], - \ [ 0xFF, 0xFF, 0x00, 11 ], - \ [ 0x5C, 0x5C, 0xFF, 12 ], - \ [ 0xFF, 0x00, 0xFF, 13 ], - \ [ 0x00, 0xFF, 0xFF, 14 ], - \ [ 0xFF, 0xFF, 0xFF, 15 ]] - " grayscale ramp - " (value is 8+10*lum for lum in 0..23) - let s:xtermcolor += [ - \ [ 0x08, 0x08, 0x08, 232 ], - \ [ 0x12, 0x12, 0x12, 233 ], - \ [ 0x1C, 0x1C, 0x1C, 234 ], - \ [ 0x26, 0x26, 0x26, 235 ], - \ [ 0x30, 0x30, 0x30, 236 ], - \ [ 0x3A, 0x3A, 0x3A, 237 ], - \ [ 0x44, 0x44, 0x44, 238 ], - \ [ 0x4E, 0x4E, 0x4E, 239 ], - \ [ 0x58, 0x58, 0x58, 240 ], - \ [ 0x62, 0x62, 0x62, 241 ], - \ [ 0x6C, 0x6C, 0x6C, 242 ], - \ [ 0x76, 0x76, 0x76, 243 ], - \ [ 0x80, 0x80, 0x80, 244 ], - \ [ 0x8A, 0x8A, 0x8A, 245 ], - \ [ 0x94, 0x94, 0x94, 246 ], - \ [ 0x9E, 0x9E, 0x9E, 247 ], - \ [ 0xA8, 0xA8, 0xA8, 248 ], - \ [ 0xB2, 0xB2, 0xB2, 249 ], - \ [ 0xBC, 0xBC, 0xBC, 250 ], - \ [ 0xC6, 0xC6, 0xC6, 251 ], - \ [ 0xD0, 0xD0, 0xD0, 252 ], - \ [ 0xDA, 0xDA, 0xDA, 253 ], - \ [ 0xE4, 0xE4, 0xE4, 254 ], - \ [ 0xEE, 0xEE, 0xEE, 255 ]] - - " the 6 values used in the xterm color cube - " 0 95 135 175 215 255 - let s:cubergb = [ 0x00, 0x5F, 0x87, 0xAF, 0xD7, 0xFF ] - - " 0..255 mapped to 0..5 based on the color cube values - let s:xvquant = repeat([0],48) - \ + repeat([1],68) - \ + repeat([2],40) - \ + repeat([3],40) - \ + repeat([4],40) - \ + repeat([5],20) - " tweak the mapping for the exact matches (0 and 1 already correct) - let s:xvquant[s:cubergb[2]] = 2 - let s:xvquant[s:cubergb[3]] = 3 - let s:xvquant[s:cubergb[4]] = 4 - let s:xvquant[s:cubergb[5]] = 5 - - " selects the nearest xterm color for a rgb value like #FF0000 - function! s:XTermColorForRGB(color) - let best_match=0 - let smallest_distance = 10000000000 - let color = tolower(a:color) - let r = s:hex[color[0:1]] - let g = s:hex[color[2:3]] - let b = s:hex[color[4:5]] - - let vr = s:xvquant[r] - let vg = s:xvquant[g] - let vb = s:xvquant[b] - let cidx = vr * 36 + vg * 6 + vb + 16 - let ccol = [ s:cubergb[vr], s:cubergb[vg], s:cubergb[vb], cidx ] - - for [tr,tg,tb,idx] in [ ccol ] + s:xtermcolor - let dr = tr - r - let dg = tg - g - let db = tb - b - let distance = dr*dr + dg*dg + db*db - if distance == 0 | return idx | endif - if distance > smallest_distance | continue | endif - let smallest_distance = distance - let best_match = idx - endfor - return best_match - endfunction - endif - - hi cssColor000000 guibg=#000000 guifg=#FFFFFF ctermbg=16 ctermfg=231 | syn cluster cssColors add=cssColor000000 - hi cssColor000080 guibg=#000080 guifg=#FFFFFF ctermbg=235 ctermfg=231 | syn cluster cssColors add=cssColor000080 - hi cssColor00008b guibg=#00008B guifg=#FFFFFF ctermbg=4 ctermfg=231 | syn cluster cssColors add=cssColor00008b - hi cssColor0000cd guibg=#0000CD guifg=#FFFFFF ctermbg=4 ctermfg=231 | syn cluster cssColors add=cssColor0000cd - hi cssColor0000ff guibg=#0000FF guifg=#FFFFFF ctermbg=4 ctermfg=231 | syn cluster cssColors add=cssColor0000ff - hi cssColor006400 guibg=#006400 guifg=#FFFFFF ctermbg=235 ctermfg=231 | syn cluster cssColors add=cssColor006400 - hi cssColor008000 guibg=#008000 guifg=#FFFFFF ctermbg=2 ctermfg=231 | syn cluster cssColors add=cssColor008000 - hi cssColor008080 guibg=#008080 guifg=#FFFFFF ctermbg=30 ctermfg=231 | syn cluster cssColors add=cssColor008080 - hi cssColor008b8b guibg=#008B8B guifg=#FFFFFF ctermbg=30 ctermfg=231 | syn cluster cssColors add=cssColor008b8b - hi cssColor00bfff guibg=#00BFFF guifg=#000000 ctermbg=6 ctermfg=16 | syn cluster cssColors add=cssColor00bfff - hi cssColor00ced1 guibg=#00CED1 guifg=#000000 ctermbg=6 ctermfg=16 | syn cluster cssColors add=cssColor00ced1 - hi cssColor00fa9a guibg=#00FA9A guifg=#000000 ctermbg=6 ctermfg=16 | syn cluster cssColors add=cssColor00fa9a - hi cssColor00ff00 guibg=#00FF00 guifg=#000000 ctermbg=10 ctermfg=16 | syn cluster cssColors add=cssColor00ff00 - hi cssColor00ff7f guibg=#00FF7F guifg=#000000 ctermbg=6 ctermfg=16 | syn cluster cssColors add=cssColor00ff7f - hi cssColor00ffff guibg=#00FFFF guifg=#000000 ctermbg=51 ctermfg=16 | syn cluster cssColors add=cssColor00ffff - hi cssColor191970 guibg=#191970 guifg=#FFFFFF ctermbg=237 ctermfg=231 | syn cluster cssColors add=cssColor191970 - hi cssColor1e90ff guibg=#1E90FF guifg=#000000 ctermbg=12 ctermfg=16 | syn cluster cssColors add=cssColor1e90ff - hi cssColor20b2aa guibg=#20B2AA guifg=#000000 ctermbg=37 ctermfg=16 | syn cluster cssColors add=cssColor20b2aa - hi cssColor228b22 guibg=#228B22 guifg=#FFFFFF ctermbg=2 ctermfg=231 | syn cluster cssColors add=cssColor228b22 - hi cssColor2e8b57 guibg=#2E8B57 guifg=#FFFFFF ctermbg=240 ctermfg=231 | syn cluster cssColors add=cssColor2e8b57 - hi cssColor2f4f4f guibg=#2F4F4F guifg=#FFFFFF ctermbg=238 ctermfg=231 | syn cluster cssColors add=cssColor2f4f4f - hi cssColor32cd32 guibg=#32CD32 guifg=#000000 ctermbg=2 ctermfg=16 | syn cluster cssColors add=cssColor32cd32 - hi cssColor3cb371 guibg=#3CB371 guifg=#000000 ctermbg=71 ctermfg=16 | syn cluster cssColors add=cssColor3cb371 - hi cssColor40e0d0 guibg=#40E0D0 guifg=#000000 ctermbg=80 ctermfg=16 | syn cluster cssColors add=cssColor40e0d0 - hi cssColor4169e1 guibg=#4169E1 guifg=#FFFFFF ctermbg=12 ctermfg=231 | syn cluster cssColors add=cssColor4169e1 - hi cssColor4682b4 guibg=#4682B4 guifg=#FFFFFF ctermbg=67 ctermfg=231 | syn cluster cssColors add=cssColor4682b4 - hi cssColor483d8b guibg=#483D8B guifg=#FFFFFF ctermbg=240 ctermfg=231 | syn cluster cssColors add=cssColor483d8b - hi cssColor48d1cc guibg=#48D1CC guifg=#000000 ctermbg=80 ctermfg=16 | syn cluster cssColors add=cssColor48d1cc - hi cssColor4b0082 guibg=#4B0082 guifg=#FFFFFF ctermbg=238 ctermfg=231 | syn cluster cssColors add=cssColor4b0082 - hi cssColor556b2f guibg=#556B2F guifg=#FFFFFF ctermbg=239 ctermfg=231 | syn cluster cssColors add=cssColor556b2f - hi cssColor5f9ea0 guibg=#5F9EA0 guifg=#000000 ctermbg=73 ctermfg=16 | syn cluster cssColors add=cssColor5f9ea0 - hi cssColor6495ed guibg=#6495ED guifg=#000000 ctermbg=12 ctermfg=16 | syn cluster cssColors add=cssColor6495ed - hi cssColor66cdaa guibg=#66CDAA guifg=#000000 ctermbg=79 ctermfg=16 | syn cluster cssColors add=cssColor66cdaa - hi cssColor696969 guibg=#696969 guifg=#FFFFFF ctermbg=242 ctermfg=231 | syn cluster cssColors add=cssColor696969 - hi cssColor6a5acd guibg=#6A5ACD guifg=#FFFFFF ctermbg=12 ctermfg=231 | syn cluster cssColors add=cssColor6a5acd - hi cssColor6b8e23 guibg=#6B8E23 guifg=#FFFFFF ctermbg=241 ctermfg=231 | syn cluster cssColors add=cssColor6b8e23 - hi cssColor708090 guibg=#708090 guifg=#000000 ctermbg=66 ctermfg=16 | syn cluster cssColors add=cssColor708090 - hi cssColor778899 guibg=#778899 guifg=#000000 ctermbg=102 ctermfg=16 | syn cluster cssColors add=cssColor778899 - hi cssColor7b68ee guibg=#7B68EE guifg=#000000 ctermbg=12 ctermfg=16 | syn cluster cssColors add=cssColor7b68ee - hi cssColor7cfc00 guibg=#7CFC00 guifg=#000000 ctermbg=3 ctermfg=16 | syn cluster cssColors add=cssColor7cfc00 - hi cssColor7fff00 guibg=#7FFF00 guifg=#000000 ctermbg=3 ctermfg=16 | syn cluster cssColors add=cssColor7fff00 - hi cssColor7fffd4 guibg=#7FFFD4 guifg=#000000 ctermbg=122 ctermfg=16 | syn cluster cssColors add=cssColor7fffd4 - hi cssColor800000 guibg=#800000 guifg=#FFFFFF ctermbg=88 ctermfg=231 | syn cluster cssColors add=cssColor800000 - hi cssColor800080 guibg=#800080 guifg=#FFFFFF ctermbg=240 ctermfg=231 | syn cluster cssColors add=cssColor800080 - hi cssColor808000 guibg=#808000 guifg=#FFFFFF ctermbg=240 ctermfg=231 | syn cluster cssColors add=cssColor808000 - hi cssColor808080 guibg=#808080 guifg=#000000 ctermbg=244 ctermfg=16 | syn cluster cssColors add=cssColor808080 - hi cssColor87ceeb guibg=#87CEEB guifg=#000000 ctermbg=117 ctermfg=16 | syn cluster cssColors add=cssColor87ceeb - hi cssColor87cefa guibg=#87CEFA guifg=#000000 ctermbg=117 ctermfg=16 | syn cluster cssColors add=cssColor87cefa - hi cssColor8a2be2 guibg=#8A2BE2 guifg=#FFFFFF ctermbg=12 ctermfg=231 | syn cluster cssColors add=cssColor8a2be2 - hi cssColor8b0000 guibg=#8B0000 guifg=#FFFFFF ctermbg=88 ctermfg=231 | syn cluster cssColors add=cssColor8b0000 - hi cssColor8b008b guibg=#8B008B guifg=#FFFFFF ctermbg=5 ctermfg=231 | syn cluster cssColors add=cssColor8b008b - hi cssColor8b4513 guibg=#8B4513 guifg=#FFFFFF ctermbg=94 ctermfg=231 | syn cluster cssColors add=cssColor8b4513 - hi cssColor8fbc8f guibg=#8FBC8F guifg=#000000 ctermbg=108 ctermfg=16 | syn cluster cssColors add=cssColor8fbc8f - hi cssColor90ee90 guibg=#90EE90 guifg=#000000 ctermbg=249 ctermfg=16 | syn cluster cssColors add=cssColor90ee90 - hi cssColor9370d8 guibg=#9370D8 guifg=#000000 ctermbg=12 ctermfg=16 | syn cluster cssColors add=cssColor9370d8 - hi cssColor9400d3 guibg=#9400D3 guifg=#FFFFFF ctermbg=5 ctermfg=231 | syn cluster cssColors add=cssColor9400d3 - hi cssColor98fb98 guibg=#98FB98 guifg=#000000 ctermbg=250 ctermfg=16 | syn cluster cssColors add=cssColor98fb98 - hi cssColor9932cc guibg=#9932CC guifg=#FFFFFF ctermbg=5 ctermfg=231 | syn cluster cssColors add=cssColor9932cc - hi cssColor9acd32 guibg=#9ACD32 guifg=#000000 ctermbg=3 ctermfg=16 | syn cluster cssColors add=cssColor9acd32 - hi cssColora0522d guibg=#A0522D guifg=#FFFFFF ctermbg=130 ctermfg=231 | syn cluster cssColors add=cssColora0522d - hi cssColora52a2a guibg=#A52A2A guifg=#FFFFFF ctermbg=124 ctermfg=231 | syn cluster cssColors add=cssColora52a2a - hi cssColora9a9a9 guibg=#A9A9A9 guifg=#000000 ctermbg=248 ctermfg=16 | syn cluster cssColors add=cssColora9a9a9 - hi cssColoradd8e6 guibg=#ADD8E6 guifg=#000000 ctermbg=152 ctermfg=16 | syn cluster cssColors add=cssColoradd8e6 - hi cssColoradff2f guibg=#ADFF2F guifg=#000000 ctermbg=3 ctermfg=16 | syn cluster cssColors add=cssColoradff2f - hi cssColorafeeee guibg=#AFEEEE guifg=#000000 ctermbg=159 ctermfg=16 | syn cluster cssColors add=cssColorafeeee - hi cssColorb0c4de guibg=#B0C4DE guifg=#000000 ctermbg=152 ctermfg=16 | syn cluster cssColors add=cssColorb0c4de - hi cssColorb0e0e6 guibg=#B0E0E6 guifg=#000000 ctermbg=152 ctermfg=16 | syn cluster cssColors add=cssColorb0e0e6 - hi cssColorb22222 guibg=#B22222 guifg=#FFFFFF ctermbg=124 ctermfg=231 | syn cluster cssColors add=cssColorb22222 - hi cssColorb8860b guibg=#B8860B guifg=#000000 ctermbg=3 ctermfg=16 | syn cluster cssColors add=cssColorb8860b - hi cssColorba55d3 guibg=#BA55D3 guifg=#000000 ctermbg=5 ctermfg=16 | syn cluster cssColors add=cssColorba55d3 - hi cssColorbc8f8f guibg=#BC8F8F guifg=#000000 ctermbg=138 ctermfg=16 | syn cluster cssColors add=cssColorbc8f8f - hi cssColorbdb76b guibg=#BDB76B guifg=#000000 ctermbg=247 ctermfg=16 | syn cluster cssColors add=cssColorbdb76b - hi cssColorc0c0c0 guibg=#C0C0C0 guifg=#000000 ctermbg=250 ctermfg=16 | syn cluster cssColors add=cssColorc0c0c0 - hi cssColorc71585 guibg=#C71585 guifg=#FFFFFF ctermbg=5 ctermfg=231 | syn cluster cssColors add=cssColorc71585 - hi cssColorcd5c5c guibg=#CD5C5C guifg=#000000 ctermbg=167 ctermfg=16 | syn cluster cssColors add=cssColorcd5c5c - hi cssColorcd853f guibg=#CD853F guifg=#000000 ctermbg=173 ctermfg=16 | syn cluster cssColors add=cssColorcd853f - hi cssColord2691e guibg=#D2691E guifg=#000000 ctermbg=166 ctermfg=16 | syn cluster cssColors add=cssColord2691e - hi cssColord2b48c guibg=#D2B48C guifg=#000000 ctermbg=180 ctermfg=16 | syn cluster cssColors add=cssColord2b48c - hi cssColord3d3d3 guibg=#D3D3D3 guifg=#000000 ctermbg=252 ctermfg=16 | syn cluster cssColors add=cssColord3d3d3 - hi cssColord87093 guibg=#D87093 guifg=#000000 ctermbg=168 ctermfg=16 | syn cluster cssColors add=cssColord87093 - hi cssColord8bfd8 guibg=#D8BFD8 guifg=#000000 ctermbg=252 ctermfg=16 | syn cluster cssColors add=cssColord8bfd8 - hi cssColorda70d6 guibg=#DA70D6 guifg=#000000 ctermbg=249 ctermfg=16 | syn cluster cssColors add=cssColorda70d6 - hi cssColordaa520 guibg=#DAA520 guifg=#000000 ctermbg=3 ctermfg=16 | syn cluster cssColors add=cssColordaa520 - hi cssColordc143c guibg=#DC143C guifg=#FFFFFF ctermbg=161 ctermfg=231 | syn cluster cssColors add=cssColordc143c - hi cssColordcdcdc guibg=#DCDCDC guifg=#000000 ctermbg=253 ctermfg=16 | syn cluster cssColors add=cssColordcdcdc - hi cssColordda0dd guibg=#DDA0DD guifg=#000000 ctermbg=182 ctermfg=16 | syn cluster cssColors add=cssColordda0dd - hi cssColordeb887 guibg=#DEB887 guifg=#000000 ctermbg=180 ctermfg=16 | syn cluster cssColors add=cssColordeb887 - hi cssColore0ffff guibg=#E0FFFF guifg=#000000 ctermbg=195 ctermfg=16 | syn cluster cssColors add=cssColore0ffff - hi cssColore6e6fa guibg=#E6E6FA guifg=#000000 ctermbg=255 ctermfg=16 | syn cluster cssColors add=cssColore6e6fa - hi cssColore9967a guibg=#E9967A guifg=#000000 ctermbg=174 ctermfg=16 | syn cluster cssColors add=cssColore9967a - hi cssColoree82ee guibg=#EE82EE guifg=#000000 ctermbg=251 ctermfg=16 | syn cluster cssColors add=cssColoree82ee - hi cssColoreee8aa guibg=#EEE8AA guifg=#000000 ctermbg=223 ctermfg=16 | syn cluster cssColors add=cssColoreee8aa - hi cssColorf08080 guibg=#F08080 guifg=#000000 ctermbg=210 ctermfg=16 | syn cluster cssColors add=cssColorf08080 - hi cssColorf0e68c guibg=#F0E68C guifg=#000000 ctermbg=222 ctermfg=16 | syn cluster cssColors add=cssColorf0e68c - hi cssColorf0f8ff guibg=#F0F8FF guifg=#000000 ctermbg=15 ctermfg=16 | syn cluster cssColors add=cssColorf0f8ff - hi cssColorf0fff0 guibg=#F0FFF0 guifg=#000000 ctermbg=255 ctermfg=16 | syn cluster cssColors add=cssColorf0fff0 - hi cssColorf0ffff guibg=#F0FFFF guifg=#000000 ctermbg=15 ctermfg=16 | syn cluster cssColors add=cssColorf0ffff - hi cssColorf4a460 guibg=#F4A460 guifg=#000000 ctermbg=215 ctermfg=16 | syn cluster cssColors add=cssColorf4a460 - hi cssColorf5deb3 guibg=#F5DEB3 guifg=#000000 ctermbg=223 ctermfg=16 | syn cluster cssColors add=cssColorf5deb3 - hi cssColorf5f5dc guibg=#F5F5DC guifg=#000000 ctermbg=255 ctermfg=16 | syn cluster cssColors add=cssColorf5f5dc - hi cssColorf5f5f5 guibg=#F5F5F5 guifg=#000000 ctermbg=255 ctermfg=16 | syn cluster cssColors add=cssColorf5f5f5 - hi cssColorf5fffa guibg=#F5FFFA guifg=#000000 ctermbg=15 ctermfg=16 | syn cluster cssColors add=cssColorf5fffa - hi cssColorf8f8ff guibg=#F8F8FF guifg=#000000 ctermbg=15 ctermfg=16 | syn cluster cssColors add=cssColorf8f8ff - hi cssColorfa8072 guibg=#FA8072 guifg=#000000 ctermbg=209 ctermfg=16 | syn cluster cssColors add=cssColorfa8072 - hi cssColorfaebd7 guibg=#FAEBD7 guifg=#000000 ctermbg=7 ctermfg=16 | syn cluster cssColors add=cssColorfaebd7 - hi cssColorfaf0e6 guibg=#FAF0E6 guifg=#000000 ctermbg=255 ctermfg=16 | syn cluster cssColors add=cssColorfaf0e6 - hi cssColorfafad2 guibg=#FAFAD2 guifg=#000000 ctermbg=255 ctermfg=16 | syn cluster cssColors add=cssColorfafad2 - hi cssColorfdf5e6 guibg=#FDF5E6 guifg=#000000 ctermbg=255 ctermfg=16 | syn cluster cssColors add=cssColorfdf5e6 - hi cssColorff0000 guibg=#FF0000 guifg=#FFFFFF ctermbg=196 ctermfg=231 | syn cluster cssColors add=cssColorff0000 - hi cssColorff00ff guibg=#FF00FF guifg=#FFFFFF ctermbg=13 ctermfg=231 | syn cluster cssColors add=cssColorff00ff - hi cssColorff1493 guibg=#FF1493 guifg=#FFFFFF ctermbg=5 ctermfg=231 | syn cluster cssColors add=cssColorff1493 - hi cssColorff4500 guibg=#FF4500 guifg=#FFFFFF ctermbg=9 ctermfg=231 | syn cluster cssColors add=cssColorff4500 - hi cssColorff6347 guibg=#FF6347 guifg=#000000 ctermbg=203 ctermfg=16 | syn cluster cssColors add=cssColorff6347 - hi cssColorff69b4 guibg=#FF69B4 guifg=#000000 ctermbg=205 ctermfg=16 | syn cluster cssColors add=cssColorff69b4 - hi cssColorff7f50 guibg=#FF7F50 guifg=#000000 ctermbg=209 ctermfg=16 | syn cluster cssColors add=cssColorff7f50 - hi cssColorff8c00 guibg=#FF8C00 guifg=#000000 ctermbg=3 ctermfg=16 | syn cluster cssColors add=cssColorff8c00 - hi cssColorffa07a guibg=#FFA07A guifg=#000000 ctermbg=216 ctermfg=16 | syn cluster cssColors add=cssColorffa07a - hi cssColorffa500 guibg=#FFA500 guifg=#000000 ctermbg=3 ctermfg=16 | syn cluster cssColors add=cssColorffa500 - hi cssColorffb6c1 guibg=#FFB6C1 guifg=#000000 ctermbg=217 ctermfg=16 | syn cluster cssColors add=cssColorffb6c1 - hi cssColorffc0cb guibg=#FFC0CB guifg=#000000 ctermbg=218 ctermfg=16 | syn cluster cssColors add=cssColorffc0cb - hi cssColorffd700 guibg=#FFD700 guifg=#000000 ctermbg=11 ctermfg=16 | syn cluster cssColors add=cssColorffd700 - hi cssColorffdab9 guibg=#FFDAB9 guifg=#000000 ctermbg=223 ctermfg=16 | syn cluster cssColors add=cssColorffdab9 - hi cssColorffdead guibg=#FFDEAD guifg=#000000 ctermbg=223 ctermfg=16 | syn cluster cssColors add=cssColorffdead - hi cssColorffe4b5 guibg=#FFE4B5 guifg=#000000 ctermbg=223 ctermfg=16 | syn cluster cssColors add=cssColorffe4b5 - hi cssColorffe4c4 guibg=#FFE4C4 guifg=#000000 ctermbg=224 ctermfg=16 | syn cluster cssColors add=cssColorffe4c4 - hi cssColorffe4e1 guibg=#FFE4E1 guifg=#000000 ctermbg=224 ctermfg=16 | syn cluster cssColors add=cssColorffe4e1 - hi cssColorffebcd guibg=#FFEBCD guifg=#000000 ctermbg=7 ctermfg=16 | syn cluster cssColors add=cssColorffebcd - hi cssColorffefd5 guibg=#FFEFD5 guifg=#000000 ctermbg=255 ctermfg=16 | syn cluster cssColors add=cssColorffefd5 - hi cssColorfff0f5 guibg=#FFF0F5 guifg=#000000 ctermbg=15 ctermfg=16 | syn cluster cssColors add=cssColorfff0f5 - hi cssColorfff5ee guibg=#FFF5EE guifg=#000000 ctermbg=255 ctermfg=16 | syn cluster cssColors add=cssColorfff5ee - hi cssColorfff8dc guibg=#FFF8DC guifg=#000000 ctermbg=255 ctermfg=16 | syn cluster cssColors add=cssColorfff8dc - hi cssColorfffacd guibg=#FFFACD guifg=#000000 ctermbg=255 ctermfg=16 | syn cluster cssColors add=cssColorfffacd - hi cssColorfffaf0 guibg=#FFFAF0 guifg=#000000 ctermbg=15 ctermfg=16 | syn cluster cssColors add=cssColorfffaf0 - hi cssColorfffafa guibg=#FFFAFA guifg=#000000 ctermbg=15 ctermfg=16 | syn cluster cssColors add=cssColorfffafa - hi cssColorffff00 guibg=#FFFF00 guifg=#000000 ctermbg=11 ctermfg=16 | syn cluster cssColors add=cssColorffff00 - hi cssColorffffe0 guibg=#FFFFE0 guifg=#000000 ctermbg=255 ctermfg=16 | syn cluster cssColors add=cssColorffffe0 - hi cssColorfffff0 guibg=#FFFFF0 guifg=#000000 ctermbg=15 ctermfg=16 | syn cluster cssColors add=cssColorfffff0 - hi cssColorffffff guibg=#FFFFFF guifg=#000000 ctermbg=231 ctermfg=16 | syn cluster cssColors add=cssColorffffff - - "call s:VimCssInit(1) - - ":augroup css - "au! - autocmd CursorMovedI <buffer> silent call s:ProcessByLine('.') - autocmd ColorScheme <buffer> silent call s:VimCssInit(1) - autocmd BufEnter <buffer> silent call s:VimCssInit(1) - ":augroup END - - "autocmd CursorMoved <buffer> silent call s:ProcessByLine('.') -endif diff --git a/after/syntax/html.vim b/after/syntax/html.vim index c1ccd239..104642c2 100644 --- a/after/syntax/html.vim +++ b/after/syntax/html.vim @@ -9,4 +9,10 @@ syn region coffeeScript start=#<script [^>]*type="text/coffeescript"[^>]*># \ end=#</script>#me=s-1 keepend \ contains=@htmlCoffeeScript,htmlScriptTag,@htmlPreproc \ containedin=htmlHead -syn include syntax/css/vim-coloresque.vim +" Language: Colorful CSS Color Preview +" Author: Aristotle Pagaltzis <pagaltzis@gmx.de> + +if !( has('gui_running') || &t_Co==256 ) | finish | endif + +" default html syntax should already be including the css syntax +syn cluster colorableGroup add=htmlString,htmlCommentPart diff --git a/after/syntax/less.vim b/after/syntax/less.vim index d6ab73ff..4ed28557 100644 --- a/after/syntax/less.vim +++ b/after/syntax/less.vim @@ -1 +1,6 @@ -syn include syntax/css/vim-coloresque.vim +" Language: Colorful CSS Color Preview +" Author: Aristotle Pagaltzis <pagaltzis@gmx.de> + +if !( has('gui_running') || &t_Co==256 ) | finish | endif + +call css_color#init('css', 'lessVariableValue') diff --git a/after/syntax/sass.vim b/after/syntax/sass.vim index d6ab73ff..7a2942f9 100644 --- a/after/syntax/sass.vim +++ b/after/syntax/sass.vim @@ -1 +1,6 @@ -syn include syntax/css/vim-coloresque.vim +" Language: Colorful CSS Color Preview +" Author: Aristotle Pagaltzis <pagaltzis@gmx.de> + +if !( has('gui_running') || &t_Co==256 ) | finish | endif + +call css_color#init('css', 'sassCssAttribute,sassComment,sassCssComment') diff --git a/after/syntax/scss.vim b/after/syntax/scss.vim deleted file mode 100644 index d6ab73ff..00000000 --- a/after/syntax/scss.vim +++ /dev/null @@ -1 +0,0 @@ -syn include syntax/css/vim-coloresque.vim diff --git a/after/syntax/stylus.vim b/after/syntax/stylus.vim index d6ab73ff..2c50a988 100644 --- a/after/syntax/stylus.vim +++ b/after/syntax/stylus.vim @@ -1 +1,6 @@ -syn include syntax/css/vim-coloresque.vim +" Language: Colorful CSS Color Preview +" Author: Aristotle Pagaltzis <pagaltzis@gmx.de> + +if !( has('gui_running') || &t_Co==256 ) | finish | endif + +call css_color#init('css', 'stylusCssAttribute,stylusComment,cssComment') diff --git a/after/syntax/vim.vim b/after/syntax/vim.vim index d6ab73ff..4fdaee2e 100644 --- a/after/syntax/vim.vim +++ b/after/syntax/vim.vim @@ -1 +1,6 @@ -syn include syntax/css/vim-coloresque.vim +" Language: Colorful CSS Color Preview +" Author: Aristotle Pagaltzis <pagaltzis@gmx.de> + +if !( has('gui_running') || &t_Co==256 ) | finish | endif + +call css_color#init('any', 'vimHiGuiRgb,vimComment,vimLineComment') diff --git a/autoload/css_color.vim b/autoload/css_color.vim new file mode 100644 index 00000000..56a50157 --- /dev/null +++ b/autoload/css_color.vim @@ -0,0 +1,559 @@ +" Language: Colorful CSS Color Preview +" Author: Aristotle Pagaltzis <pagaltzis@gmx.de> +" Last Change: 2014-01-14 +" Licence: No Warranties. WTFPL. But please tell me! +" Version: 1.0 + +if v:version < 700 + echoerr printf('Vim 7 is required for css-color (this is only %d.%d)',v:version/100,v:version%100) + finish +endif + +if !( has('gui_running') || &t_Co==256 ) | finish | endif + +function! s:rgb2color(r,g,b) + " Convert 80% -> 204, 100% -> 255, etc. + let rgb = map( [a:r,a:g,a:b], 'v:val =~ "%$" ? ( 255 * v:val ) / 100 : v:val' ) + return printf( '%02x%02x%02x', rgb[0], rgb[1], rgb[2] ) +endfunction + +function! s:hsl2color(h,s,l) + " Convert 80% -> 0.8, 100% -> 1.0, etc. + let [s,l] = map( [a:s, a:l], 'v:val =~ "%$" ? v:val / 100.0 : v:val + 0.0' ) + " algorithm transcoded to vim from http://www.w3.org/TR/css3-color/#hsl-color + let hh = ( a:h % 360 ) / 360.0 + let m2 = l <= 0.5 ? l * ( s + 1 ) : l + s - l * s + let m1 = l * 2 - m2 + let rgb = [] + for h in [ hh + (1/3.0), hh, hh - (1/3.0) ] + let h = h < 0 ? h + 1 : h > 1 ? h - 1 : h + let v = + \ h * 6 < 1 ? m1 + ( m2 - m1 ) * h * 6 : + \ h * 2 < 1 ? m2 : + \ h * 3 < 2 ? m1 + ( m2 - m1 ) * ( 2/3.0 - h ) * 6 : + \ m1 + if v > 1.0 | return '' | endif + let rgb += [ float2nr( 255 * v ) ] + endfor + return printf( '%02x%02x%02x', rgb[0], rgb[1], rgb[2] ) +endfunction + +let s:hex={} +for i in range(0, 255) + let s:hex[ printf( '%02x', i ) ] = i +endfor + +if has('gui_running') + let s:is_gui = 1 +else + let s:is_gui = 0 + + " preset 16 vt100 colors + let s:xtermcolor = [ + \ [ 0x00, 0x00, 0x00, 0 ], + \ [ 0xCD, 0x00, 0x00, 1 ], + \ [ 0x00, 0xCD, 0x00, 2 ], + \ [ 0xCD, 0xCD, 0x00, 3 ], + \ [ 0x00, 0x00, 0xEE, 4 ], + \ [ 0xCD, 0x00, 0xCD, 5 ], + \ [ 0x00, 0xCD, 0xCD, 6 ], + \ [ 0xE5, 0xE5, 0xE5, 7 ], + \ [ 0x7F, 0x7F, 0x7F, 8 ], + \ [ 0xFF, 0x00, 0x00, 9 ], + \ [ 0x00, 0xFF, 0x00, 10 ], + \ [ 0xFF, 0xFF, 0x00, 11 ], + \ [ 0x5C, 0x5C, 0xFF, 12 ], + \ [ 0xFF, 0x00, 0xFF, 13 ], + \ [ 0x00, 0xFF, 0xFF, 14 ], + \ [ 0xFF, 0xFF, 0xFF, 15 ]] + " grayscale ramp + " (value is 8+10*lum for lum in 0..23) + let s:xtermcolor += [ + \ [ 0x08, 0x08, 0x08, 232 ], + \ [ 0x12, 0x12, 0x12, 233 ], + \ [ 0x1C, 0x1C, 0x1C, 234 ], + \ [ 0x26, 0x26, 0x26, 235 ], + \ [ 0x30, 0x30, 0x30, 236 ], + \ [ 0x3A, 0x3A, 0x3A, 237 ], + \ [ 0x44, 0x44, 0x44, 238 ], + \ [ 0x4E, 0x4E, 0x4E, 239 ], + \ [ 0x58, 0x58, 0x58, 240 ], + \ [ 0x62, 0x62, 0x62, 241 ], + \ [ 0x6C, 0x6C, 0x6C, 242 ], + \ [ 0x76, 0x76, 0x76, 243 ], + \ [ 0x80, 0x80, 0x80, 244 ], + \ [ 0x8A, 0x8A, 0x8A, 245 ], + \ [ 0x94, 0x94, 0x94, 246 ], + \ [ 0x9E, 0x9E, 0x9E, 247 ], + \ [ 0xA8, 0xA8, 0xA8, 248 ], + \ [ 0xB2, 0xB2, 0xB2, 249 ], + \ [ 0xBC, 0xBC, 0xBC, 250 ], + \ [ 0xC6, 0xC6, 0xC6, 251 ], + \ [ 0xD0, 0xD0, 0xD0, 252 ], + \ [ 0xDA, 0xDA, 0xDA, 253 ], + \ [ 0xE4, 0xE4, 0xE4, 254 ], + \ [ 0xEE, 0xEE, 0xEE, 255 ]] + + " the 6 values used in the xterm color cube + " 0 95 135 175 215 255 + let s:cubergb = [ 0x00, 0x5F, 0x87, 0xAF, 0xD7, 0xFF ] + + " 0..255 mapped to 0..5 based on the color cube values + let s:xvquant = repeat([0],48) + \ + repeat([1],68) + \ + repeat([2],40) + \ + repeat([3],40) + \ + repeat([4],40) + \ + repeat([5],20) + " tweak the mapping for the exact matches (0 and 1 already correct) + let s:xvquant[s:cubergb[2]] = 2 + let s:xvquant[s:cubergb[3]] = 3 + let s:xvquant[s:cubergb[4]] = 4 + let s:xvquant[s:cubergb[5]] = 5 + + " selects the nearest xterm color for a rgb value like #FF0000 + function! s:rgb2xterm(color) + let best_match=0 + let smallest_distance = 10000000000 + let color = tolower(a:color) + let r = s:hex[color[0:1]] + let g = s:hex[color[2:3]] + let b = s:hex[color[4:5]] + + let vr = s:xvquant[r] + let vg = s:xvquant[g] + let vb = s:xvquant[b] + let cidx = vr * 36 + vg * 6 + vb + 16 + let ccol = [ s:cubergb[vr], s:cubergb[vg], s:cubergb[vb], cidx ] + + for [tr,tg,tb,idx] in [ ccol ] + s:xtermcolor + let dr = tr - r + let dg = tg - g + let db = tb - b + let distance = dr*dr + dg*dg + db*db + if distance == 0 | return idx | endif + if distance > smallest_distance | continue | endif + let smallest_distance = distance + let best_match = idx + endfor + return best_match + endfunction +endif + +let s:pattern_color = {} +let s:color_fg = {} +let s:color_bg = {} +let [s:hi_cmd, s:black, s:white] = s:is_gui + \ ? ['hi %s guibg=#%s guifg=%s', '#000000', '#ffffff'] + \ : ['hi %s ctermbg=%s ctermfg=%s', 0, 15] +function! s:create_syn_match() + + let pattern = submatch(0) + + if has_key( b:has_pattern_syn, pattern ) | return | endif + let b:has_pattern_syn[pattern] = 1 + + let rgb_color = get( s:pattern_color, pattern, '' ) + + if ! strlen( rgb_color ) + let hexcolor = submatch(1) + let funcname = submatch(2) + + if funcname == 'rgb' + let rgb_color = s:rgb2color(submatch(3),submatch(4),submatch(5)) + elseif funcname == 'hsl' + let rgb_color = s:hsl2color(submatch(3),submatch(4),submatch(5)) + elseif strlen(hexcolor) == 6 + let rgb_color = tolower(hexcolor) + elseif strlen(hexcolor) == 3 + let rgb_color = substitute(tolower(hexcolor), '\(.\)', '\1\1', 'g') + else + throw 'css_color: create_syn_match invoked on bad match data' + endif + + let s:pattern_color[pattern] = rgb_color + endif + + if ! has_key( b:has_color_hi, rgb_color ) + " check GUI flag early here to avoid pure-overhead caching + let syn_bg = s:is_gui ? rgb_color : get( s:color_bg, rgb_color, '' ) + if ! strlen(syn_bg) + let syn_bg = s:rgb2xterm(rgb_color) + let s:color_bg[rgb_color] = syn_bg + endif + + let syn_fg = get( s:color_fg, rgb_color, '' ) + if ! strlen(syn_fg) + let r = s:hex[rgb_color[0:1]] + let g = s:hex[rgb_color[2:3]] + let b = s:hex[rgb_color[4:5]] + let syn_fg = r*30 + g*59 + b*11 > 12000 ? s:black : s:white + let s:color_fg[rgb_color] = syn_fg + endif + endif + + let group = 'BG' . rgb_color + + if ! has_key( b:has_color_hi, rgb_color ) + exe printf( s:hi_cmd, group, syn_bg, syn_fg ) + let b:has_color_hi[rgb_color] = 1 + endif + + " iff pattern ends on word character, require word break to match + if pattern =~ '\>$' | let pattern .= '\>' | endif + exe 'syn match' group '/'.escape(pattern, '/').'/ contained containedin=@colorableGroup' + + return '' +endfunction + +function! s:update_matches() + call filter(b:color_match_id, 'matchdelete(v:val)') + if &l:cursorline + " adds matches based that duplicate the highlighted colors on the current line + let lnr = line('.') + let group = '' + let groupstart = 0 + let endcol = col('$') + for col in range( 1, endcol ) + let nextgroup = col < endcol ? synIDattr( synID( lnr, col, 1 ), 'name' ) : '' + if group == nextgroup | continue | endif + if group =~ '^BG\x\{6}$' + let regex = '\%'.lnr.'l\%'.groupstart.'c'.repeat( '.', col - groupstart ) + let match = matchadd( group, regex, -1 ) + let b:color_match_id += [ match ] + endif + let group = nextgroup + let groupstart = col + endfor + endif +endfunction + +let s:_hexcolor = '#\(\x\{3}\|\x\{6}\)\>' " submatch 1 +let s:_funcname = '\(rgb\|hsl\)a\?' " submatch 2 +let s:_numval = '\(\d\{1,3}%\?\)' " submatch 3,4,5 +let s:_ws_ = '\s*' +let s:_listsep = s:_ws_ . ',' . s:_ws_ +let s:_otherargs_ = '\%(,[^)]*\)\?' +let s:_funcexpr = s:_funcname . '[(]' . s:_numval . s:_listsep . s:_numval . s:_listsep . s:_numval . s:_ws_ . s:_otherargs_ . '[)]' +let s:_csscolor = s:_hexcolor . '\|' . s:_funcexpr +" N.B. these substitute() calls are here just for the side effect +" of invoking s:create_syn_match during substitution -- because +" match() and friends do not allow finding all matches in a single +" scan without examining the start of the string over and over +function! s:parse_css_screen() + call substitute( join( getline('w0','w$'), "\n" ), s:_csscolor, '\=s:create_syn_match()', 'g' ) + call s:update_matches() +endfunction +function! s:parse_any_screen() + call substitute( join( getline('w0','w$'), "\n" ), s:_hexcolor, '\=s:create_syn_match()', 'g' ) + call s:update_matches() +endfunction + +"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" + +function! css_color#init(type, groups) + exe 'syn cluster colorableGroup contains=' . a:groups + + let b:has_color_hi = {} + let b:has_pattern_syn = {} + let b:color_match_id = [] + + augroup CSSColor + autocmd! * <buffer> + exe 'autocmd CursorMoved,CursorMovedI <buffer> call s:parse_'.a:type.'_screen()' + augroup END + + do CSSColor CursorMoved <buffer> + + if a:type != 'css' | return | endif + + hi BG000000 guibg=#000000 guifg=#FFFFFF ctermbg=16 ctermfg=231 + hi BG000080 guibg=#000080 guifg=#FFFFFF ctermbg=235 ctermfg=231 + hi BG00008b guibg=#00008B guifg=#FFFFFF ctermbg=4 ctermfg=231 + hi BG0000cd guibg=#0000CD guifg=#FFFFFF ctermbg=4 ctermfg=231 + hi BG0000ff guibg=#0000FF guifg=#FFFFFF ctermbg=4 ctermfg=231 + hi BG006400 guibg=#006400 guifg=#FFFFFF ctermbg=235 ctermfg=231 + hi BG008000 guibg=#008000 guifg=#FFFFFF ctermbg=2 ctermfg=231 + hi BG008080 guibg=#008080 guifg=#FFFFFF ctermbg=30 ctermfg=231 + hi BG008b8b guibg=#008B8B guifg=#FFFFFF ctermbg=30 ctermfg=231 + hi BG00bfff guibg=#00BFFF guifg=#000000 ctermbg=6 ctermfg=16 + hi BG00ced1 guibg=#00CED1 guifg=#000000 ctermbg=6 ctermfg=16 + hi BG00fa9a guibg=#00FA9A guifg=#000000 ctermbg=6 ctermfg=16 + hi BG00ff00 guibg=#00FF00 guifg=#000000 ctermbg=10 ctermfg=16 + hi BG00ff7f guibg=#00FF7F guifg=#000000 ctermbg=6 ctermfg=16 + hi BG00ffff guibg=#00FFFF guifg=#000000 ctermbg=51 ctermfg=16 + hi BG191970 guibg=#191970 guifg=#FFFFFF ctermbg=237 ctermfg=231 + hi BG1e90ff guibg=#1E90FF guifg=#000000 ctermbg=12 ctermfg=16 + hi BG20b2aa guibg=#20B2AA guifg=#000000 ctermbg=37 ctermfg=16 + hi BG228b22 guibg=#228B22 guifg=#FFFFFF ctermbg=2 ctermfg=231 + hi BG2e8b57 guibg=#2E8B57 guifg=#FFFFFF ctermbg=240 ctermfg=231 + hi BG2f4f4f guibg=#2F4F4F guifg=#FFFFFF ctermbg=238 ctermfg=231 + hi BG32cd32 guibg=#32CD32 guifg=#000000 ctermbg=2 ctermfg=16 + hi BG3cb371 guibg=#3CB371 guifg=#000000 ctermbg=71 ctermfg=16 + hi BG40e0d0 guibg=#40E0D0 guifg=#000000 ctermbg=80 ctermfg=16 + hi BG4169e1 guibg=#4169E1 guifg=#FFFFFF ctermbg=12 ctermfg=231 + hi BG4682b4 guibg=#4682B4 guifg=#FFFFFF ctermbg=67 ctermfg=231 + hi BG483d8b guibg=#483D8B guifg=#FFFFFF ctermbg=240 ctermfg=231 + hi BG48d1cc guibg=#48D1CC guifg=#000000 ctermbg=80 ctermfg=16 + hi BG4b0082 guibg=#4B0082 guifg=#FFFFFF ctermbg=238 ctermfg=231 + hi BG556b2f guibg=#556B2F guifg=#FFFFFF ctermbg=239 ctermfg=231 + hi BG5f9ea0 guibg=#5F9EA0 guifg=#000000 ctermbg=73 ctermfg=16 + hi BG6495ed guibg=#6495ED guifg=#000000 ctermbg=12 ctermfg=16 + hi BG66cdaa guibg=#66CDAA guifg=#000000 ctermbg=79 ctermfg=16 + hi BG696969 guibg=#696969 guifg=#FFFFFF ctermbg=242 ctermfg=231 + hi BG6a5acd guibg=#6A5ACD guifg=#FFFFFF ctermbg=12 ctermfg=231 + hi BG6b8e23 guibg=#6B8E23 guifg=#FFFFFF ctermbg=241 ctermfg=231 + hi BG708090 guibg=#708090 guifg=#000000 ctermbg=66 ctermfg=16 + hi BG778899 guibg=#778899 guifg=#000000 ctermbg=102 ctermfg=16 + hi BG7b68ee guibg=#7B68EE guifg=#000000 ctermbg=12 ctermfg=16 + hi BG7cfc00 guibg=#7CFC00 guifg=#000000 ctermbg=3 ctermfg=16 + hi BG7fff00 guibg=#7FFF00 guifg=#000000 ctermbg=3 ctermfg=16 + hi BG7fffd4 guibg=#7FFFD4 guifg=#000000 ctermbg=122 ctermfg=16 + hi BG800000 guibg=#800000 guifg=#FFFFFF ctermbg=88 ctermfg=231 + hi BG800080 guibg=#800080 guifg=#FFFFFF ctermbg=240 ctermfg=231 + hi BG808000 guibg=#808000 guifg=#FFFFFF ctermbg=240 ctermfg=231 + hi BG808080 guibg=#808080 guifg=#000000 ctermbg=244 ctermfg=16 + hi BG87ceeb guibg=#87CEEB guifg=#000000 ctermbg=117 ctermfg=16 + hi BG87cefa guibg=#87CEFA guifg=#000000 ctermbg=117 ctermfg=16 + hi BG8a2be2 guibg=#8A2BE2 guifg=#FFFFFF ctermbg=12 ctermfg=231 + hi BG8b0000 guibg=#8B0000 guifg=#FFFFFF ctermbg=88 ctermfg=231 + hi BG8b008b guibg=#8B008B guifg=#FFFFFF ctermbg=5 ctermfg=231 + hi BG8b4513 guibg=#8B4513 guifg=#FFFFFF ctermbg=94 ctermfg=231 + hi BG8fbc8f guibg=#8FBC8F guifg=#000000 ctermbg=108 ctermfg=16 + hi BG90ee90 guibg=#90EE90 guifg=#000000 ctermbg=249 ctermfg=16 + hi BG9370d8 guibg=#9370D8 guifg=#000000 ctermbg=12 ctermfg=16 + hi BG9400d3 guibg=#9400D3 guifg=#FFFFFF ctermbg=5 ctermfg=231 + hi BG98fb98 guibg=#98FB98 guifg=#000000 ctermbg=250 ctermfg=16 + hi BG9932cc guibg=#9932CC guifg=#FFFFFF ctermbg=5 ctermfg=231 + hi BG9acd32 guibg=#9ACD32 guifg=#000000 ctermbg=3 ctermfg=16 + hi BGa0522d guibg=#A0522D guifg=#FFFFFF ctermbg=130 ctermfg=231 + hi BGa52a2a guibg=#A52A2A guifg=#FFFFFF ctermbg=124 ctermfg=231 + hi BGa9a9a9 guibg=#A9A9A9 guifg=#000000 ctermbg=248 ctermfg=16 + hi BGadd8e6 guibg=#ADD8E6 guifg=#000000 ctermbg=152 ctermfg=16 + hi BGadff2f guibg=#ADFF2F guifg=#000000 ctermbg=3 ctermfg=16 + hi BGafeeee guibg=#AFEEEE guifg=#000000 ctermbg=159 ctermfg=16 + hi BGb0c4de guibg=#B0C4DE guifg=#000000 ctermbg=152 ctermfg=16 + hi BGb0e0e6 guibg=#B0E0E6 guifg=#000000 ctermbg=152 ctermfg=16 + hi BGb22222 guibg=#B22222 guifg=#FFFFFF ctermbg=124 ctermfg=231 + hi BGb8860b guibg=#B8860B guifg=#000000 ctermbg=3 ctermfg=16 + hi BGba55d3 guibg=#BA55D3 guifg=#000000 ctermbg=5 ctermfg=16 + hi BGbc8f8f guibg=#BC8F8F guifg=#000000 ctermbg=138 ctermfg=16 + hi BGbdb76b guibg=#BDB76B guifg=#000000 ctermbg=247 ctermfg=16 + hi BGc0c0c0 guibg=#C0C0C0 guifg=#000000 ctermbg=250 ctermfg=16 + hi BGc71585 guibg=#C71585 guifg=#FFFFFF ctermbg=5 ctermfg=231 + hi BGcd5c5c guibg=#CD5C5C guifg=#000000 ctermbg=167 ctermfg=16 + hi BGcd853f guibg=#CD853F guifg=#000000 ctermbg=173 ctermfg=16 + hi BGd2691e guibg=#D2691E guifg=#000000 ctermbg=166 ctermfg=16 + hi BGd2b48c guibg=#D2B48C guifg=#000000 ctermbg=180 ctermfg=16 + hi BGd3d3d3 guibg=#D3D3D3 guifg=#000000 ctermbg=252 ctermfg=16 + hi BGd87093 guibg=#D87093 guifg=#000000 ctermbg=168 ctermfg=16 + hi BGd8bfd8 guibg=#D8BFD8 guifg=#000000 ctermbg=252 ctermfg=16 + hi BGda70d6 guibg=#DA70D6 guifg=#000000 ctermbg=249 ctermfg=16 + hi BGdaa520 guibg=#DAA520 guifg=#000000 ctermbg=3 ctermfg=16 + hi BGdc143c guibg=#DC143C guifg=#FFFFFF ctermbg=161 ctermfg=231 + hi BGdcdcdc guibg=#DCDCDC guifg=#000000 ctermbg=253 ctermfg=16 + hi BGdda0dd guibg=#DDA0DD guifg=#000000 ctermbg=182 ctermfg=16 + hi BGdeb887 guibg=#DEB887 guifg=#000000 ctermbg=180 ctermfg=16 + hi BGe0ffff guibg=#E0FFFF guifg=#000000 ctermbg=195 ctermfg=16 + hi BGe6e6fa guibg=#E6E6FA guifg=#000000 ctermbg=255 ctermfg=16 + hi BGe9967a guibg=#E9967A guifg=#000000 ctermbg=174 ctermfg=16 + hi BGee82ee guibg=#EE82EE guifg=#000000 ctermbg=251 ctermfg=16 + hi BGeee8aa guibg=#EEE8AA guifg=#000000 ctermbg=223 ctermfg=16 + hi BGf08080 guibg=#F08080 guifg=#000000 ctermbg=210 ctermfg=16 + hi BGf0e68c guibg=#F0E68C guifg=#000000 ctermbg=222 ctermfg=16 + hi BGf0f8ff guibg=#F0F8FF guifg=#000000 ctermbg=15 ctermfg=16 + hi BGf0fff0 guibg=#F0FFF0 guifg=#000000 ctermbg=255 ctermfg=16 + hi BGf0ffff guibg=#F0FFFF guifg=#000000 ctermbg=15 ctermfg=16 + hi BGf4a460 guibg=#F4A460 guifg=#000000 ctermbg=215 ctermfg=16 + hi BGf5deb3 guibg=#F5DEB3 guifg=#000000 ctermbg=223 ctermfg=16 + hi BGf5f5dc guibg=#F5F5DC guifg=#000000 ctermbg=255 ctermfg=16 + hi BGf5f5f5 guibg=#F5F5F5 guifg=#000000 ctermbg=255 ctermfg=16 + hi BGf5fffa guibg=#F5FFFA guifg=#000000 ctermbg=15 ctermfg=16 + hi BGf8f8ff guibg=#F8F8FF guifg=#000000 ctermbg=15 ctermfg=16 + hi BGfa8072 guibg=#FA8072 guifg=#000000 ctermbg=209 ctermfg=16 + hi BGfaebd7 guibg=#FAEBD7 guifg=#000000 ctermbg=7 ctermfg=16 + hi BGfaf0e6 guibg=#FAF0E6 guifg=#000000 ctermbg=255 ctermfg=16 + hi BGfafad2 guibg=#FAFAD2 guifg=#000000 ctermbg=255 ctermfg=16 + hi BGfdf5e6 guibg=#FDF5E6 guifg=#000000 ctermbg=255 ctermfg=16 + hi BGff0000 guibg=#FF0000 guifg=#FFFFFF ctermbg=196 ctermfg=231 + hi BGff00ff guibg=#FF00FF guifg=#FFFFFF ctermbg=13 ctermfg=231 + hi BGff1493 guibg=#FF1493 guifg=#FFFFFF ctermbg=5 ctermfg=231 + hi BGff4500 guibg=#FF4500 guifg=#FFFFFF ctermbg=9 ctermfg=231 + hi BGff6347 guibg=#FF6347 guifg=#000000 ctermbg=203 ctermfg=16 + hi BGff69b4 guibg=#FF69B4 guifg=#000000 ctermbg=205 ctermfg=16 + hi BGff7f50 guibg=#FF7F50 guifg=#000000 ctermbg=209 ctermfg=16 + hi BGff8c00 guibg=#FF8C00 guifg=#000000 ctermbg=3 ctermfg=16 + hi BGffa07a guibg=#FFA07A guifg=#000000 ctermbg=216 ctermfg=16 + hi BGffa500 guibg=#FFA500 guifg=#000000 ctermbg=3 ctermfg=16 + hi BGffb6c1 guibg=#FFB6C1 guifg=#000000 ctermbg=217 ctermfg=16 + hi BGffc0cb guibg=#FFC0CB guifg=#000000 ctermbg=218 ctermfg=16 + hi BGffd700 guibg=#FFD700 guifg=#000000 ctermbg=11 ctermfg=16 + hi BGffdab9 guibg=#FFDAB9 guifg=#000000 ctermbg=223 ctermfg=16 + hi BGffdead guibg=#FFDEAD guifg=#000000 ctermbg=223 ctermfg=16 + hi BGffe4b5 guibg=#FFE4B5 guifg=#000000 ctermbg=223 ctermfg=16 + hi BGffe4c4 guibg=#FFE4C4 guifg=#000000 ctermbg=224 ctermfg=16 + hi BGffe4e1 guibg=#FFE4E1 guifg=#000000 ctermbg=224 ctermfg=16 + hi BGffebcd guibg=#FFEBCD guifg=#000000 ctermbg=7 ctermfg=16 + hi BGffefd5 guibg=#FFEFD5 guifg=#000000 ctermbg=255 ctermfg=16 + hi BGfff0f5 guibg=#FFF0F5 guifg=#000000 ctermbg=15 ctermfg=16 + hi BGfff5ee guibg=#FFF5EE guifg=#000000 ctermbg=255 ctermfg=16 + hi BGfff8dc guibg=#FFF8DC guifg=#000000 ctermbg=255 ctermfg=16 + hi BGfffacd guibg=#FFFACD guifg=#000000 ctermbg=255 ctermfg=16 + hi BGfffaf0 guibg=#FFFAF0 guifg=#000000 ctermbg=15 ctermfg=16 + hi BGfffafa guibg=#FFFAFA guifg=#000000 ctermbg=15 ctermfg=16 + hi BGffff00 guibg=#FFFF00 guifg=#000000 ctermbg=11 ctermfg=16 + hi BGffffe0 guibg=#FFFFE0 guifg=#000000 ctermbg=255 ctermfg=16 + hi BGfffff0 guibg=#FFFFF0 guifg=#000000 ctermbg=15 ctermfg=16 + hi BGffffff guibg=#FFFFFF guifg=#000000 ctermbg=231 ctermfg=16 + + " W3C Colors + syn keyword BG000000 black contained containedin=@colorableGroup + syn keyword BGc0c0c0 silver contained containedin=@colorableGroup + syn keyword BG808080 gray contained containedin=@colorableGroup + syn match BGffffff "\<white\(-\)\@!\>" contained containedin=@colorableGroup + syn keyword BG800000 maroon contained containedin=@colorableGroup + syn keyword BGff0000 red contained containedin=@colorableGroup + syn keyword BG800080 purple contained containedin=@colorableGroup + syn keyword BGff00ff fuchsia contained containedin=@colorableGroup + syn keyword BG008000 green contained containedin=@colorableGroup + syn keyword BG00ff00 lime contained containedin=@colorableGroup + syn keyword BG808000 olive contained containedin=@colorableGroup + syn keyword BGffff00 yellow contained containedin=@colorableGroup + syn keyword BG000080 navy contained containedin=@colorableGroup + syn keyword BG0000ff blue contained containedin=@colorableGroup + syn keyword BG008080 teal contained containedin=@colorableGroup + syn keyword BG00ffff aqua contained containedin=@colorableGroup + + " extra colors + syn keyword BGf0f8ff AliceBlue contained containedin=@colorableGroup + syn keyword BGfaebd7 AntiqueWhite contained containedin=@colorableGroup + syn keyword BG7fffd4 Aquamarine contained containedin=@colorableGroup + syn keyword BGf0ffff Azure contained containedin=@colorableGroup + syn keyword BGf5f5dc Beige contained containedin=@colorableGroup + syn keyword BGffe4c4 Bisque contained containedin=@colorableGroup + syn keyword BGffebcd BlanchedAlmond contained containedin=@colorableGroup + syn keyword BG8a2be2 BlueViolet contained containedin=@colorableGroup + syn keyword BGa52a2a Brown contained containedin=@colorableGroup + syn keyword BGdeb887 BurlyWood contained containedin=@colorableGroup + syn keyword BG5f9ea0 CadetBlue contained containedin=@colorableGroup + syn keyword BG7fff00 Chartreuse contained containedin=@colorableGroup + syn keyword BGd2691e Chocolate contained containedin=@colorableGroup + syn keyword BGff7f50 Coral contained containedin=@colorableGroup + syn keyword BG6495ed CornflowerBlue contained containedin=@colorableGroup + syn keyword BGfff8dc Cornsilk contained containedin=@colorableGroup + syn keyword BGdc143c Crimson contained containedin=@colorableGroup + syn keyword BG00ffff Cyan contained containedin=@colorableGroup + syn keyword BG00008b DarkBlue contained containedin=@colorableGroup + syn keyword BG008b8b DarkCyan contained containedin=@colorableGroup + syn keyword BGb8860b DarkGoldenRod contained containedin=@colorableGroup + syn keyword BGa9a9a9 DarkGray contained containedin=@colorableGroup + syn keyword BG006400 DarkGreen contained containedin=@colorableGroup + syn keyword BGa9a9a9 DarkGrey contained containedin=@colorableGroup + syn keyword BGbdb76b DarkKhaki contained containedin=@colorableGroup + syn keyword BG8b008b DarkMagenta contained containedin=@colorableGroup + syn keyword BG556b2f DarkOliveGreen contained containedin=@colorableGroup + syn keyword BG9932cc DarkOrchid contained containedin=@colorableGroup + syn keyword BG8b0000 DarkRed contained containedin=@colorableGroup + syn keyword BGe9967a DarkSalmon contained containedin=@colorableGroup + syn keyword BG8fbc8f DarkSeaGreen contained containedin=@colorableGroup + syn keyword BG483d8b DarkSlateBlue contained containedin=@colorableGroup + syn keyword BG2f4f4f DarkSlateGray contained containedin=@colorableGroup + syn keyword BG2f4f4f DarkSlateGrey contained containedin=@colorableGroup + syn keyword BG00ced1 DarkTurquoise contained containedin=@colorableGroup + syn keyword BG9400d3 DarkViolet contained containedin=@colorableGroup + syn keyword BGff8c00 Darkorange contained containedin=@colorableGroup + syn keyword BGff1493 DeepPink contained containedin=@colorableGroup + syn keyword BG00bfff DeepSkyBlue contained containedin=@colorableGroup + syn keyword BG696969 DimGray contained containedin=@colorableGroup + syn keyword BG696969 DimGrey contained containedin=@colorableGroup + syn keyword BG1e90ff DodgerBlue contained containedin=@colorableGroup + syn keyword BGb22222 FireBrick contained containedin=@colorableGroup + syn keyword BGfffaf0 FloralWhite contained containedin=@colorableGroup + syn keyword BG228b22 ForestGreen contained containedin=@colorableGroup + syn keyword BGdcdcdc Gainsboro contained containedin=@colorableGroup + syn keyword BGf8f8ff GhostWhite contained containedin=@colorableGroup + syn keyword BGffd700 Gold contained containedin=@colorableGroup + syn keyword BGdaa520 GoldenRod contained containedin=@colorableGroup + syn keyword BGadff2f GreenYellow contained containedin=@colorableGroup + syn keyword BG808080 Grey contained containedin=@colorableGroup + syn keyword BGf0fff0 HoneyDew contained containedin=@colorableGroup + syn keyword BGff69b4 HotPink contained containedin=@colorableGroup + syn keyword BGcd5c5c IndianRed contained containedin=@colorableGroup + syn keyword BG4b0082 Indigo contained containedin=@colorableGroup + syn keyword BGfffff0 Ivory contained containedin=@colorableGroup + syn keyword BGf0e68c Khaki contained containedin=@colorableGroup + syn keyword BGe6e6fa Lavender contained containedin=@colorableGroup + syn keyword BGfff0f5 LavenderBlush contained containedin=@colorableGroup + syn keyword BG7cfc00 LawnGreen contained containedin=@colorableGroup + syn keyword BGfffacd LemonChiffon contained containedin=@colorableGroup + syn keyword BGadd8e6 LightBlue contained containedin=@colorableGroup + syn keyword BGf08080 LightCoral contained containedin=@colorableGroup + syn keyword BGe0ffff LightCyan contained containedin=@colorableGroup + syn keyword BGfafad2 LightGoldenRodYellow contained containedin=@colorableGroup + syn keyword BGd3d3d3 LightGray contained containedin=@colorableGroup + syn keyword BG90ee90 LightGreen contained containedin=@colorableGroup + syn keyword BGd3d3d3 LightGrey contained containedin=@colorableGroup + syn keyword BGffb6c1 LightPink contained containedin=@colorableGroup + syn keyword BGffa07a LightSalmon contained containedin=@colorableGroup + syn keyword BG20b2aa LightSeaGreen contained containedin=@colorableGroup + syn keyword BG87cefa LightSkyBlue contained containedin=@colorableGroup + syn keyword BG778899 LightSlateGray contained containedin=@colorableGroup + syn keyword BG778899 LightSlateGrey contained containedin=@colorableGroup + syn keyword BGb0c4de LightSteelBlue contained containedin=@colorableGroup + syn keyword BGffffe0 LightYellow contained containedin=@colorableGroup + syn keyword BG32cd32 LimeGreen contained containedin=@colorableGroup + syn keyword BGfaf0e6 Linen contained containedin=@colorableGroup + syn keyword BGff00ff Magenta contained containedin=@colorableGroup + syn keyword BG66cdaa MediumAquaMarine contained containedin=@colorableGroup + syn keyword BG0000cd MediumBlue contained containedin=@colorableGroup + syn keyword BGba55d3 MediumOrchid contained containedin=@colorableGroup + syn keyword BG9370d8 MediumPurple contained containedin=@colorableGroup + syn keyword BG3cb371 MediumSeaGreen contained containedin=@colorableGroup + syn keyword BG7b68ee MediumSlateBlue contained containedin=@colorableGroup + syn keyword BG00fa9a MediumSpringGreen contained containedin=@colorableGroup + syn keyword BG48d1cc MediumTurquoise contained containedin=@colorableGroup + syn keyword BGc71585 MediumVioletRed contained containedin=@colorableGroup + syn keyword BG191970 MidnightBlue contained containedin=@colorableGroup + syn keyword BGf5fffa MintCream contained containedin=@colorableGroup + syn keyword BGffe4e1 MistyRose contained containedin=@colorableGroup + syn keyword BGffe4b5 Moccasin contained containedin=@colorableGroup + syn keyword BGffdead NavajoWhite contained containedin=@colorableGroup + syn keyword BGfdf5e6 OldLace contained containedin=@colorableGroup + syn keyword BG6b8e23 OliveDrab contained containedin=@colorableGroup + syn keyword BGffa500 Orange contained containedin=@colorableGroup + syn keyword BGff4500 OrangeRed contained containedin=@colorableGroup + syn keyword BGda70d6 Orchid contained containedin=@colorableGroup + syn keyword BGeee8aa PaleGoldenRod contained containedin=@colorableGroup + syn keyword BG98fb98 PaleGreen contained containedin=@colorableGroup + syn keyword BGafeeee PaleTurquoise contained containedin=@colorableGroup + syn keyword BGd87093 PaleVioletRed contained containedin=@colorableGroup + syn keyword BGffefd5 PapayaWhip contained containedin=@colorableGroup + syn keyword BGffdab9 PeachPuff contained containedin=@colorableGroup + syn keyword BGcd853f Peru contained containedin=@colorableGroup + syn keyword BGffc0cb Pink contained containedin=@colorableGroup + syn keyword BGdda0dd Plum contained containedin=@colorableGroup + syn keyword BGb0e0e6 PowderBlue contained containedin=@colorableGroup + syn keyword BGbc8f8f RosyBrown contained containedin=@colorableGroup + syn keyword BG4169e1 RoyalBlue contained containedin=@colorableGroup + syn keyword BG8b4513 SaddleBrown contained containedin=@colorableGroup + syn keyword BGfa8072 Salmon contained containedin=@colorableGroup + syn keyword BGf4a460 SandyBrown contained containedin=@colorableGroup + syn keyword BG2e8b57 SeaGreen contained containedin=@colorableGroup + syn keyword BGfff5ee SeaShell contained containedin=@colorableGroup + syn keyword BGa0522d Sienna contained containedin=@colorableGroup + syn keyword BG87ceeb SkyBlue contained containedin=@colorableGroup + syn keyword BG6a5acd SlateBlue contained containedin=@colorableGroup + syn keyword BG708090 SlateGray contained containedin=@colorableGroup + syn keyword BG708090 SlateGrey contained containedin=@colorableGroup + syn keyword BGfffafa Snow contained containedin=@colorableGroup + syn keyword BG00ff7f SpringGreen contained containedin=@colorableGroup + syn keyword BG4682b4 SteelBlue contained containedin=@colorableGroup + syn keyword BGd2b48c Tan contained containedin=@colorableGroup + syn keyword BGd8bfd8 Thistle contained containedin=@colorableGroup + syn keyword BGff6347 Tomato contained containedin=@colorableGroup + syn keyword BG40e0d0 Turquoise contained containedin=@colorableGroup + syn keyword BGee82ee Violet contained containedin=@colorableGroup + syn keyword BGf5deb3 Wheat contained containedin=@colorableGroup + syn keyword BGf5f5f5 WhiteSmoke contained containedin=@colorableGroup + syn keyword BG9acd32 YellowGreen contained containedin=@colorableGroup +endfunction @@ -117,7 +117,7 @@ PACKS=" twig:beyondwords/vim-twig xls:vim-scripts/XSLT-syntax yard:sheerun/vim-yardoc - css-color:gorodinskiy/vim-coloresque + css-color:ap/vim-css-color " rm -rf tmp |