Permalink
Browse files

gvim colors!! (Closes #5)

  • Loading branch information...
1 parent 201daeb commit 93fdcf0f4da35593b54a81e1fa6a041962bec5e5 @rking committed with rking@sharpsaw.org Nov 13, 2012
Showing with 273 additions and 12 deletions.
  1. +273 −12 colors/detailed.vim
View
@@ -71,12 +71,6 @@
let colors_name = 'detailed'
-" For now, force darkness. If you're a big fan of white bg's, let me know, and
-" we can collaborate on a solution.
-set bg=dark
-hi Normal ctermfg=254 ctermbg=0
-" Note: ctermbg=233 was my previous value before user feedback. Any opinions?
-
" Prevent any screwy setting from causing errors:
let s:save_cpo = &cpo | set cpo&vim
@@ -96,6 +90,259 @@ fun! <SID>SynStack()
endfun
" Color Palette {{{
+
+" Boring ctermfg ⇒ guifg map {{{
+let s:cterm_gui_map = {
+ \0: '000000',
+ \1: 'ff0000',
+ \2: '00ff00',
+ \3: 'ffff00',
+ \4: '0000ff',
+ \5: 'ff00ff',
+ \6: '00ffff',
+ \16: '000000',
+ \17: '00005f',
+ \18: '000087',
+ \19: '0000af',
+ \20: '0000d7',
+ \21: '0000ff',
+ \22: '005f00',
+ \23: '005f5f',
+ \24: '005f87',
+ \25: '005faf',
+ \26: '005fd7',
+ \27: '005fff',
+ \28: '008700',
+ \29: '00875f',
+ \30: '008787',
+ \31: '0087af',
+ \32: '0087d7',
+ \33: '0087ff',
+ \34: '00af00',
+ \35: '00af5f',
+ \36: '00af87',
+ \37: '00afaf',
+ \38: '00afd7',
+ \39: '00afff',
+ \40: '00d700',
+ \41: '00d75f',
+ \42: '00d787',
+ \43: '00d7af',
+ \44: '00d7d7',
+ \45: '00d7ff',
+ \46: '00ff00',
+ \47: '00ff5f',
+ \48: '00ff87',
+ \49: '00ffaf',
+ \50: '00ffd7',
+ \51: '00ffff',
+ \52: '5f0000',
+ \53: '5f005f',
+ \54: '5f0087',
+ \55: '5f00af',
+ \56: '5f00d7',
+ \57: '5f00ff',
+ \58: '5f5f00',
+ \59: '5f5f5f',
+ \60: '5f5f87',
+ \61: '5f5faf',
+ \62: '5f5fd7',
+ \63: '5f5fff',
+ \64: '5f8700',
+ \65: '5f875f',
+ \66: '5f8787',
+ \67: '5f87af',
+ \68: '5f87d7',
+ \69: '5f87ff',
+ \70: '5faf00',
+ \71: '5faf5f',
+ \72: '5faf87',
+ \73: '5fafaf',
+ \74: '5fafd7',
+ \75: '5fafff',
+ \76: '5fd700',
+ \77: '5fd75f',
+ \78: '5fd787',
+ \79: '5fd7af',
+ \80: '5fd7d7',
+ \81: '5fd7ff',
+ \82: '5fff00',
+ \83: '5fff5f',
+ \84: '5fff87',
+ \85: '5fffaf',
+ \86: '5fffd7',
+ \87: '5fffff',
+ \88: '870000',
+ \89: '87005f',
+ \90: '870087',
+ \91: '8700af',
+ \92: '8700d7',
+ \93: '8700ff',
+ \94: '875f00',
+ \95: '875f5f',
+ \96: '875f87',
+ \97: '875faf',
+ \98: '875fd7',
+ \99: '875fff',
+ \100: '878700',
+ \101: '87875f',
+ \102: '878787',
+ \103: '8787af',
+ \104: '8787d7',
+ \105: '8787ff',
+ \106: '87af00',
+ \107: '87af5f',
+ \108: '87af87',
+ \109: '87afaf',
+ \110: '87afd7',
+ \111: '87afff',
+ \112: '87d700',
+ \113: '87d75f',
+ \114: '87d787',
+ \115: '87d7af',
+ \116: '87d7d7',
+ \117: '87d7ff',
+ \118: '87ff00',
+ \119: '87ff5f',
+ \120: '87ff87',
+ \121: '87ffaf',
+ \122: '87ffd7',
+ \123: '87ffff',
+ \124: 'af0000',
+ \125: 'af005f',
+ \126: 'af0087',
+ \127: 'af00af',
+ \128: 'af00d7',
+ \129: 'af00ff',
+ \130: 'af5f00',
+ \131: 'af5f5f',
+ \132: 'af5f87',
+ \133: 'af5faf',
+ \134: 'af5fd7',
+ \135: 'af5fff',
+ \136: 'af8700',
+ \137: 'af875f',
+ \138: 'af8787',
+ \139: 'af87af',
+ \140: 'af87d7',
+ \141: 'af87ff',
+ \142: 'afaf00',
+ \143: 'afaf5f',
+ \144: 'afaf87',
+ \145: 'afafaf',
+ \146: 'afafd7',
+ \147: 'afafff',
+ \148: 'afd700',
+ \149: 'afd75f',
+ \150: 'afd787',
+ \151: 'afd7af',
+ \152: 'afd7d7',
+ \153: 'afd7ff',
+ \154: 'afff00',
+ \155: 'afff5f',
+ \156: 'afff87',
+ \157: 'afffaf',
+ \158: 'afffd7',
+ \159: 'afffff',
+ \160: 'd70000',
+ \161: 'd7005f',
+ \162: 'd70087',
+ \163: 'd700af',
+ \164: 'd700d7',
+ \165: 'd700ff',
+ \166: 'd75f00',
+ \167: 'd75f5f',
+ \168: 'd75f87',
+ \169: 'd75faf',
+ \170: 'd75fd7',
+ \171: 'd75fff',
+ \172: 'd78700',
+ \173: 'd7875f',
+ \174: 'd78787',
+ \175: 'd787af',
+ \176: 'd787d7',
+ \177: 'd787ff',
+ \178: 'd7af00',
+ \179: 'd7af5f',
+ \180: 'd7af87',
+ \181: 'd7afaf',
+ \182: 'd7afd7',
+ \183: 'd7afff',
+ \184: 'd7d700',
+ \185: 'd7d75f',
+ \186: 'd7d787',
+ \187: 'd7d7af',
+ \188: 'd7d7d7',
+ \189: 'd7d7ff',
+ \190: 'd7ff00',
+ \191: 'd7ff5f',
+ \192: 'd7ff87',
+ \193: 'd7ffaf',
+ \194: 'd7ffd7',
+ \195: 'd7ffff',
+ \196: 'ff0000',
+ \197: 'ff005f',
+ \198: 'ff0087',
+ \199: 'ff00af',
+ \200: 'ff00d7',
+ \201: 'ff00ff',
+ \202: 'ff5f00',
+ \203: 'ff5f5f',
+ \204: 'ff5f87',
+ \205: 'ff5faf',
+ \206: 'ff5fd7',
+ \207: 'ff5fff',
+ \208: 'ff8700',
+ \209: 'ff875f',
+ \210: 'ff8787',
+ \211: 'ff87af',
+ \212: 'ff87d7',
+ \213: 'ff87ff',
+ \214: 'ffaf00',
+ \215: 'ffaf5f',
+ \216: 'ffaf87',
+ \217: 'ffafaf',
+ \218: 'ffafd7',
+ \219: 'ffafff',
+ \220: 'ffd700',
+ \221: 'ffd75f',
+ \222: 'ffd787',
+ \223: 'ffd7af',
+ \224: 'ffd7d7',
+ \225: 'ffd7ff',
+ \226: 'ffff00',
+ \227: 'ffff5f',
+ \228: 'ffff87',
+ \229: 'ffffaf',
+ \230: 'ffffd7',
+ \231: 'ffffff',
+ \232: '080808',
+ \233: '121212',
+ \234: '1c1c1c',
+ \235: '262626',
+ \236: '303030',
+ \237: '3a3a3a',
+ \238: '444444',
+ \239: '4e4e4e',
+ \240: '585858',
+ \241: '626262',
+ \242: '6c6c6c',
+ \243: '767676',
+ \244: '808080',
+ \245: '8a8a8a',
+ \246: '949494',
+ \247: '9e9e9e',
+ \248: 'a8a8a8',
+ \249: 'b2b2b2',
+ \250: 'bcbcbc',
+ \251: 'c6c6c6',
+ \252: 'd0d0d0',
+ \253: 'dadada',
+ \254: 'e4e4e4',
+ \255: 'eeeeee',
+ \}
+" }}}
+
let s:c = {
\'basic8_red (TODO: use this)': 1,
\'basic8_green': 2,
@@ -186,35 +433,49 @@ let s:c = {
\'gray254': 254,
\'gray255': 255,
\}
+
" }}}
" :hi funcs {{{
+fun! s:color_for(id, fgbg)
+ let num = s:c[a:id]
+ let gui = s:cterm_gui_map[l:num]
+ return 'cterm'.a:fgbg.'='.l:num.' gui'.a:fgbg.'=#'.l:gui
+endfun
+
fun! s:fg(group, fg)
- exe 'hi '.a:group.' ctermfg='.s:c[a:fg]
+ exe 'hi '.a:group.' '.s:color_for(a:fg,'fg')
endfun
fun! s:bg(group, bg)
- exe 'hi '.a:group.' ctermbg='.s:c[a:bg]
+ exe 'hi '.a:group.' '.s:color_for(a:bg,'bg')
endfun
fun! s:fgbg(group, fg, bg)
- exe 'hi '.a:group.' ctermfg='.s:c[a:fg].' ctermbg='.s:c[a:bg]
+ exe 'hi '.a:group.' '.s:color_for(a:fg,'fg').' '.s:color_for(a:bg,'bg')
endfun
fun! s:bold_fg(group, fg)
- exe 'hi '.a:group.' ctermfg='.s:c[a:fg].' cterm=bold'
+ exe 'hi '.a:group.' '.s:color_for(a:fg,'fg').' cterm=bold gui=bold'
endfun
fun! s:underline_fgbg(group, fg, bg)
- exe 'hi '.a:group.' ctermfg='.s:c[a:fg].
- \' ctermbg='.s:c[a:bg].' cterm=underline,bold'
+ exe 'hi '.a:group.' ctermfg='.s:c[a:fg].' '
+ \s:color_for(a:bg,'bg').' cterm=underline,bold gui=underline,bold'
endfun
fun! s:make_obvious(group)
call s:fgbg(a:group, 'green84', 'red160')
endfun
" }}}
+" For now, force darkness. If you're a big fan of white bg's, let me know, and
+" we can collaborate on a solution.
+set bg=dark
+hi Normal ctermfg=254 ctermbg=0
+call s:fgbg('Normal', 'gray254', 'basic8_black')
+" Note: ctermbg=233 was my previous value before user feedback. Any opinions?
+
" Basic/Default-like Palette {{{
hi SpecialKey term=bold ctermfg=81 guifg=Cyan
hi NonText term=bold ctermfg=12 gui=bold guifg=Blue

0 comments on commit 93fdcf0

Please sign in to comment.