From: Samir Benmendil Date: Fri, 11 Apr 2014 01:29:10 +0000 (+0100) Subject: vim: add colorschemes X-Git-Url: https://git.rmz.io/dotfiles.git/commitdiff_plain/c26481e005501f39c989d45d7b61121e38224d7e?ds=sidebyside vim: add colorschemes --- diff --git a/vim/colors/badwolf.vim b/vim/colors/badwolf.vim new file mode 100644 index 0000000..99f0ce0 --- /dev/null +++ b/vim/colors/badwolf.vim @@ -0,0 +1,650 @@ +" _ _ _ __ +" | |__ __ _ __| | __ _____ | |/ _| +" | '_ \ / _` |/ _` | \ \ /\ / / _ \| | |_ +" | |_) | (_| | (_| | \ V V / (_) | | _| +" |_.__/ \__,_|\__,_| \_/\_/ \___/|_|_| +" +" I am the Bad Wolf. I create myself. +" I take the words. I scatter them in time and space. +" A message to lead myself here. +" +" A Vim colorscheme pieced together by Steve Losh. +" Available at http://stevelosh.com/projects/badwolf/ +" +" Why? {{{ +" +" After using Molokai for quite a long time, I started longing for +" a replacement. +" +" I love Molokai's high contrast and gooey, saturated tones, but it can be +" a little inconsistent at times. +" +" Also it's winter here in Rochester, so I wanted a color scheme that's a bit +" warmer. A little less blue and a bit more red. +" +" And so Bad Wolf was born. I'm no designer, but designers have been scattering +" beautiful colors through time and space long before I came along. I took +" advantage of that and reused some of my favorites to lead me to this scheme. +" +" }}} + +" Supporting code ------------------------------------------------------------- +" Preamble {{{ + +if !has("gui_running") && &t_Co != 88 && &t_Co != 256 + finish +endif + +set background=dark + +if exists("syntax_on") + syntax reset +endif + +let colors_name = "badwolf" + +if !exists("g:badwolf_html_link_underline") " {{{ + let g:badwolf_html_link_underline = 1 +endif " }}} + +if !exists("g:badwolf_css_props_highlight") " {{{ + let g:badwolf_css_props_highlight = 0 +endif " }}} + +" }}} +" Palette {{{ + +let s:bwc = {} + +" The most basic of all our colors is a slightly tweaked version of the Molokai +" Normal text. +let s:bwc.plain = ['f8f6f2', 15] + +" Pure and simple. +let s:bwc.snow = ['ffffff', 15] +let s:bwc.coal = ['000000', 16] + +" All of the Gravel colors are based on a brown from Clouds Midnight. +let s:bwc.brightgravel = ['d9cec3', 252] +let s:bwc.lightgravel = ['998f84', 245] +let s:bwc.gravel = ['857f78', 243] +let s:bwc.mediumgravel = ['666462', 241] +let s:bwc.deepgravel = ['45413b', 238] +let s:bwc.deepergravel = ['35322d', 236] +let s:bwc.darkgravel = ['242321', 235] +let s:bwc.blackgravel = ['1c1b1a', 233] +let s:bwc.blackestgravel = ['141413', 232] + +" A color sampled from a highlight in a photo of a glass of Dale's Pale Ale on +" my desk. +let s:bwc.dalespale = ['fade3e', 221] + +" A beautiful tan from Tomorrow Night. +let s:bwc.dirtyblonde = ['f4cf86', 222] + +" Delicious, chewy red from Made of Code for the poppiest highlights. +let s:bwc.taffy = ['ff2c4b', 196] + +" Another chewy accent, but use sparingly! +let s:bwc.saltwatertaffy = ['8cffba', 121] + +" The star of the show comes straight from Made of Code. +let s:bwc.tardis = ['0a9dff', 39] + +" This one's from Mustang, not Florida! +let s:bwc.orange = ['ffa724', 214] + +" A limier green from Getafe. +let s:bwc.lime = ['aeee00', 154] + +" Rose's dress in The Idiot's Lantern. +let s:bwc.dress = ['ff9eb8', 211] + +" Another play on the brown from Clouds Midnight. I love that color. +let s:bwc.toffee = ['b88853', 137] + +" Also based on that Clouds Midnight brown. +let s:bwc.coffee = ['c7915b', 173] +let s:bwc.darkroast = ['88633f', 95] + +" }}} +" Highlighting Function {{{ +function! s:HL(group, fg, ...) + " Arguments: group, guifg, guibg, gui, guisp + + let histring = 'hi ' . a:group . ' ' + + if strlen(a:fg) + if a:fg == 'fg' + let histring .= 'guifg=fg ctermfg=fg ' + else + let c = get(s:bwc, a:fg) + let histring .= 'guifg=#' . c[0] . ' ctermfg=' . c[1] . ' ' + endif + endif + + if a:0 >= 1 && strlen(a:1) + if a:1 == 'bg' + let histring .= 'guibg=bg ctermbg=bg ' + else + let c = get(s:bwc, a:1) + let histring .= 'guibg=#' . c[0] . ' ctermbg=' . c[1] . ' ' + endif + endif + + if a:0 >= 2 && strlen(a:2) + let histring .= 'gui=' . a:2 . ' cterm=' . a:2 . ' ' + endif + + if a:0 >= 3 && strlen(a:3) + let c = get(s:bwc, a:3) + let histring .= 'guisp=#' . c[0] . ' ' + endif + + " echom histring + + execute histring +endfunction +" }}} +" Configuration Options {{{ + +if exists('g:badwolf_darkgutter') && g:badwolf_darkgutter + let s:gutter = 'blackestgravel' +else + let s:gutter = 'blackgravel' +endif + +if exists('g:badwolf_tabline') + if g:badwolf_tabline == 0 + let s:tabline = 'blackestgravel' + elseif g:badwolf_tabline == 1 + let s:tabline = 'blackgravel' + elseif g:badwolf_tabline == 2 + let s:tabline = 'darkgravel' + elseif g:badwolf_tabline == 3 + let s:tabline = 'deepgravel' + else + let s:tabline = 'blackestgravel' + endif +else + let s:tabline = 'blackgravel' +endif + +" }}} + +" Actual colorscheme ---------------------------------------------------------- +" Vanilla Vim {{{ + +" General/UI {{{ + +call s:HL('Normal', 'plain', 'blackgravel') + +call s:HL('Folded', 'mediumgravel', 'bg', 'none') + +call s:HL('VertSplit', 'lightgravel', 'bg', 'none') + +call s:HL('CursorLine', '', 'darkgravel', 'none') +call s:HL('CursorColumn', '', 'darkgravel') +call s:HL('ColorColumn', '', 'darkgravel') + +call s:HL('TabLine', 'plain', s:tabline, 'none') +call s:HL('TabLineFill', 'plain', s:tabline, 'none') +call s:HL('TabLineSel', 'coal', 'tardis', 'none') + +call s:HL('MatchParen', 'dalespale', 'darkgravel', 'bold') + +call s:HL('NonText', 'deepgravel', 'bg') +call s:HL('SpecialKey', 'deepgravel', 'bg') + +call s:HL('Visual', '', 'deepgravel') +call s:HL('VisualNOS', '', 'deepgravel') + +call s:HL('Search', 'coal', 'dalespale', 'bold') +call s:HL('IncSearch', 'coal', 'tardis', 'bold') + +call s:HL('Underlined', 'fg', '', 'underline') + +call s:HL('StatusLine', 'coal', 'tardis', 'bold') +call s:HL('StatusLineNC', 'snow', 'deepgravel', 'bold') + +call s:HL('Directory', 'dirtyblonde', '', 'bold') + +call s:HL('Title', 'lime') + +call s:HL('ErrorMsg', 'taffy', 'bg', 'bold') +call s:HL('MoreMsg', 'dalespale', '', 'bold') +call s:HL('ModeMsg', 'dirtyblonde', '', 'bold') +call s:HL('Question', 'dirtyblonde', '', 'bold') +call s:HL('WarningMsg', 'dress', '', 'bold') + +" This is a ctags tag, not an HTML one. 'Something you can use c-] on'. +call s:HL('Tag', '', '', 'bold') + +" hi IndentGuides guibg=#373737 +" hi WildMenu guifg=#66D9EF guibg=#000000 + +" }}} +" Gutter {{{ + +call s:HL('LineNr', 'mediumgravel', s:gutter) +call s:HL('SignColumn', '', s:gutter) +call s:HL('FoldColumn', 'mediumgravel', s:gutter) + +" }}} +" Cursor {{{ + +call s:HL('Cursor', 'coal', 'tardis', 'bold') +call s:HL('vCursor', 'coal', 'tardis', 'bold') +call s:HL('iCursor', 'coal', 'tardis', 'none') + +" }}} +" Syntax highlighting {{{ + +" Start with a simple base. +call s:HL('Special', 'plain') + +" Comments are slightly brighter than folds, to make 'headers' easier to see. +call s:HL('Comment', 'gravel') +call s:HL('Todo', 'snow', 'bg', 'bold') +call s:HL('SpecialComment', 'snow', 'bg', 'bold') + +" Strings are a nice, pale straw color. Nothing too fancy. +call s:HL('String', 'dirtyblonde') + +" Control flow stuff is taffy. +call s:HL('Statement', 'taffy', '', 'bold') +call s:HL('Keyword', 'taffy', '', 'bold') +call s:HL('Conditional', 'taffy', '', 'bold') +call s:HL('Operator', 'taffy', '', 'none') +call s:HL('Label', 'taffy', '', 'none') +call s:HL('Repeat', 'taffy', '', 'none') + +" Functions and variable declarations are orange, because plain looks weird. +call s:HL('Identifier', 'orange', '', 'none') +call s:HL('Function', 'orange', '', 'none') + +" Preprocessor stuff is lime, to make it pop. +" +" This includes imports in any given language, because they should usually be +" grouped together at the beginning of a file. If they're in the middle of some +" other code they should stand out, because something tricky is +" probably going on. +call s:HL('PreProc', 'lime', '', 'none') +call s:HL('Macro', 'lime', '', 'none') +call s:HL('Define', 'lime', '', 'none') +call s:HL('PreCondit', 'lime', '', 'bold') + +" Constants of all kinds are colored together. +" I'm not really happy with the color yet... +call s:HL('Constant', 'toffee', '', 'bold') +call s:HL('Character', 'toffee', '', 'bold') +call s:HL('Boolean', 'toffee', '', 'bold') + +call s:HL('Number', 'toffee', '', 'bold') +call s:HL('Float', 'toffee', '', 'bold') + +" Not sure what 'special character in a constant' means, but let's make it pop. +call s:HL('SpecialChar', 'dress', '', 'bold') + +call s:HL('Type', 'dress', '', 'none') +call s:HL('StorageClass', 'taffy', '', 'none') +call s:HL('Structure', 'taffy', '', 'none') +call s:HL('Typedef', 'taffy', '', 'bold') + +" Make try/catch blocks stand out. +call s:HL('Exception', 'lime', '', 'bold') + +" Misc +call s:HL('Error', 'snow', 'taffy', 'bold') +call s:HL('Debug', 'snow', '', 'bold') +call s:HL('Ignore', 'gravel', '', '') + +" }}} +" Completion Menu {{{ + +call s:HL('Pmenu', 'plain', 'deepergravel') +call s:HL('PmenuSel', 'coal', 'tardis', 'bold') +call s:HL('PmenuSbar', '', 'deepergravel') +call s:HL('PmenuThumb', 'brightgravel') + +" }}} +" Diffs {{{ + +call s:HL('DiffDelete', 'coal', 'coal') +call s:HL('DiffAdd', '', 'deepergravel') +call s:HL('DiffChange', '', 'darkgravel') +call s:HL('DiffText', 'snow', 'deepergravel', 'bold') + +" }}} +" Spelling {{{ + +if has("spell") + call s:HL('SpellCap', 'dalespale', 'bg', 'undercurl,bold', 'dalespale') + call s:HL('SpellBad', '', 'bg', 'undercurl', 'dalespale') + call s:HL('SpellLocal', '', '', 'undercurl', 'dalespale') + call s:HL('SpellRare', '', '', 'undercurl', 'dalespale') +endif + +" }}} + +" }}} +" Plugins {{{ + +" CtrlP {{{ + + " the message when no match is found + call s:HL('CtrlPNoEntries', 'snow', 'taffy', 'bold') + + " the matched pattern + call s:HL('CtrlPMatch', 'orange', 'bg', 'none') + + " the line prefix '>' in the match window + call s:HL('CtrlPLinePre', 'deepgravel', 'bg', 'none') + + " the prompt’s base + call s:HL('CtrlPPrtBase', 'deepgravel', 'bg', 'none') + + " the prompt’s text + call s:HL('CtrlPPrtText', 'plain', 'bg', 'none') + + " the prompt’s cursor when moving over the text + call s:HL('CtrlPPrtCursor', 'coal', 'tardis', 'bold') + + " 'prt' or 'win', also for 'regex' + call s:HL('CtrlPMode1', 'coal', 'tardis', 'bold') + + " 'file' or 'path', also for the local working dir + call s:HL('CtrlPMode2', 'coal', 'tardis', 'bold') + + " the scanning status + call s:HL('CtrlPStats', 'coal', 'tardis', 'bold') + + " TODO: CtrlP extensions. + " CtrlPTabExtra : the part of each line that’s not matched against (Comment) + " CtrlPqfLineCol : the line and column numbers in quickfix mode (|s:HL-Search|) + " CtrlPUndoT : the elapsed time in undo mode (|s:HL-Directory|) + " CtrlPUndoBr : the square brackets [] in undo mode (Comment) + " CtrlPUndoNr : the undo number inside [] in undo mode (String) + +" }}} +" EasyMotion {{{ + +call s:HL('EasyMotionTarget', 'tardis', 'bg', 'bold') +call s:HL('EasyMotionShade', 'deepgravel', 'bg') + +" }}} +" Interesting Words {{{ + +" These are only used if you're me or have copied the hNUM mappings +" from my Vimrc. +call s:HL('InterestingWord1', 'coal', 'orange') +call s:HL('InterestingWord2', 'coal', 'lime') +call s:HL('InterestingWord3', 'coal', 'saltwatertaffy') +call s:HL('InterestingWord4', 'coal', 'toffee') +call s:HL('InterestingWord5', 'coal', 'dress') +call s:HL('InterestingWord6', 'coal', 'taffy') + + +" }}} +" Makegreen {{{ + +" hi GreenBar term=reverse ctermfg=white ctermbg=green guifg=coal guibg=#9edf1c +" hi RedBar term=reverse ctermfg=white ctermbg=red guifg=white guibg=#C50048 + +" }}} +" Rainbow Parentheses {{{ + +call s:HL('level16c', 'mediumgravel', '', 'bold') +call s:HL('level15c', 'dalespale', '', '') +call s:HL('level14c', 'dress', '', '') +call s:HL('level13c', 'orange', '', '') +call s:HL('level12c', 'tardis', '', '') +call s:HL('level11c', 'lime', '', '') +call s:HL('level10c', 'toffee', '', '') +call s:HL('level9c', 'saltwatertaffy', '', '') +call s:HL('level8c', 'coffee', '', '') +call s:HL('level7c', 'dalespale', '', '') +call s:HL('level6c', 'dress', '', '') +call s:HL('level5c', 'orange', '', '') +call s:HL('level4c', 'tardis', '', '') +call s:HL('level3c', 'lime', '', '') +call s:HL('level2c', 'toffee', '', '') +call s:HL('level1c', 'saltwatertaffy', '', '') + +" }}} +" ShowMarks {{{ + +call s:HL('ShowMarksHLl', 'tardis', 'blackgravel') +call s:HL('ShowMarksHLu', 'tardis', 'blackgravel') +call s:HL('ShowMarksHLo', 'tardis', 'blackgravel') +call s:HL('ShowMarksHLm', 'tardis', 'blackgravel') + +" }}} + +" }}} +" Filetype-specific {{{ + +" Clojure {{{ + +call s:HL('clojureSpecial', 'taffy', '', '') +call s:HL('clojureDefn', 'taffy', '', '') +call s:HL('clojureDefMacro', 'taffy', '', '') +call s:HL('clojureDefine', 'taffy', '', '') +call s:HL('clojureMacro', 'taffy', '', '') +call s:HL('clojureCond', 'taffy', '', '') + +call s:HL('clojureKeyword', 'orange', '', 'none') + +call s:HL('clojureFunc', 'dress', '', 'none') +call s:HL('clojureRepeat', 'dress', '', 'none') + +call s:HL('clojureParen0', 'lightgravel', '', 'none') + +call s:HL('clojureAnonArg', 'snow', '', 'bold') + +" }}} +" CSS {{{ + +if g:badwolf_css_props_highlight + call s:HL('cssColorProp', 'dirtyblonde', '', 'none') + call s:HL('cssBoxProp', 'dirtyblonde', '', 'none') + call s:HL('cssTextProp', 'dirtyblonde', '', 'none') + call s:HL('cssRenderProp', 'dirtyblonde', '', 'none') + call s:HL('cssGeneratedContentProp', 'dirtyblonde', '', 'none') +else + call s:HL('cssColorProp', 'fg', '', 'none') + call s:HL('cssBoxProp', 'fg', '', 'none') + call s:HL('cssTextProp', 'fg', '', 'none') + call s:HL('cssRenderProp', 'fg', '', 'none') + call s:HL('cssGeneratedContentProp', 'fg', '', 'none') +end + +call s:HL('cssValueLength', 'toffee', '', 'bold') +call s:HL('cssColor', 'toffee', '', 'bold') +call s:HL('cssBraces', 'lightgravel', '', 'none') +call s:HL('cssIdentifier', 'orange', '', 'bold') +call s:HL('cssClassName', 'orange', '', 'none') + +" }}} +" Diff {{{ + +call s:HL('gitDiff', 'lightgravel', '',) + +call s:HL('diffRemoved', 'dress', '',) +call s:HL('diffAdded', 'lime', '',) +call s:HL('diffFile', 'coal', 'taffy', 'bold') +call s:HL('diffNewFile', 'coal', 'taffy', 'bold') + +call s:HL('diffLine', 'coal', 'orange', 'bold') +call s:HL('diffSubname', 'orange', '', 'none') + +" }}} +" Django Templates {{{ + +call s:HL('djangoArgument', 'dirtyblonde', '',) +call s:HL('djangoTagBlock', 'orange', '') +call s:HL('djangoVarBlock', 'orange', '') +" hi djangoStatement guifg=#ff3853 gui=bold +" hi djangoVarBlock guifg=#f4cf86 + +" }}} +" HTML {{{ + +" Punctuation +call s:HL('htmlTag', 'darkroast', 'bg', 'none') +call s:HL('htmlEndTag', 'darkroast', 'bg', 'none') + +" Tag names +call s:HL('htmlTagName', 'coffee', '', 'bold') +call s:HL('htmlSpecialTagName', 'coffee', '', 'bold') +call s:HL('htmlSpecialChar', 'lime', '', 'none') + +" Attributes +call s:HL('htmlArg', 'coffee', '', 'none') + +" Stuff inside an tag + +if g:badwolf_html_link_underline + call s:HL('htmlLink', 'lightgravel', '', 'underline') +else + call s:HL('htmlLink', 'lightgravel', '', 'none') +endif + +" }}} +" Java {{{ + +call s:HL('javaClassDecl', 'taffy', '', 'bold') +call s:HL('javaScopeDecl', 'taffy', '', 'bold') +call s:HL('javaCommentTitle', 'gravel', '') +call s:HL('javaDocTags', 'snow', '', 'none') +call s:HL('javaDocParam', 'dalespale', '', '') + +" }}} +" LaTeX {{{ + +call s:HL('texStatement', 'tardis', '', 'none') +call s:HL('texMathZoneX', 'orange', '', 'none') +call s:HL('texMathZoneA', 'orange', '', 'none') +call s:HL('texMathZoneB', 'orange', '', 'none') +call s:HL('texMathZoneC', 'orange', '', 'none') +call s:HL('texMathZoneD', 'orange', '', 'none') +call s:HL('texMathZoneE', 'orange', '', 'none') +call s:HL('texMathZoneV', 'orange', '', 'none') +call s:HL('texMathZoneX', 'orange', '', 'none') +call s:HL('texMath', 'orange', '', 'none') +call s:HL('texMathMatcher', 'orange', '', 'none') +call s:HL('texRefLabel', 'dirtyblonde', '', 'none') +call s:HL('texRefZone', 'lime', '', 'none') +call s:HL('texComment', 'darkroast', '', 'none') +call s:HL('texDelimiter', 'orange', '', 'none') +call s:HL('texZone', 'brightgravel', '', 'none') + +augroup badwolf_tex + au! + + au BufRead,BufNewFile *.tex syn region texMathZoneV start="\\(" end="\\)\|%stopzone\>" keepend contains=@texMathZoneGroup + au BufRead,BufNewFile *.tex syn region texMathZoneX start="\$" skip="\\\\\|\\\$" end="\$\|%stopzone\>" keepend contains=@texMathZoneGroup +augroup END + +" }}} +" LessCSS {{{ + +call s:HL('lessVariable', 'lime', '', 'none') + +" }}} +" Lispyscript {{{ + +call s:HL('lispyscriptDefMacro', 'lime', '', '') +call s:HL('lispyscriptRepeat', 'dress', '', 'none') + +" }}} +" Mail {{{ + +call s:HL('mailSubject', 'orange', '', 'bold') +call s:HL('mailHeader', 'lightgravel', '', '') +call s:HL('mailHeaderKey', 'lightgravel', '', '') +call s:HL('mailHeaderEmail', 'snow', '', '') +call s:HL('mailURL', 'toffee', '', 'underline') +call s:HL('mailSignature', 'gravel', '', 'none') + +call s:HL('mailQuoted1', 'gravel', '', 'none') +call s:HL('mailQuoted2', 'dress', '', 'none') +call s:HL('mailQuoted3', 'dirtyblonde', '', 'none') +call s:HL('mailQuoted4', 'orange', '', 'none') +call s:HL('mailQuoted5', 'lime', '', 'none') + +" }}} +" Markdown {{{ + +call s:HL('markdownHeadingRule', 'lightgravel', '', 'bold') +call s:HL('markdownHeadingDelimiter', 'lightgravel', '', 'bold') +call s:HL('markdownOrderedListMarker', 'lightgravel', '', 'bold') +call s:HL('markdownListMarker', 'lightgravel', '', 'bold') +call s:HL('markdownItalic', 'snow', '', 'bold') +call s:HL('markdownBold', 'snow', '', 'bold') +call s:HL('markdownH1', 'orange', '', 'bold') +call s:HL('markdownH2', 'lime', '', 'bold') +call s:HL('markdownH3', 'lime', '', 'none') +call s:HL('markdownH4', 'lime', '', 'none') +call s:HL('markdownH5', 'lime', '', 'none') +call s:HL('markdownH6', 'lime', '', 'none') +call s:HL('markdownLinkText', 'toffee', '', 'underline') +call s:HL('markdownIdDeclaration', 'toffee') +call s:HL('markdownAutomaticLink', 'toffee', '', 'bold') +call s:HL('markdownUrl', 'toffee', '', 'bold') +call s:HL('markdownUrldelimiter', 'lightgravel', '', 'bold') +call s:HL('markdownLinkDelimiter', 'lightgravel', '', 'bold') +call s:HL('markdownLinkTextDelimiter', 'lightgravel', '', 'bold') +call s:HL('markdownCodeDelimiter', 'dirtyblonde', '', 'bold') +call s:HL('markdownCode', 'dirtyblonde', '', 'none') +call s:HL('markdownCodeBlock', 'dirtyblonde', '', 'none') + +" }}} +" MySQL {{{ + +call s:HL('mysqlSpecial', 'dress', '', 'bold') + +" }}} +" Python {{{ + +hi def link pythonOperator Operator +call s:HL('pythonBuiltin', 'dress') +call s:HL('pythonBuiltinObj', 'dress') +call s:HL('pythonBuiltinFunc', 'dress') +call s:HL('pythonEscape', 'dress') +call s:HL('pythonException', 'lime', '', 'bold') +call s:HL('pythonExceptions', 'lime', '', 'none') +call s:HL('pythonPrecondit', 'lime', '', 'none') +call s:HL('pythonDecorator', 'taffy', '', 'none') +call s:HL('pythonRun', 'gravel', '', 'bold') +call s:HL('pythonCoding', 'gravel', '', 'bold') + +" }}} +" SLIMV {{{ + +" Rainbow parentheses +call s:HL('hlLevel0', 'gravel') +call s:HL('hlLevel1', 'orange') +call s:HL('hlLevel2', 'saltwatertaffy') +call s:HL('hlLevel3', 'dress') +call s:HL('hlLevel4', 'coffee') +call s:HL('hlLevel5', 'dirtyblonde') +call s:HL('hlLevel6', 'orange') +call s:HL('hlLevel7', 'saltwatertaffy') +call s:HL('hlLevel8', 'dress') +call s:HL('hlLevel9', 'coffee') + +" }}} +" Vim {{{ + +call s:HL('VimCommentTitle', 'lightgravel', '', 'bold') + +call s:HL('VimMapMod', 'dress', '', 'none') +call s:HL('VimMapModKey', 'dress', '', 'none') +call s:HL('VimNotation', 'dress', '', 'none') +call s:HL('VimBracket', 'dress', '', 'none') + +" }}} + +" }}} + diff --git a/vim/colors/molokai.vim b/vim/colors/molokai.vim new file mode 100644 index 0000000..31d18b3 --- /dev/null +++ b/vim/colors/molokai.vim @@ -0,0 +1,273 @@ + +" Vim color file +" +" Author: Tomas Restrepo +" +" Note: Based on the monokai theme for textmate +" by Wimer Hazenberg and its darker variant +" by Hamish Stuart Macpherson +" + +hi clear + +set background=dark +if version > 580 + " no guarantees for version 5.8 and below, but this makes it stop + " complaining + hi clear + if exists("syntax_on") + syntax reset + endif +endif +let g:colors_name="molokai" + +if exists("g:molokai_original") + let s:molokai_original = g:molokai_original +else + let s:molokai_original = 0 +endif + + +hi Boolean guifg=#AE81FF +hi Character guifg=#E6DB74 +hi Number guifg=#AE81FF +hi String guifg=#E6DB74 +hi Conditional guifg=#F92672 gui=bold +hi Constant guifg=#AE81FF gui=bold +hi Cursor guifg=#000000 guibg=#F8F8F0 +hi iCursor guifg=#000000 guibg=#F8F8F0 +hi Debug guifg=#BCA3A3 gui=bold +hi Define guifg=#66D9EF +hi Delimiter guifg=#8F8F8F +hi DiffAdd guibg=#13354A +hi DiffChange guifg=#89807D guibg=#4C4745 +hi DiffDelete guifg=#960050 guibg=#1E0010 +hi DiffText guibg=#4C4745 gui=italic,bold + +hi Directory guifg=#A6E22E gui=bold +hi Error guifg=#E6DB74 guibg=#1E0010 +hi ErrorMsg guifg=#F92672 guibg=#232526 gui=bold +hi Exception guifg=#A6E22E gui=bold +hi Float guifg=#AE81FF +hi FoldColumn guifg=#465457 guibg=#000000 +hi Folded guifg=#465457 guibg=#000000 +hi Function guifg=#A6E22E +hi Identifier guifg=#FD971F +hi Ignore guifg=#808080 guibg=bg +hi IncSearch guifg=#C4BE89 guibg=#000000 + +hi Keyword guifg=#F92672 gui=bold +hi Label guifg=#E6DB74 gui=none +hi Macro guifg=#C4BE89 gui=italic +hi SpecialKey guifg=#66D9EF gui=italic + +hi MatchParen guifg=#000000 guibg=#FD971F gui=bold +hi ModeMsg guifg=#E6DB74 +hi MoreMsg guifg=#E6DB74 +hi Operator guifg=#F92672 + +" complete menu +hi Pmenu guifg=#66D9EF guibg=#000000 +hi PmenuSel guibg=#808080 +hi PmenuSbar guibg=#080808 +hi PmenuThumb guifg=#66D9EF + +hi PreCondit guifg=#A6E22E gui=bold +hi PreProc guifg=#A6E22E +hi Question guifg=#66D9EF +hi Repeat guifg=#F92672 gui=bold +hi Search guifg=#FFFFFF guibg=#455354 +" marks +hi SignColumn guifg=#A6E22E guibg=#232526 +hi SpecialChar guifg=#F92672 gui=bold +hi SpecialComment guifg=#7E8E91 gui=bold +hi Special guifg=#66D9EF guibg=bg gui=italic +if has("spell") + hi SpellBad guisp=#FF0000 gui=undercurl + hi SpellCap guisp=#7070F0 gui=undercurl + hi SpellLocal guisp=#70F0F0 gui=undercurl + hi SpellRare guisp=#FFFFFF gui=undercurl +endif +hi Statement guifg=#F92672 gui=bold +hi StatusLine guifg=#455354 guibg=fg +hi StatusLineNC guifg=#808080 guibg=#080808 +hi StorageClass guifg=#FD971F gui=italic +hi Structure guifg=#66D9EF +hi Tag guifg=#F92672 gui=italic +hi Title guifg=#ef5939 +hi Todo guifg=#FFFFFF guibg=bg gui=bold + +hi Typedef guifg=#66D9EF +hi Type guifg=#66D9EF gui=none +hi Underlined guifg=#808080 gui=underline + +hi VertSplit guifg=#808080 guibg=#080808 gui=bold +hi VisualNOS guibg=#403D3D +hi Visual guibg=#403D3D +hi WarningMsg guifg=#FFFFFF guibg=#333333 gui=bold +hi WildMenu guifg=#66D9EF guibg=#000000 + +hi TabLineFill guifg=#1B1D1E guibg=#1B1D1E +hi TabLine guibg=#1B1D1E guifg=#808080 gui=none + +if s:molokai_original == 1 + hi Normal guifg=#F8F8F2 guibg=#272822 + hi Comment guifg=#75715E + hi CursorLine guibg=#3E3D32 + hi CursorLineNr guifg=#FD971F gui=none + hi CursorColumn guibg=#3E3D32 + hi ColorColumn guibg=#3B3A32 + hi LineNr guifg=#BCBCBC guibg=#3B3A32 + hi NonText guifg=#75715E + hi SpecialKey guifg=#75715E +else + hi Normal guifg=#F8F8F2 guibg=#1B1D1E + hi Comment guifg=#7E8E91 + hi CursorLine guibg=#293739 + hi CursorLineNr guifg=#FD971F gui=none + hi CursorColumn guibg=#293739 + hi ColorColumn guibg=#232526 + hi LineNr guifg=#465457 guibg=#232526 + hi NonText guifg=#465457 + hi SpecialKey guifg=#465457 +end + +" +" Support for 256-color terminal +" +if &t_Co > 255 + if s:molokai_original == 1 + hi Normal ctermbg=234 + hi CursorLine ctermbg=235 cterm=none + hi CursorLineNr ctermfg=208 cterm=none + else + hi Normal ctermfg=252 + hi CursorLine cterm=none + hi CursorLineNr ctermfg=208 cterm=bold + endif + hi Boolean ctermfg=135 + hi Character ctermfg=144 + hi Number ctermfg=135 + hi String ctermfg=144 + hi Conditional ctermfg=161 cterm=bold + hi Constant ctermfg=135 cterm=bold + hi Cursor ctermfg=16 ctermbg=253 + hi Debug ctermfg=225 cterm=bold + hi Define ctermfg=81 + hi Delimiter ctermfg=241 + + hi DiffAdd ctermbg=24 + hi DiffChange ctermfg=181 ctermbg=239 + hi DiffDelete ctermfg=162 ctermbg=53 + hi DiffText ctermbg=102 cterm=bold + + hi Directory ctermfg=118 cterm=bold + hi Error ctermfg=219 ctermbg=89 + hi ErrorMsg ctermfg=199 ctermbg=16 cterm=bold + hi Exception ctermfg=118 cterm=bold + hi Float ctermfg=135 + hi FoldColumn ctermfg=67 ctermbg=16 + hi Folded ctermfg=67 ctermbg=16 + hi Function ctermfg=118 + hi Identifier ctermfg=208 cterm=none + hi Ignore ctermfg=244 ctermbg=232 + hi IncSearch ctermfg=193 ctermbg=16 + + hi keyword ctermfg=161 cterm=bold + hi Label ctermfg=229 cterm=none + hi Macro ctermfg=193 + hi SpecialKey ctermfg=81 + + hi MatchParen ctermfg=208 ctermbg=233 cterm=bold + hi ModeMsg ctermfg=229 + hi MoreMsg ctermfg=229 + hi Operator ctermfg=161 + + " complete menu + hi Pmenu ctermfg=81 ctermbg=16 + hi PmenuSel ctermfg=81 ctermbg=244 + hi PmenuSbar ctermbg=232 + hi PmenuThumb ctermfg=81 + + hi PreCondit ctermfg=118 cterm=bold + hi PreProc ctermfg=118 + hi Question ctermfg=81 + hi Repeat ctermfg=161 cterm=bold + hi Search ctermfg=253 ctermbg=66 + + " marks column + hi SignColumn ctermfg=118 ctermbg=235 + hi SpecialChar ctermfg=161 cterm=bold + hi SpecialComment ctermfg=245 cterm=bold + hi Special ctermfg=81 + if has("spell") + hi SpellBad ctermbg=52 + hi SpellCap ctermbg=17 + hi SpellLocal ctermbg=17 + hi SpellRare ctermfg=none ctermbg=none cterm=reverse + endif + hi Statement ctermfg=161 cterm=bold + hi StatusLine ctermfg=238 ctermbg=253 + hi StatusLineNC ctermfg=244 ctermbg=232 + hi StorageClass ctermfg=208 + hi Structure ctermfg=81 + hi Tag ctermfg=161 + hi Title ctermfg=166 + hi Todo ctermfg=231 ctermbg=232 cterm=bold + + hi Typedef ctermfg=81 + hi Type ctermfg=81 cterm=none + hi Underlined ctermfg=244 cterm=underline + + hi VertSplit ctermfg=244 ctermbg=232 cterm=bold + hi VisualNOS ctermbg=238 + hi Visual ctermbg=235 + hi WarningMsg ctermfg=231 ctermbg=238 cterm=bold + hi WildMenu ctermfg=81 ctermbg=16 + + hi Comment ctermfg=59 + hi CursorColumn ctermbg=236 + hi ColorColumn ctermbg=236 + hi LineNr ctermfg=250 ctermbg=236 + hi NonText ctermfg=59 + + hi SpecialKey ctermfg=59 + + if exists("g:rehash256") && g:rehash256 == 1 + hi Normal ctermfg=252 + hi CursorLine cterm=none + hi CursorLineNr ctermfg=208 cterm=none + + hi Boolean ctermfg=141 + hi Character ctermfg=222 + hi Number ctermfg=141 + hi String ctermfg=222 + hi Conditional ctermfg=197 cterm=bold + hi Constant ctermfg=141 cterm=bold + + hi DiffDelete ctermfg=125 ctermbg=233 + + hi Directory ctermfg=154 cterm=bold + hi Error ctermfg=222 ctermbg=233 + hi Exception ctermfg=154 cterm=bold + hi Float ctermfg=141 + hi Function ctermfg=154 + hi Identifier ctermfg=208 + + hi Keyword ctermfg=197 cterm=bold + hi Operator ctermfg=197 + hi PreCondit ctermfg=154 cterm=bold + hi PreProc ctermfg=154 + hi Repeat ctermfg=197 cterm=bold + + hi Statement ctermfg=197 cterm=bold + hi Tag ctermfg=197 + hi Title ctermfg=203 + hi Visual ctermbg=238 + + hi Comment ctermfg=244 + hi LineNr ctermfg=239 ctermbg=235 + hi NonText ctermfg=239 + hi SpecialKey ctermfg=239 + endif +end