Skip to content


Subversion checkout URL

You can clone with
Download ZIP
tree: 682dddf49f
Fetching contributors…

Cannot retrieve contributors at this time

235 lines (180 sloc) 9.32 kB
" Color scheme based on Molokai by Tomas Restrepo and badwolf by Steve Losh.
" Author: Niels Madan
" URL:
hi clear
set background=dark
if exists("syntax_on")
syntax reset
let colors_name = "harlequin"
let s:text = '#F8F8F2'
let s:text_bg = '#1C1B1A'
let s:white = '#FFFFFF'
let s:black = '#000000'
let s:greys = ['#BEBEBE', '#808080', '#696969', '#545454', '#343434', '#080808']
let s:cerise = '#FF0033'
let s:lime = '#AEEE00'
let s:gold = '#FFB829'
let s:brick = '#CB4154'
let s:lilac = '#AE81FF'
let s:frost = '#2C89C7'
let s:sunny = '#FFFC7F'
let s:mordant = '#AE0C00'
let s:auburn = '#7C0A02'
let s:moss = '#004225'
let s:cursor = {'guifg': s:greys[5], 'guibg': s:white}
" group_name, guifg, guibg, gui, guisp, '' means use default
" defaults: guifg - fg, guibg - NONE, gui - none, guisp - fg
function! s:HI(group_name, colors_dict)
let guifg = get(a:colors_dict, 'guifg', 'fg')
let guibg = get(a:colors_dict, 'guibg', 'NONE')
let gui = get(a:colors_dict, 'gui', 'none')
let guisp = get(a:colors_dict, 'guisp', 'fg')
exe 'hi ' . a:group_name . ' guifg=' . guifg . ' guibg=' . guibg . ' gui=' . gui . ' guisp=' . guisp
" Function without defaults.
function! s:HIx(group_name, colors_dict)
let hi_str = 'hi ' . a:group_name . ' '
for [key, val] in items(a:colors_dict)
let hi_str = hi_str . key . '=' . val . ' '
exe hi_str
call s:HI('Normal', {'guifg': s:text, 'guibg': s:text_bg})
call s:HI('Statement', {'guifg': s:cerise, 'gui': 'bold'})
call s:HI('Keyword', {'guifg': s:cerise, 'gui': 'bold'})
call s:HI('Conditional', {'guifg': s:cerise, 'gui': 'bold'})
call s:HI('Operator', {'guifg': s:cerise})
call s:HI('Label', {'guifg': s:cerise})
call s:HI('Repeat', {'guifg': s:cerise, 'gui': 'bold'})
call s:HI('Type', {'guifg': s:brick})
call s:HI('StorageClass', {'guifg': s:cerise})
call s:HI('Structure', {'guifg': s:cerise})
call s:HI('TypeDef', {'guifg': s:cerise, 'gui': 'bold'})
call s:HI('Exception', {'guifg': s:lime, 'gui': 'bold'})
call s:HI('Include', {'guifg': s:lime, 'gui': 'bold'})
call s:HI('PreProc', {'guifg': s:lime})
call s:HI('Macro', {'guifg': s:lime})
call s:HI('Define', {'guifg': s:lime})
call s:HI('Delimiter', {'guifg': s:lime})
call s:HI('Ignore', {'guifg': s:lime})
call s:HI('PreCondit', {'guifg': s:lime, 'gui': 'bold'})
call s:HI('Debug', {'guifg': s:lime, 'gui': 'bold'})
call s:HI('Function', {'guifg': s:gold})
call s:HI('Identifier', {'guifg': s:gold})
call s:HI('Comment', {'guifg': s:frost})
call s:HI('CommentEmail', {'guifg': s:frost, 'gui': 'underline'})
call s:HI('CommentUrl', {'guifg': s:frost, 'gui': 'underline'})
call s:HI('SpecialComment', {'guifg': s:frost, 'gui': 'bold'})
call s:HI('Todo', {'guifg': s:frost, 'gui': 'bold'})
call s:HI('String', {'guifg': s:sunny})
call s:HI('SpecialKey', {'guifg': s:lilac, 'gui': 'bold'})
call s:HI('Special', {'guifg': s:lilac, 'gui': 'bold'})
call s:HI('SpecialChar', {'guifg': s:lilac, 'gui': 'bold'})
call s:HI('Boolean', {'guifg': s:lilac, 'gui': 'bold'})
call s:HI('Character', {'guifg': s:lilac, 'gui': 'bold'})
call s:HI('Number', {'guifg': s:lilac, 'gui': 'bold'})
call s:HI('Constant', {'guifg': s:lilac, 'gui': 'bold'})
call s:HI('Float', {'guifg': s:lilac, 'gui': 'bold'})
call s:HI('FoldColumn', {'guifg': s:greys[1], 'guibg': s:black}) ", 'gui': 'bold'})
call s:HI('Folded', {'guifg': s:greys[1], 'guibg': s:black}) ", 'gui': 'bold'})
call s:HI('MatchParen', {'guifg': s:black, 'guibg': s:gold, 'gui': 'bold'})
call s:HI('LineNr', {'guifg': s:greys[2]})
call s:HI('NonText', {'guifg': s:greys[2]})
call s:HIx('CursorColumn', {'guibg': s:greys[5]})
call s:HIx('CursorLine', {'guibg': s:greys[5]})
call s:HI('SignColumn', {'guibg': s:greys[5]})
call s:HIx('ColorColumn', {'guibg': s:greys[5]})
call s:HI('Error', {'guifg': s:mordant, 'guibg': s:greys[5], 'gui': 'bold'})
call s:HI('ErrorMsg', {'guifg': s:mordant, 'gui': 'bold'})
call s:HI('WarningMsg', {'guifg': s:mordant})
call s:HI('Cursor', s:cursor)
call s:HI('vCursor', s:cursor)
call s:HI('iCursor', s:cursor)
call s:HI('StatusLine', {'guifg': s:white, 'guibg': s:black, 'gui': 'bold'})
call s:HI('StatusLineNC', {'guifg': s:greys[1], 'guibg': s:greys[5], 'gui': 'bold'})
call s:HI('VertSplit', {'guifg': s:greys[1], 'guibg': s:greys[5], 'gui': 'bold'})
call s:HI('ModeMsg', {'guifg': s:sunny, 'gui': 'bold'})
if has("spell")
call s:HIx('SpellBad', {'guisp': '#FF0000', 'gui': 'undercurl'})
call s:HIx('SpellCap', {'guisp': '#7070F0', 'gui': 'undercurl'})
call s:HIx('SpellLocal', {'guisp': '#70F0F0', 'gui': 'undercurl'})
call s:HIx('SpellRare', {'guisp': '#FFFFFF', 'gui': 'undercurl'})
call s:HIx('VisualNOS', {'guibg': s:greys[4]})
call s:HIx('Visual', {'guibg': s:greys[4]})
call s:HI('Search', {'guifg': s:black, 'guibg': s:gold})
call s:HI('IncSearch', {'guifg': s:black, 'guibg': s:sunny})
call s:HI('Pmenu', {'guifg': s:black, 'guibg': s:gold})
call s:HI('PmenuSel', {'guifg': s:gold, 'guibg': s:black, 'gui': 'bold'})
call s:HI('Pmenu', {'guibg': s:greys[5]})
call s:HI('Pmenu', {'guifg': '#66D9EF'})
call s:HIx('DiffDelete', {'guifg': s:auburn, 'guibg': s:auburn})
call s:HIx('DiffText', {'guibg': s:greys[3], 'gui': 'bold'})
call s:HIx('DiffChange', {'guibg': s:greys[4]})
call s:HIx('DiffAdd', {'guibg': s:moss})
call s:HI('Underlined', {'gui': 'underline'})
call s:HI('Directory', {'guifg': s:lime})
call s:HI('Question', {'guifg': s:lime})
call s:HI('MoreMsg', {'guifg': s:lime})
call s:HI('WildMenu', {'guifg': s:black, 'guibg': s:lilac, 'gui': 'bold'})
call s:HI('Title', {'gui': 'underline'})
call s:HIx('Tag', {'gui': 'bold'})
"*** PYTHON ***
call s:HI('pythonDecorator', {'guifg': s:cerise})
call s:HI('pythonException', {'guifg': s:lime, 'gui': 'bold'})
call s:HI('pythonExceptions', {'guifg': s:lime})
"*** RUBY ***
call s:HI('rubyModule', {'guifg': s:lime})
call s:HI('rubyModuleNameTag', {'guifg': s:text})
call s:HI('rubyPseudoVariable', {'guifg': s:text})
call s:HI('rubyClass', {'guifg': s:cerise})
call s:HI('rubyClassNameTag', {'guifg': s:gold})
call s:HI('rubyDefine', {'guifg': s:cerise})
call s:HI('rubyConstant', {'guifg': s:text})
call s:HI('rubyStringDelimiter', {'guifg': s:sunny})
call s:HI('rubyInterpolation', {'guifg': s:lilac})
call s:HI('rubyInterpolationDelimiter', {'guifg': s:lilac})
"*** CLOJURE ***
call s:HI('clojureDefine', {'guifg': s:cerise})
call s:HI('clojureSpecial', {'guifg': s:cerise})
call s:HI('clojureCond', {'guifg': s:cerise})
call s:HI('clojureParen0', {'guifg': s:text})
call s:HI('clojureMacro', {'guifg': s:lime, 'gui': 'bold'})
call s:HI('clojureDispatch', {'guifg': s:lilac, 'gui': 'bold'})
"*** VIMSCRIPT ***
call s:HI('vimCommentTitle', {'guifg': s:frost, 'gui': 'bold'})
call s:HI('vimParenSep', {'guifg': s:text})
call s:HI('vimSep', {'guifg': s:text})
call s:HI('vimOper', {'guifg': s:text})
"*** XML ***
call s:HI('xmlProcessingDelim', {'guifg': s:brick})
call s:HI('xmlNamespace', {'guifg': s:gold})
call s:HI('xmlTag', {'guifg': s:gold})
call s:HI('xmlTagName', {'guifg': s:gold})
call s:HI('xmlEndTag', {'guifg': s:gold})
call s:HI('xmlAttrib', {'guifg': s:brick})
call s:HI('xmlAttribPunct', {'guifg': s:brick})
call s:HI('xmlEntity', {'guifg': s:lilac, 'gui': 'bold'})
call s:HI('xmlEntityPunct', {'guifg': s:lilac})
"*** HTML ***
call s:HI('htmlTagName', {'guifg': s:gold})
call s:HI('htmlTag', {'guifg': s:gold})
call s:HI('htmlTagN', {'guifg': s:gold})
call s:HI('htmlH1', {'gui': 'bold'})
call s:HI('htmlH2', {'gui': 'bold'})
call s:HI('htmlH3', {'gui': 'italic'})
call s:HI('htmlH4', {'gui': 'italic'})
call s:HI('htmlTagN', {'guifg': s:gold})
call s:HI('htmlScriptTag', {'guifg': s:lime})
"*** minibufexpl ***
call s:HI('MBENormal', {'guifg': s:greys[1]})
call s:HI('MBEVisibleNormal', {'guifg': s:white, 'gui': 'bold'})
call s:HI('MBEVisibleActive', {'guifg': s:frost, 'gui': 'bold'})
call s:HI('MBEChanged', {'guifg': s:greys[1], 'gui': 'italic'})
call s:HI('MBEVisibleChanged', {'guifg': s:white, 'gui': 'bold,italic'})
call s:HI('MBEVisibleChangedActive', {'guifg': s:frost, 'gui': 'bold,italic'})
"*** vim-easymotion ***
call s:HI('EasyMotionTarget', {'guifg': s:cerise, 'gui': 'bold'})
call s:HI('EasyMotionShade', {'guifg': s:greys[2]})
Jump to Line
Something went wrong with that request. Please try again.