.vim/colors/moon.vim
author Eugen Sawin <sawine@me73.com>
Sun, 04 Mar 2012 00:19:19 +0100
changeset 1 ec86797f55f8
permissions -rw-r--r--
No blinking cursor.
     1 set background=dark
     2 highlight clear
     3 if exists("syntax_on")
     4   syntax reset
     5 endif
     6 let g:colors_name = "moon"
     7 
     8 " colours
     9 let s:moon = {}
    10 let s:moon.plain = ['ffffff', 15]
    11 let s:moon.snow = ['ffffff', 15]
    12 let s:moon.coal = ['000000', 16]
    13 let s:moon.brightgravel = ['d9cec3', 252]
    14 let s:moon.lightgravel = ['998f84', 245]
    15 let s:moon.gravel = ['857f78', 243]
    16 let s:moon.mediumgravel = ['666462', 241]
    17 let s:moon.deepgravel = ['45413b', 238]
    18 let s:moon.deepergravel = ['35322d', 236]
    19 let s:moon.darkgravel = ['242321', 235]
    20 let s:moon.blackgravel = ['1c1b1a', 233]
    21 let s:moon.blackestgravel = ['141413', 232]
    22 let s:moon.dalespale = ['fade3e', 221]
    23 let s:moon.dirtyblonde = ['f4cf86', 222]
    24 let s:moon.taffy = ['ff2c4b', 196]
    25 let s:moon.saltwatertaffy = ['8cffba', 121]
    26 let s:moon.tardis = ['0a9dff', 39]
    27 let s:moon.orange = ['ffa724', 214]
    28 let s:moon.lime = ['aeee00', 148]
    29 let s:moon.dress = ['ff9eb8', 211]
    30 let s:moon.toffee = ['b88853', 137]
    31 let s:moon.coffee  = ['c7915b', 173]
    32 let s:moon.darkroast = ['88633f', 95]
    33 
    34 " live group picker
    35 nmap <C-S-P> :call <SID>SynStack()<CR>
    36 function! <SID>SynStack()
    37   if !exists("*synstack")
    38     return
    39   endif
    40   echo map(synstack(line('.'), col('.')), 'synIDattr(v:val, "name")')
    41 endfunc
    42 
    43 " highlight function by Steve Josh
    44 function! HL(group, fg, ...)
    45     " Arguments: group, guifg, guibg, gui, guisp
    46     let histring = 'hi ' . a:group . ' '
    47     if strlen(a:fg)
    48         if a:fg == 'fg'
    49             let histring .= 'guifg=fg ctermfg=fg '
    50         else
    51             let c = get(s:moon, a:fg)
    52             let histring .= 'guifg=#' . c[0] . ' ctermfg=' . c[1] . ' '
    53         endif
    54     endif
    55     if a:0 >= 1 && strlen(a:1)
    56         if a:1 == 'bg'
    57             let histring .= 'guibg=bg ctermbg=bg '
    58         else
    59             let c = get(s:moon, a:1)
    60             let histring .= 'guibg=#' . c[0] . ' ctermbg=' . c[1] . ' '
    61         endif
    62     endif
    63     if a:0 >= 2 && strlen(a:2)
    64         let histring .= 'gui=' . a:2 . ' cterm=' . a:2 . ' '
    65     endif
    66 
    67     if a:0 >= 3 && strlen(a:3)
    68         let c = get(s:moon, a:3)
    69         let histring .= 'guisp=#' . c[0] . ' '
    70     endif
    71     " echom histring
    72     execute histring
    73 endfunction
    74 
    75 "
    76 " Colour assignments
    77 "
    78 
    79 call HL('Normal', 'plain', 'blackgravel')
    80 call HL('Folded', 'mediumgravel', 'bg', 'none')
    81 
    82 call HL('VertSplit', 'lightgravel', 'bg', 'none')
    83 
    84 call HL('CursorLine',   '', 'darkgravel', 'none')
    85 call HL('CursorColumn', '', 'darkgravel')
    86 call HL('ColorColumn',  '', 'darkgravel')
    87 
    88 call HL('MatchParen', 'dalespale', 'darkgravel', 'bold')
    89 
    90 call HL('NonText',    'deepgravel', 'bg')
    91 call HL('SpecialKey', 'deepgravel', 'bg')
    92 
    93 call HL('Visual',    '',  'deepgravel')
    94 call HL('VisualNOS', '',  'deepgravel')
    95 
    96 call HL('Search',    'coal', 'dalespale', 'bold')
    97 call HL('IncSearch', 'coal', 'tardis',    'bold')
    98 
    99 call HL('Underlined', 'fg', '', 'underline')
   100 
   101 call HL('StatusLine',   'coal', 'tardis',     'bold')
   102 call HL('StatusLineNC', 'snow', 'deepgravel', 'bold')
   103 
   104 call HL('Directory', 'dirtyblonde', '', 'bold')
   105 
   106 call HL('Title', 'lime')
   107 
   108 call HL('ErrorMsg',   'taffy',       'bg', 'bold')
   109 call HL('MoreMsg',    'dalespale',   '',   'bold')
   110 call HL('ModeMsg',    'dirtyblonde', '',   'bold')
   111 call HL('Question',   'dirtyblonde', '',   'bold')
   112 call HL('WarningMsg', 'dress',       '',   'bold')
   113 call HL('Tag', '', '', 'bold')
   114 
   115 call HL('LineNr',     'mediumgravel', 'blackgravel')
   116 call HL('SignColumn', '',             'blackgravel')
   117 call HL('FoldColumn', 'mediumgravel', 'blackgravel')
   118 
   119 call HL('Cursor',  'coal', 'tardis', 'bold')
   120 call HL('vCursor', 'coal', 'tardis', 'bold')
   121 call HL('iCursor', 'coal', 'tardis', 'none')
   122 
   123 " Syntax highlighting
   124 call HL('Special', 'plain')
   125 
   126 " Comments are slightly brighter than folds, to make 'headers' easier to see.
   127 call HL('Comment',        'gravel')
   128 call HL('Todo',           'snow', 'bg', 'bold')
   129 call HL('SpecialComment', 'snow', 'bg', 'bold')
   130 
   131 " Strings are a nice, pale straw color.  Nothing too fancy.
   132 call HL('String', 'dirtyblonde')
   133 
   134 " Control flow stuff is taffy.
   135 call HL('Statement',   'taffy', '', 'bold')
   136 call HL('Keyword',     'taffy', '', 'bold')
   137 call HL('Conditional', 'taffy', '', 'bold')
   138 call HL('Operator',    'taffy', '', 'none')
   139 call HL('Label',       'taffy', '', 'none')
   140 call HL('Repeat',      'taffy', '', 'none')
   141 
   142 " Functions and variable declarations are orange, because plain looks weird.
   143 call HL('Identifier', 'orange', '', 'none')
   144 call HL('Function',   'orange', '', 'none')
   145 
   146 " Preprocessor stuff is lime, to make it pop.
   147 "
   148 " This includes imports in any given language, because they should usually be
   149 " grouped together at the beginning of a file.  If they're in the middle of some
   150 " other code they should stand out, because something tricky is
   151 " probably going on.
   152 call HL('PreProc',   'lime', '', 'none')
   153 call HL('Macro',     'lime', '', 'none')
   154 call HL('Define',    'lime', '', 'none')
   155 call HL('PreCondit', 'lime', '', 'bold')
   156 
   157 " Constants of all kinds are colored together.
   158 " I'm not really happy with the color yet...
   159 call HL('Constant',  'toffee', '', 'bold')
   160 call HL('Character', 'toffee', '', 'bold')
   161 call HL('Boolean',   'toffee', '', 'bold')
   162 
   163 call HL('Number', 'toffee', '', 'bold')
   164 call HL('Float',  'toffee', '', 'bold')
   165 
   166 " Not sure what 'special character in a constant' means, but let's make it pop.
   167 call HL('SpecialChar', 'dress', '', 'bold')
   168 
   169 call HL('Type', 'dress', '', 'none')
   170 call HL('StorageClass', 'taffy', '', 'none')
   171 call HL('Structure', 'taffy', '', 'none')
   172 call HL('Typedef', 'taffy', '', 'bold')
   173 
   174 " Make try/catch blocks stand out.
   175 call HL('Exception', 'lime', '', 'bold')
   176 
   177 " Misc
   178 call HL('Error',  'snow',   'taffy', 'bold')
   179 call HL('Debug',  'snow',   '',      'bold')
   180 call HL('Ignore', 'gravel', '',      '')
   181 
   182 " }}}
   183 " Completion Menu {{{
   184 
   185 call HL('Pmenu', 'plain', 'deepergravel')
   186 call HL('PmenuSel', 'coal', 'tardis', 'bold')
   187 call HL('PmenuSbar', '', 'deepergravel')
   188 call HL('PmenuThumb', 'brightgravel')
   189 
   190 " }}}
   191 " Diffs {{{
   192 
   193 call HL('DiffDelete', 'coal', 'coal')
   194 call HL('DiffAdd',    '',     'deepergravel')
   195 call HL('DiffChange', '',     'darkgravel')
   196 call HL('DiffText',   'snow', 'deepergravel', 'bold')
   197 
   198 " }}}
   199 " Spelling {{{
   200 
   201 if has("spell")
   202     call HL('SpellCap', 'dalespale', '', 'undercurl,bold', 'dalespale')
   203     call HL('SpellBad', '', '', 'undercurl', 'dalespale')
   204     call HL('SpellLocal', '', '', 'undercurl', 'dalespale')
   205     call HL('SpellRare', '', '', 'undercurl', 'dalespale')
   206 endif
   207 
   208 " }}}
   209 
   210 " }}}
   211 " Plugins {{{
   212 
   213 " CtrlP {{{
   214 
   215     " the message when no match is found
   216     call HL('CtrlPNoEntries', 'snow', 'taffy', 'bold')
   217 
   218     " the matched pattern
   219     call HL('CtrlPMatch', 'orange', 'bg', 'none')
   220 
   221     " the line prefix '>' in the match window
   222     call HL('CtrlPLinePre', 'deepgravel', 'bg', 'none')
   223 
   224     " the prompt’s base
   225     call HL('CtrlPPrtBase', 'deepgravel', 'bg', 'none')
   226 
   227     " the prompt’s text
   228     call HL('CtrlPPrtText', 'plain', 'bg', 'none')
   229 
   230     " the prompt’s cursor when moving over the text
   231     call HL('CtrlPPrtCursor', 'coal', 'tardis', 'bold')
   232 
   233     " 'prt' or 'win', also for 'regex'
   234     call HL('CtrlPMode1', 'coal', 'tardis', 'bold')
   235 
   236     " 'file' or 'path', also for the local working dir
   237     call HL('CtrlPMode2', 'coal', 'tardis', 'bold')
   238 
   239     " the scanning status
   240     call HL('CtrlPStats', 'coal', 'tardis', 'bold')
   241 
   242     " TODO: CtrlP extensions.
   243     " CtrlPTabExtra  : the part of each line that’s not matched against (Comment)
   244     " CtrlPqfLineCol : the line and column numbers in quickfix mode (|hl-Search|)
   245     " CtrlPUndoT     : the elapsed time in undo mode (|hl-Directory|)
   246     " CtrlPUndoBr    : the square brackets [] in undo mode (Comment)
   247     " CtrlPUndoNr    : the undo number inside [] in undo mode (String)
   248 
   249 " }}}
   250 " EasyMotion {{{
   251 
   252 call HL('EasyMotionTarget', 'tardis',     'bg', 'bold')
   253 call HL('EasyMotionShade',  'deepgravel', 'bg')
   254 
   255 " }}}
   256 
   257 " }}}
   258 " Makegreen {{{
   259 
   260 " hi GreenBar term=reverse ctermfg=white ctermbg=green guifg=coal guibg=#9edf1c
   261 " hi RedBar   term=reverse ctermfg=white ctermbg=red guifg=white guibg=#C50048
   262 
   263 " }}}
   264 " ShowMarks {{{
   265 
   266 call HL('ShowMarksHLl', 'tardis', 'blackgravel')
   267 call HL('ShowMarksHLu', 'tardis', 'blackgravel')
   268 call HL('ShowMarksHLo', 'tardis', 'blackgravel')
   269 call HL('ShowMarksHLm', 'tardis', 'blackgravel')
   270 
   271 " }}}
   272 
   273 " }}}
   274 " Clojure {{{
   275 
   276 call HL('clojureSpecial',  'taffy', '', '')
   277 call HL('clojureDefn',     'taffy', '', '')
   278 call HL('clojureDefMacro', 'taffy', '', '')
   279 call HL('clojureDefine',   'taffy', '', '')
   280 call HL('clojureMacro',    'taffy', '', '')
   281 call HL('clojureCond',     'taffy', '', '')
   282 
   283 call HL('clojureKeyword', 'orange', '', 'none')
   284 
   285 call HL('clojureFunc',   'dress', '', 'none')
   286 call HL('clojureRepeat', 'dress', '', 'none')
   287 
   288 call HL('clojureParen0', 'lightgravel', '', 'none')
   289 
   290 call HL('clojureAnonArg', 'snow', '', 'bold')
   291 
   292 " }}}
   293 " CSS {{{
   294 
   295 call HL('cssColorProp', 'fg', '', 'none')
   296 call HL('cssBoxProp', 'fg', '', 'none')
   297 call HL('cssTextProp', 'fg', '', 'none')
   298 call HL('cssRenderProp', 'fg', '', 'none')
   299 call HL('cssGeneratedContentProp', 'fg', '', 'none')
   300 
   301 call HL('cssValueLength', 'toffee', '', 'bold')
   302 call HL('cssColor', 'toffee', '', 'bold')
   303 call HL('cssBraces', 'lightgravel', '', 'none')
   304 call HL('cssIdentifier', 'orange', '', 'bold')
   305 call HL('cssClassName', 'orange', '', 'none')
   306 
   307 " }}}
   308 " Django Templates {{{
   309 
   310 call HL('djangoArgument', 'dirtyblonde', '',)
   311 call HL('djangoTagBlock', 'orange', '')
   312 call HL('djangoVarBlock', 'orange', '')
   313 " hi djangoStatement guifg=#ff3853 gui=bold
   314 " hi djangoVarBlock guifg=#f4cf86
   315 
   316 " }}}
   317 " HTML {{{
   318 
   319 " Punctuation
   320 call HL('htmlTag',    'darkroast', 'bg', 'none')
   321 call HL('htmlEndTag', 'darkroast', 'bg', 'none')
   322 
   323 " Tag names
   324 call HL('htmlTagName',        'coffee', '', 'bold')
   325 call HL('htmlSpecialTagName', 'coffee', '', 'bold')
   326 
   327 " Attributes
   328 call HL('htmlArg', 'coffee', '', 'none')
   329 
   330 " Stuff inside an <a> tag
   331 call HL('htmlLink', 'lightgravel', '', 'underline')
   332 
   333 " }}}
   334 " Java {{{
   335 
   336 call HL('javaClassDecl', 'taffy', '', 'bold')
   337 call HL('javaScopeDecl', 'taffy', '', 'bold')
   338 call HL('javaCommentTitle', 'gravel', '')
   339 call HL('javaDocTags', 'snow', '', 'none')
   340 call HL('javaDocParam', 'dalespale', '', '')
   341 
   342 " }}}
   343 " LessCSS {{{
   344 
   345 call HL('lessVariable', 'lime', '', 'none')
   346 
   347 " }}}
   348 " Mail {{{
   349 
   350 call HL('mailSubject', 'orange', '', 'bold')
   351 call HL('mailHeader', 'lightgravel', '', '')
   352 call HL('mailHeaderKey', 'lightgravel', '', '')
   353 call HL('mailHeaderEmail', 'snow', '', '')
   354 call HL('mailURL', 'toffee', '', 'underline')
   355 call HL('mailSignature', 'gravel', '', 'none')
   356 
   357 call HL('mailQuoted1', 'gravel', '', 'none')
   358 call HL('mailQuoted2', 'dress', '', 'none')
   359 call HL('mailQuoted3', 'dirtyblonde', '', 'none')
   360 call HL('mailQuoted4', 'orange', '', 'none')
   361 call HL('mailQuoted5', 'lime', '', 'none')
   362 
   363 " }}}
   364 " Markdown {{{
   365 
   366 call HL('markdownHeadingRule', 'lightgravel', '', 'bold')
   367 call HL('markdownHeadingDelimiter', 'lightgravel', '', 'bold')
   368 call HL('markdownOrderedListMarker', 'lightgravel', '', 'bold')
   369 call HL('markdownListMarker', 'lightgravel', '', 'bold')
   370 call HL('markdownH1', 'orange', '', 'bold')
   371 call HL('markdownH2', 'lime', '', 'bold')
   372 call HL('markdownH3', 'lime', '', 'none')
   373 call HL('markdownH4', 'lime', '', 'none')
   374 call HL('markdownH5', 'lime', '', 'none')
   375 call HL('markdownH6', 'lime', '', 'none')
   376 call HL('markdownLinkText', 'toffee', '', 'underline')
   377 call HL('markdownIdDeclaration', 'toffee')
   378 call HL('markdownAutomaticLink', 'toffee', '', 'bold')
   379 call HL('markdownUrl', 'toffee', '', 'bold')
   380 call HL('markdownUrldelimiter', 'lightgravel', '', 'bold')
   381 call HL('markdownLinkDelimiter', 'lightgravel', '', 'bold')
   382 call HL('markdownLinkTextDelimiter', 'lightgravel', '', 'bold')
   383 call HL('markdownCodeDelimiter', 'dirtyblonde', '', 'bold')
   384 call HL('markdownCode', 'dirtyblonde', '', 'none')
   385 call HL('markdownCodeBlock', 'dirtyblonde', '', 'none')
   386 
   387 " }}}
   388 " Python {{{
   389 
   390 hi def link pythonOperator Operator
   391 call HL('pythonBuiltin',    'dress')
   392 call HL('pythonEscape',     'dress')
   393 call HL('pythonException',  'lime', '', 'bold')
   394 call HL('pythonExceptions', 'lime', '', 'none')
   395 call HL('pythonDecorator',  'taffy', '', 'none')
   396 
   397 " }}}
   398 " SLIMV {{{
   399 
   400 " Rainbow parentheses
   401 call HL('hlLevel0', 'gravel')
   402 call HL('hlLevel1', 'orange')
   403 call HL('hlLevel2', 'saltwatertaffy')
   404 call HL('hlLevel3', 'dress')
   405 call HL('hlLevel4', 'coffee')
   406 call HL('hlLevel5', 'dirtyblonde')
   407 call HL('hlLevel6', 'orange')
   408 call HL('hlLevel7', 'saltwatertaffy')
   409 call HL('hlLevel8', 'dress')
   410 call HL('hlLevel9', 'coffee')
   411 
   412 " }}}
   413 " Vim {{{
   414 
   415 call HL('VimCommentTitle', 'lightgravel', '', 'bold')
   416 
   417 call HL('VimMapMod',    'dress', '', 'none')
   418 call HL('VimMapModKey', 'dress', '', 'none')
   419 call HL('VimNotation', 'dress', '', 'none')
   420 call HL('VimBracket', 'dress', '', 'none')
   421 
   422 " }}}
   423 
   424 " }}}
   425