sawine@0: set background=dark sawine@0: highlight clear sawine@0: if exists("syntax_on") sawine@0: syntax reset sawine@0: endif sawine@0: let g:colors_name = "moon" sawine@0: sawine@0: " colours sawine@0: let s:moon = {} sawine@0: let s:moon.plain = ['ffffff', 15] sawine@0: let s:moon.snow = ['ffffff', 15] sawine@0: let s:moon.coal = ['000000', 16] sawine@0: let s:moon.brightgravel = ['d9cec3', 252] sawine@0: let s:moon.lightgravel = ['998f84', 245] sawine@0: let s:moon.gravel = ['857f78', 243] sawine@0: let s:moon.mediumgravel = ['666462', 241] sawine@0: let s:moon.deepgravel = ['45413b', 238] sawine@0: let s:moon.deepergravel = ['35322d', 236] sawine@0: let s:moon.darkgravel = ['242321', 235] sawine@0: let s:moon.blackgravel = ['1c1b1a', 233] sawine@0: let s:moon.blackestgravel = ['141413', 232] sawine@0: let s:moon.dalespale = ['fade3e', 221] sawine@0: let s:moon.dirtyblonde = ['f4cf86', 222] sawine@0: let s:moon.taffy = ['ff2c4b', 196] sawine@0: let s:moon.saltwatertaffy = ['8cffba', 121] sawine@0: let s:moon.tardis = ['0a9dff', 39] sawine@0: let s:moon.orange = ['ffa724', 214] sawine@0: let s:moon.lime = ['aeee00', 148] sawine@0: let s:moon.dress = ['ff9eb8', 211] sawine@0: let s:moon.toffee = ['b88853', 137] sawine@0: let s:moon.coffee = ['c7915b', 173] sawine@0: let s:moon.darkroast = ['88633f', 95] sawine@0: sawine@0: " live group picker sawine@0: nmap :call SynStack() sawine@0: function! SynStack() sawine@0: if !exists("*synstack") sawine@0: return sawine@0: endif sawine@0: echo map(synstack(line('.'), col('.')), 'synIDattr(v:val, "name")') sawine@0: endfunc sawine@0: sawine@0: " highlight function by Steve Josh sawine@0: function! HL(group, fg, ...) sawine@0: " Arguments: group, guifg, guibg, gui, guisp sawine@0: let histring = 'hi ' . a:group . ' ' sawine@0: if strlen(a:fg) sawine@0: if a:fg == 'fg' sawine@0: let histring .= 'guifg=fg ctermfg=fg ' sawine@0: else sawine@0: let c = get(s:moon, a:fg) sawine@0: let histring .= 'guifg=#' . c[0] . ' ctermfg=' . c[1] . ' ' sawine@0: endif sawine@0: endif sawine@0: if a:0 >= 1 && strlen(a:1) sawine@0: if a:1 == 'bg' sawine@0: let histring .= 'guibg=bg ctermbg=bg ' sawine@0: else sawine@0: let c = get(s:moon, a:1) sawine@0: let histring .= 'guibg=#' . c[0] . ' ctermbg=' . c[1] . ' ' sawine@0: endif sawine@0: endif sawine@0: if a:0 >= 2 && strlen(a:2) sawine@0: let histring .= 'gui=' . a:2 . ' cterm=' . a:2 . ' ' sawine@0: endif sawine@0: sawine@0: if a:0 >= 3 && strlen(a:3) sawine@0: let c = get(s:moon, a:3) sawine@0: let histring .= 'guisp=#' . c[0] . ' ' sawine@0: endif sawine@0: " echom histring sawine@0: execute histring sawine@0: endfunction sawine@0: sawine@0: " sawine@0: " Colour assignments sawine@0: " sawine@0: sawine@0: call HL('Normal', 'plain', 'blackgravel') sawine@0: call HL('Folded', 'mediumgravel', 'bg', 'none') sawine@0: sawine@0: call HL('VertSplit', 'lightgravel', 'bg', 'none') sawine@0: sawine@0: call HL('CursorLine', '', 'darkgravel', 'none') sawine@0: call HL('CursorColumn', '', 'darkgravel') sawine@0: call HL('ColorColumn', '', 'darkgravel') sawine@0: sawine@0: call HL('MatchParen', 'dalespale', 'darkgravel', 'bold') sawine@0: sawine@0: call HL('NonText', 'deepgravel', 'bg') sawine@0: call HL('SpecialKey', 'deepgravel', 'bg') sawine@0: sawine@0: call HL('Visual', '', 'deepgravel') sawine@0: call HL('VisualNOS', '', 'deepgravel') sawine@0: sawine@0: call HL('Search', 'coal', 'dalespale', 'bold') sawine@0: call HL('IncSearch', 'coal', 'tardis', 'bold') sawine@0: sawine@0: call HL('Underlined', 'fg', '', 'underline') sawine@0: sawine@0: call HL('StatusLine', 'coal', 'tardis', 'bold') sawine@0: call HL('StatusLineNC', 'snow', 'deepgravel', 'bold') sawine@0: sawine@0: call HL('Directory', 'dirtyblonde', '', 'bold') sawine@0: sawine@0: call HL('Title', 'lime') sawine@0: sawine@0: call HL('ErrorMsg', 'taffy', 'bg', 'bold') sawine@0: call HL('MoreMsg', 'dalespale', '', 'bold') sawine@0: call HL('ModeMsg', 'dirtyblonde', '', 'bold') sawine@0: call HL('Question', 'dirtyblonde', '', 'bold') sawine@0: call HL('WarningMsg', 'dress', '', 'bold') sawine@0: call HL('Tag', '', '', 'bold') sawine@0: sawine@0: call HL('LineNr', 'mediumgravel', 'blackgravel') sawine@0: call HL('SignColumn', '', 'blackgravel') sawine@0: call HL('FoldColumn', 'mediumgravel', 'blackgravel') sawine@0: sawine@0: call HL('Cursor', 'coal', 'tardis', 'bold') sawine@0: call HL('vCursor', 'coal', 'tardis', 'bold') sawine@0: call HL('iCursor', 'coal', 'tardis', 'none') sawine@0: sawine@0: " Syntax highlighting sawine@0: call HL('Special', 'plain') sawine@0: sawine@0: " Comments are slightly brighter than folds, to make 'headers' easier to see. sawine@0: call HL('Comment', 'gravel') sawine@0: call HL('Todo', 'snow', 'bg', 'bold') sawine@0: call HL('SpecialComment', 'snow', 'bg', 'bold') sawine@0: sawine@0: " Strings are a nice, pale straw color. Nothing too fancy. sawine@0: call HL('String', 'dirtyblonde') sawine@0: sawine@0: " Control flow stuff is taffy. sawine@0: call HL('Statement', 'taffy', '', 'bold') sawine@0: call HL('Keyword', 'taffy', '', 'bold') sawine@0: call HL('Conditional', 'taffy', '', 'bold') sawine@0: call HL('Operator', 'taffy', '', 'none') sawine@0: call HL('Label', 'taffy', '', 'none') sawine@0: call HL('Repeat', 'taffy', '', 'none') sawine@0: sawine@0: " Functions and variable declarations are orange, because plain looks weird. sawine@0: call HL('Identifier', 'orange', '', 'none') sawine@0: call HL('Function', 'orange', '', 'none') sawine@0: sawine@0: " Preprocessor stuff is lime, to make it pop. sawine@0: " sawine@0: " This includes imports in any given language, because they should usually be sawine@0: " grouped together at the beginning of a file. If they're in the middle of some sawine@0: " other code they should stand out, because something tricky is sawine@0: " probably going on. sawine@0: call HL('PreProc', 'lime', '', 'none') sawine@0: call HL('Macro', 'lime', '', 'none') sawine@0: call HL('Define', 'lime', '', 'none') sawine@0: call HL('PreCondit', 'lime', '', 'bold') sawine@0: sawine@0: " Constants of all kinds are colored together. sawine@0: " I'm not really happy with the color yet... sawine@0: call HL('Constant', 'toffee', '', 'bold') sawine@0: call HL('Character', 'toffee', '', 'bold') sawine@0: call HL('Boolean', 'toffee', '', 'bold') sawine@0: sawine@0: call HL('Number', 'toffee', '', 'bold') sawine@0: call HL('Float', 'toffee', '', 'bold') sawine@0: sawine@0: " Not sure what 'special character in a constant' means, but let's make it pop. sawine@0: call HL('SpecialChar', 'dress', '', 'bold') sawine@0: sawine@0: call HL('Type', 'dress', '', 'none') sawine@0: call HL('StorageClass', 'taffy', '', 'none') sawine@0: call HL('Structure', 'taffy', '', 'none') sawine@0: call HL('Typedef', 'taffy', '', 'bold') sawine@0: sawine@0: " Make try/catch blocks stand out. sawine@0: call HL('Exception', 'lime', '', 'bold') sawine@0: sawine@0: " Misc sawine@0: call HL('Error', 'snow', 'taffy', 'bold') sawine@0: call HL('Debug', 'snow', '', 'bold') sawine@0: call HL('Ignore', 'gravel', '', '') sawine@0: sawine@0: " }}} sawine@0: " Completion Menu {{{ sawine@0: sawine@0: call HL('Pmenu', 'plain', 'deepergravel') sawine@0: call HL('PmenuSel', 'coal', 'tardis', 'bold') sawine@0: call HL('PmenuSbar', '', 'deepergravel') sawine@0: call HL('PmenuThumb', 'brightgravel') sawine@0: sawine@0: " }}} sawine@0: " Diffs {{{ sawine@0: sawine@0: call HL('DiffDelete', 'coal', 'coal') sawine@0: call HL('DiffAdd', '', 'deepergravel') sawine@0: call HL('DiffChange', '', 'darkgravel') sawine@0: call HL('DiffText', 'snow', 'deepergravel', 'bold') sawine@0: sawine@0: " }}} sawine@0: " Spelling {{{ sawine@0: sawine@0: if has("spell") sawine@0: call HL('SpellCap', 'dalespale', '', 'undercurl,bold', 'dalespale') sawine@0: call HL('SpellBad', '', '', 'undercurl', 'dalespale') sawine@0: call HL('SpellLocal', '', '', 'undercurl', 'dalespale') sawine@0: call HL('SpellRare', '', '', 'undercurl', 'dalespale') sawine@0: endif sawine@0: sawine@0: " }}} sawine@0: sawine@0: " }}} sawine@0: " Plugins {{{ sawine@0: sawine@0: " CtrlP {{{ sawine@0: sawine@0: " the message when no match is found sawine@0: call HL('CtrlPNoEntries', 'snow', 'taffy', 'bold') sawine@0: sawine@0: " the matched pattern sawine@0: call HL('CtrlPMatch', 'orange', 'bg', 'none') sawine@0: sawine@0: " the line prefix '>' in the match window sawine@0: call HL('CtrlPLinePre', 'deepgravel', 'bg', 'none') sawine@0: sawine@0: " the prompt’s base sawine@0: call HL('CtrlPPrtBase', 'deepgravel', 'bg', 'none') sawine@0: sawine@0: " the prompt’s text sawine@0: call HL('CtrlPPrtText', 'plain', 'bg', 'none') sawine@0: sawine@0: " the prompt’s cursor when moving over the text sawine@0: call HL('CtrlPPrtCursor', 'coal', 'tardis', 'bold') sawine@0: sawine@0: " 'prt' or 'win', also for 'regex' sawine@0: call HL('CtrlPMode1', 'coal', 'tardis', 'bold') sawine@0: sawine@0: " 'file' or 'path', also for the local working dir sawine@0: call HL('CtrlPMode2', 'coal', 'tardis', 'bold') sawine@0: sawine@0: " the scanning status sawine@0: call HL('CtrlPStats', 'coal', 'tardis', 'bold') sawine@0: sawine@0: " TODO: CtrlP extensions. sawine@0: " CtrlPTabExtra : the part of each line that’s not matched against (Comment) sawine@0: " CtrlPqfLineCol : the line and column numbers in quickfix mode (|hl-Search|) sawine@0: " CtrlPUndoT : the elapsed time in undo mode (|hl-Directory|) sawine@0: " CtrlPUndoBr : the square brackets [] in undo mode (Comment) sawine@0: " CtrlPUndoNr : the undo number inside [] in undo mode (String) sawine@0: sawine@0: " }}} sawine@0: " EasyMotion {{{ sawine@0: sawine@0: call HL('EasyMotionTarget', 'tardis', 'bg', 'bold') sawine@0: call HL('EasyMotionShade', 'deepgravel', 'bg') sawine@0: sawine@0: " }}} sawine@0: sawine@0: " }}} sawine@0: " Makegreen {{{ sawine@0: sawine@0: " hi GreenBar term=reverse ctermfg=white ctermbg=green guifg=coal guibg=#9edf1c sawine@0: " hi RedBar term=reverse ctermfg=white ctermbg=red guifg=white guibg=#C50048 sawine@0: sawine@0: " }}} sawine@0: " ShowMarks {{{ sawine@0: sawine@0: call HL('ShowMarksHLl', 'tardis', 'blackgravel') sawine@0: call HL('ShowMarksHLu', 'tardis', 'blackgravel') sawine@0: call HL('ShowMarksHLo', 'tardis', 'blackgravel') sawine@0: call HL('ShowMarksHLm', 'tardis', 'blackgravel') sawine@0: sawine@0: " }}} sawine@0: sawine@0: " }}} sawine@0: " Clojure {{{ sawine@0: sawine@0: call HL('clojureSpecial', 'taffy', '', '') sawine@0: call HL('clojureDefn', 'taffy', '', '') sawine@0: call HL('clojureDefMacro', 'taffy', '', '') sawine@0: call HL('clojureDefine', 'taffy', '', '') sawine@0: call HL('clojureMacro', 'taffy', '', '') sawine@0: call HL('clojureCond', 'taffy', '', '') sawine@0: sawine@0: call HL('clojureKeyword', 'orange', '', 'none') sawine@0: sawine@0: call HL('clojureFunc', 'dress', '', 'none') sawine@0: call HL('clojureRepeat', 'dress', '', 'none') sawine@0: sawine@0: call HL('clojureParen0', 'lightgravel', '', 'none') sawine@0: sawine@0: call HL('clojureAnonArg', 'snow', '', 'bold') sawine@0: sawine@0: " }}} sawine@0: " CSS {{{ sawine@0: sawine@0: call HL('cssColorProp', 'fg', '', 'none') sawine@0: call HL('cssBoxProp', 'fg', '', 'none') sawine@0: call HL('cssTextProp', 'fg', '', 'none') sawine@0: call HL('cssRenderProp', 'fg', '', 'none') sawine@0: call HL('cssGeneratedContentProp', 'fg', '', 'none') sawine@0: sawine@0: call HL('cssValueLength', 'toffee', '', 'bold') sawine@0: call HL('cssColor', 'toffee', '', 'bold') sawine@0: call HL('cssBraces', 'lightgravel', '', 'none') sawine@0: call HL('cssIdentifier', 'orange', '', 'bold') sawine@0: call HL('cssClassName', 'orange', '', 'none') sawine@0: sawine@0: " }}} sawine@0: " Django Templates {{{ sawine@0: sawine@0: call HL('djangoArgument', 'dirtyblonde', '',) sawine@0: call HL('djangoTagBlock', 'orange', '') sawine@0: call HL('djangoVarBlock', 'orange', '') sawine@0: " hi djangoStatement guifg=#ff3853 gui=bold sawine@0: " hi djangoVarBlock guifg=#f4cf86 sawine@0: sawine@0: " }}} sawine@0: " HTML {{{ sawine@0: sawine@0: " Punctuation sawine@0: call HL('htmlTag', 'darkroast', 'bg', 'none') sawine@0: call HL('htmlEndTag', 'darkroast', 'bg', 'none') sawine@0: sawine@0: " Tag names sawine@0: call HL('htmlTagName', 'coffee', '', 'bold') sawine@0: call HL('htmlSpecialTagName', 'coffee', '', 'bold') sawine@0: sawine@0: " Attributes sawine@0: call HL('htmlArg', 'coffee', '', 'none') sawine@0: sawine@0: " Stuff inside an tag sawine@0: call HL('htmlLink', 'lightgravel', '', 'underline') sawine@0: sawine@0: " }}} sawine@0: " Java {{{ sawine@0: sawine@0: call HL('javaClassDecl', 'taffy', '', 'bold') sawine@0: call HL('javaScopeDecl', 'taffy', '', 'bold') sawine@0: call HL('javaCommentTitle', 'gravel', '') sawine@0: call HL('javaDocTags', 'snow', '', 'none') sawine@0: call HL('javaDocParam', 'dalespale', '', '') sawine@0: sawine@0: " }}} sawine@0: " LessCSS {{{ sawine@0: sawine@0: call HL('lessVariable', 'lime', '', 'none') sawine@0: sawine@0: " }}} sawine@0: " Mail {{{ sawine@0: sawine@0: call HL('mailSubject', 'orange', '', 'bold') sawine@0: call HL('mailHeader', 'lightgravel', '', '') sawine@0: call HL('mailHeaderKey', 'lightgravel', '', '') sawine@0: call HL('mailHeaderEmail', 'snow', '', '') sawine@0: call HL('mailURL', 'toffee', '', 'underline') sawine@0: call HL('mailSignature', 'gravel', '', 'none') sawine@0: sawine@0: call HL('mailQuoted1', 'gravel', '', 'none') sawine@0: call HL('mailQuoted2', 'dress', '', 'none') sawine@0: call HL('mailQuoted3', 'dirtyblonde', '', 'none') sawine@0: call HL('mailQuoted4', 'orange', '', 'none') sawine@0: call HL('mailQuoted5', 'lime', '', 'none') sawine@0: sawine@0: " }}} sawine@0: " Markdown {{{ sawine@0: sawine@0: call HL('markdownHeadingRule', 'lightgravel', '', 'bold') sawine@0: call HL('markdownHeadingDelimiter', 'lightgravel', '', 'bold') sawine@0: call HL('markdownOrderedListMarker', 'lightgravel', '', 'bold') sawine@0: call HL('markdownListMarker', 'lightgravel', '', 'bold') sawine@0: call HL('markdownH1', 'orange', '', 'bold') sawine@0: call HL('markdownH2', 'lime', '', 'bold') sawine@0: call HL('markdownH3', 'lime', '', 'none') sawine@0: call HL('markdownH4', 'lime', '', 'none') sawine@0: call HL('markdownH5', 'lime', '', 'none') sawine@0: call HL('markdownH6', 'lime', '', 'none') sawine@0: call HL('markdownLinkText', 'toffee', '', 'underline') sawine@0: call HL('markdownIdDeclaration', 'toffee') sawine@0: call HL('markdownAutomaticLink', 'toffee', '', 'bold') sawine@0: call HL('markdownUrl', 'toffee', '', 'bold') sawine@0: call HL('markdownUrldelimiter', 'lightgravel', '', 'bold') sawine@0: call HL('markdownLinkDelimiter', 'lightgravel', '', 'bold') sawine@0: call HL('markdownLinkTextDelimiter', 'lightgravel', '', 'bold') sawine@0: call HL('markdownCodeDelimiter', 'dirtyblonde', '', 'bold') sawine@0: call HL('markdownCode', 'dirtyblonde', '', 'none') sawine@0: call HL('markdownCodeBlock', 'dirtyblonde', '', 'none') sawine@0: sawine@0: " }}} sawine@0: " Python {{{ sawine@0: sawine@0: hi def link pythonOperator Operator sawine@0: call HL('pythonBuiltin', 'dress') sawine@0: call HL('pythonEscape', 'dress') sawine@0: call HL('pythonException', 'lime', '', 'bold') sawine@0: call HL('pythonExceptions', 'lime', '', 'none') sawine@0: call HL('pythonDecorator', 'taffy', '', 'none') sawine@0: sawine@0: " }}} sawine@0: " SLIMV {{{ sawine@0: sawine@0: " Rainbow parentheses sawine@0: call HL('hlLevel0', 'gravel') sawine@0: call HL('hlLevel1', 'orange') sawine@0: call HL('hlLevel2', 'saltwatertaffy') sawine@0: call HL('hlLevel3', 'dress') sawine@0: call HL('hlLevel4', 'coffee') sawine@0: call HL('hlLevel5', 'dirtyblonde') sawine@0: call HL('hlLevel6', 'orange') sawine@0: call HL('hlLevel7', 'saltwatertaffy') sawine@0: call HL('hlLevel8', 'dress') sawine@0: call HL('hlLevel9', 'coffee') sawine@0: sawine@0: " }}} sawine@0: " Vim {{{ sawine@0: sawine@0: call HL('VimCommentTitle', 'lightgravel', '', 'bold') sawine@0: sawine@0: call HL('VimMapMod', 'dress', '', 'none') sawine@0: call HL('VimMapModKey', 'dress', '', 'none') sawine@0: call HL('VimNotation', 'dress', '', 'none') sawine@0: call HL('VimBracket', 'dress', '', 'none') sawine@0: sawine@0: " }}} sawine@0: sawine@0: " }}} sawine@0: