group memoization through hi linking

This commit is contained in:
Pavel Pertsev
2015-09-05 06:21:13 +03:00
parent 0d03883418
commit 1f930b7c34

View File

@@ -385,6 +385,39 @@ function! s:HL(group, fg, ...)
execute join(histring, ' ') execute join(histring, ' ')
endfunction endfunction
" }}}
" Gruvbox Hi Groups: {{{
" memoize common hi groups
call s:HL('GruvboxFg0', s:fg0)
call s:HL('GruvboxFg1', s:fg1)
call s:HL('GruvboxFg3', s:fg3)
call s:HL('GruvboxFg4', s:fg4)
call s:HL('GruvboxGray', s:gray)
call s:HL('GruvboxBg2', s:bg2)
call s:HL('GruvboxRed', s:red)
call s:HL('GruvboxRedBold', s:red, s:none, s:bold)
call s:HL('GruvboxGreen', s:green)
call s:HL('GruvboxGreenBold', s:green, s:none, s:bold)
call s:HL('GruvboxYellow', s:yellow)
call s:HL('GruvboxYellowBold', s:yellow, s:none, s:bold)
call s:HL('GruvboxBlue', s:blue)
" call s:HL('GruvboxBlueBold', s:blue, s:none, s:bold)
call s:HL('GruvboxPurple', s:purple)
" call s:HL('GruvboxPurpleBold', s:purple, s:none, s:bold)
call s:HL('GruvboxAqua', s:aqua)
call s:HL('GruvboxAquaBold', s:aqua, s:none, s:bold)
call s:HL('GruvboxOrange', s:orange)
call s:HL('GruvboxOrangeBold', s:orange, s:none, s:bold)
call s:HL('GruvboxRedSign', s:red, s:sign_column, s:invert_signs)
call s:HL('GruvboxGreenSign', s:green, s:sign_column, s:invert_signs)
call s:HL('GruvboxYellowSign', s:yellow, s:sign_column, s:invert_signs)
call s:HL('GruvboxBlueSign', s:blue, s:sign_column, s:invert_signs)
call s:HL('GruvboxPurpleSign', s:purple, s:sign_column, s:invert_signs)
call s:HL('GruvboxAquaSign', s:aqua, s:sign_column, s:invert_signs)
" }}} " }}}
" Vanilla colorscheme --------------------------------------------------------- " Vanilla colorscheme ---------------------------------------------------------
@@ -406,14 +439,14 @@ if version >= 700
" Screen line that the cursor is " Screen line that the cursor is
call s:HL('CursorLine', s:none, s:bg1) call s:HL('CursorLine', s:none, s:bg1)
" Screen column that the cursor is " Screen column that the cursor is
call s:HL('CursorColumn', s:none, s:bg1) hi! link CursorColumn CursorLine
" Tab pages line filler " Tab pages line filler
call s:HL('TabLineFill', s:bg4, s:vim_bg, s:invert_tabline) call s:HL('TabLineFill', s:bg4, s:vim_bg, s:invert_tabline)
" Active tab page label " Active tab page label
call s:HL('TabLineSel', s:vim_bg, s:bg4, s:bold . s:invert_tabline) call s:HL('TabLineSel', s:vim_bg, s:bg4, s:bold . s:invert_tabline)
" Not active tab page label " Not active tab page label
call s:HL('TabLine', s:bg4, s:vim_bg, s:invert_tabline) hi! link TabLine TabLineFill
" Match paired bracket under the cursor " Match paired bracket under the cursor
call s:HL('MatchParen', s:none, s:bg3, s:bold) call s:HL('MatchParen', s:none, s:bg3, s:bold)
@@ -430,11 +463,11 @@ if version >= 703
call s:HL('CursorLineNr', s:yellow, s:bg1) call s:HL('CursorLineNr', s:yellow, s:bg1)
endif endif
call s:HL('NonText', s:bg2) hi! link NonText GruvboxBg2
call s:HL('SpecialKey', s:bg2) hi! link SpecialKey GruvboxBg2
call s:HL('Visual', s:none, s:bg3, s:invert_selection) call s:HL('Visual', s:none, s:bg3, s:invert_selection)
call s:HL('VisualNOS', s:none, s:bg3, s:invert_selection) hi! link VisualNOS Visual
call s:HL('Search', s:bg0, s:yellow) call s:HL('Search', s:bg0, s:yellow)
call s:HL('IncSearch', s:bg0, s:hls_cursor) call s:HL('IncSearch', s:bg0, s:hls_cursor)
@@ -451,21 +484,21 @@ call s:HL('VertSplit', s:fg4, s:vert_split)
call s:HL('WildMenu', s:blue, s:bg2, s:bold) call s:HL('WildMenu', s:blue, s:bg2, s:bold)
" Directory names, special names in listing " Directory names, special names in listing
call s:HL('Directory', s:green, s:none, s:bold) hi! link Directory GruvboxGreenBold
" Titles for output from :set all, :autocmd, etc. " Titles for output from :set all, :autocmd, etc.
call s:HL('Title', s:green, s:none, s:bold) hi! link Title GruvboxGreenBold
" Error messages on the command line " Error messages on the command line
call s:HL('ErrorMsg', s:vim_bg, s:red, s:bold) call s:HL('ErrorMsg', s:vim_bg, s:red, s:bold)
" More prompt: -- More -- " More prompt: -- More --
call s:HL('MoreMsg', s:yellow, s:none, s:bold) hi! link MoreMsg GruvboxYellowBold
" Current mode message: -- INSERT -- " Current mode message: -- INSERT --
call s:HL('ModeMsg', s:yellow, s:none, s:bold) hi! link ModeMsg GruvboxYellowBold
" 'Press enter' prompt and yes/no questions " 'Press enter' prompt and yes/no questions
call s:HL('Question', s:orange, s:none, s:bold) hi! link Question GruvboxOrangeBold
" Warning messages " Warning messages
call s:HL('WarningMsg', s:red, s:none, s:bold) hi! link WarningMsg GruvboxRedBold
" }}} " }}}
" Gutter: {{{ " Gutter: {{{
@@ -487,17 +520,17 @@ call s:HL('FoldColumn', s:gray, s:bg1)
" Character under cursor " Character under cursor
call s:HL('Cursor', s:none, s:none, s:inverse) call s:HL('Cursor', s:none, s:none, s:inverse)
" Visual mode cursor, selection " Visual mode cursor, selection
call s:HL('vCursor', s:none, s:none, s:inverse) hi! link vCursor Cursor
" Input moder cursor " Input moder cursor
call s:HL('iCursor', s:none, s:none, s:inverse) hi! link iCursor Cursor
" Language mapping cursor " Language mapping cursor
call s:HL('lCursor', s:none, s:none, s:inverse) hi! link lCursor Cursor
" }}} " }}}
" Syntax Highlighting: {{{ " Syntax Highlighting: {{{
if g:gruvbox_improved_strings == 0 if g:gruvbox_improved_strings == 0
call s:HL('Special', s:orange) hi! link Special GruvboxOrange
else else
call s:HL('Special', s:bg1, s:orange, s:italic) call s:HL('Special', s:bg1, s:orange, s:italic)
endif endif
@@ -507,40 +540,40 @@ call s:HL('Todo', s:vim_fg, s:vim_bg, s:bold . s:italic)
call s:HL('Error', s:red, s:vim_bg, s:bold . s:inverse) call s:HL('Error', s:red, s:vim_bg, s:bold . s:inverse)
" Generic statement " Generic statement
call s:HL('Statement', s:red) hi! link Statement GruvboxRed
" if, then, else, endif, swicth, etc. " if, then, else, endif, swicth, etc.
call s:HL('Conditional', s:red) hi! link Conditional GruvboxRed
" for, do, while, etc. " for, do, while, etc.
call s:HL('Repeat', s:red) hi! link Repeat GruvboxRed
" case, default, etc. " case, default, etc.
call s:HL('Label', s:red) hi! link Label GruvboxRed
" try, catch, throw " try, catch, throw
call s:HL('Exception', s:red) hi! link Exception GruvboxRed
" sizeof, "+", "*", etc. " sizeof, "+", "*", etc.
hi! link Operator Normal hi! link Operator Normal
" Any other keyword " Any other keyword
call s:HL('Keyword', s:red) hi! link Keyword GruvboxRed
" Variable name " Variable name
call s:HL('Identifier', s:blue) hi! link Identifier GruvboxBlue
" Function name " Function name
call s:HL('Function', s:green, s:none, s:bold) hi! link Function GruvboxGreenBold
" Generic preprocessor " Generic preprocessor
call s:HL('PreProc', s:aqua) hi! link PreProc GruvboxAqua
" Preprocessor #include " Preprocessor #include
call s:HL('Include', s:aqua) hi! link Include GruvboxAqua
" Preprocessor #define " Preprocessor #define
call s:HL('Define', s:aqua) hi! link Define GruvboxAqua
" Same as Define " Same as Define
call s:HL('Macro', s:aqua) hi! link Macro GruvboxAqua
" Preprocessor #if, #else, #endif, etc. " Preprocessor #if, #else, #endif, etc.
call s:HL('PreCondit', s:aqua) hi! link PreCondit GruvboxAqua
" Generic constant " Generic constant
call s:HL('Constant', s:purple) hi! link Constant GruvboxPurple
" Character constant: 'c', '/n' " Character constant: 'c', '/n'
call s:HL('Character', s:purple) hi! link Character GruvboxPurple
" String constant: "this is a string" " String constant: "this is a string"
if g:gruvbox_improved_strings == 0 if g:gruvbox_improved_strings == 0
call s:HL('String', s:green, s:none, s:italicize_strings) call s:HL('String', s:green, s:none, s:italicize_strings)
@@ -548,20 +581,20 @@ else
call s:HL('String', s:bg1, s:fg1, s:italicize_strings) call s:HL('String', s:bg1, s:fg1, s:italicize_strings)
endif endif
" Boolean constant: TRUE, false " Boolean constant: TRUE, false
call s:HL('Boolean', s:purple) hi! link Boolean GruvboxPurple
" Number constant: 234, 0xff " Number constant: 234, 0xff
call s:HL('Number', s:purple) hi! link Number GruvboxPurple
" Floating point constant: 2.3e10 " Floating point constant: 2.3e10
call s:HL('Float', s:purple) hi! link Float GruvboxPurple
" Generic type " Generic type
call s:HL('Type', s:yellow) hi! link Type GruvboxYellow
" static, register, volatile, etc " static, register, volatile, etc
call s:HL('StorageClass', s:orange) hi! link StorageClass GruvboxOrange
" struct, union, enum, etc. " struct, union, enum, etc.
call s:HL('Structure', s:aqua) hi! link Structure GruvboxAqua
" typedef " typedef
call s:HL('Typedef', s:yellow) hi! link Typedef GruvboxYellow
" }}} " }}}
" Completion Menu: {{{ " Completion Menu: {{{
@@ -680,23 +713,23 @@ let g:niji_light_colours = g:rbpt_colorpairs
"}}} "}}}
" GitGutter: {{{ " GitGutter: {{{
call s:HL('GitGutterAdd', s:green, s:sign_column, s:invert_signs) hi! link GitGutterAdd GruvboxGreenSign
call s:HL('GitGutterChange', s:aqua, s:sign_column, s:invert_signs) hi! link GitGutterChange GruvboxAquaSign
call s:HL('GitGutterDelete', s:red, s:sign_column, s:invert_signs) hi! link GitGutterDelete GruvboxRedSign
call s:HL('GitGutterChangeDelete', s:aqua, s:sign_column, s:invert_signs) hi! link GitGutterChangeDelete GruvboxAquaSign
" }}} " }}}
" GitCommit: "{{{ " GitCommit: "{{{
call s:HL('gitcommitSelectedFile', s:green) hi! link gitcommitSelectedFile GruvboxGreen
call s:HL('gitcommitDiscardedFile', s:red) hi! link gitcommitDiscardedFile GruvboxRed
" }}} " }}}
" Signify: {{{ " Signify: {{{
call s:HL('SignifySignAdd', s:green, s:sign_column, s:invert_signs) hi! link SignifySignAdd GruvboxGreenSign
call s:HL('SignifySignChange ', s:aqua, s:sign_column, s:invert_signs) hi! link SignifySignChange GruvboxAquaSign
call s:HL('SignifySignDelete', s:red, s:sign_column, s:invert_signs) hi! link SignifySignDelete GruvboxRedSign
" }}} " }}}
" Syntastic: {{{ " Syntastic: {{{
@@ -704,14 +737,14 @@ call s:HL('SignifySignDelete', s:red, s:sign_column, s:invert_signs)
call s:HL('SyntasticError', s:none, s:none, s:undercurl, s:red) call s:HL('SyntasticError', s:none, s:none, s:undercurl, s:red)
call s:HL('SyntasticWarning', s:none, s:none, s:undercurl, s:yellow) call s:HL('SyntasticWarning', s:none, s:none, s:undercurl, s:yellow)
call s:HL('SyntasticErrorSign', s:red, s:sign_column, s:invert_signs) hi! link SyntasticErrorSign GruvboxRedSign
call s:HL('SyntasticWarningSign', s:yellow, s:sign_column, s:invert_signs) hi! link SyntasticWarningSign GruvboxYellowSign
" }}} " }}}
" Signature: {{{ " Signature: {{{
call s:HL('SignatureMarkerText', s:purple, s:sign_column, s:invert_signs) hi! link SignatureMarkerText GruvboxPurpleSign
call s:HL('SignatureMarkText', s:blue, s:sign_column, s:invert_signs) hi! link SignatureMarkText GruvboxBlueSign
let g:SignatureMarkerTextHL='"SignatureMarkerText"' let g:SignatureMarkerTextHL='"SignatureMarkerText"'
let g:SignatureMarkTextHL='"SignatureMarkText"' let g:SignatureMarkTextHL='"SignatureMarkText"'
@@ -719,19 +752,19 @@ let g:SignatureMarkTextHL='"SignatureMarkText"'
" }}} " }}}
" ShowMarks: {{{ " ShowMarks: {{{
call s:HL('ShowMarksHLl', s:blue, s:sign_column, s:invert_signs) hi! link ShowMarksHLl GruvboxBlueSign
call s:HL('ShowMarksHLu', s:blue, s:sign_column, s:invert_signs) hi! link ShowMarksHLu GruvboxBlueSign
call s:HL('ShowMarksHLo', s:blue, s:sign_column, s:invert_signs) hi! link ShowMarksHLo GruvboxBlueSign
call s:HL('ShowMarksHLm', s:blue, s:sign_column, s:invert_signs) hi! link ShowMarksHLm GruvboxBlueSign
" }}} " }}}
" CtrlP: {{{ " CtrlP: {{{
call s:HL('CtrlPMatch', s:yellow) hi! link CtrlPMatch GruvboxYellow
call s:HL('CtrlPNoEntries', s:red) hi! link CtrlPNoEntries GruvboxRed
call s:HL('CtrlPPrtBase', s:bg2) hi! link CtrlPPrtBase GruvboxBg2
call s:HL('CtrlPPrtCursor', s:blue) hi! link CtrlPPrtCursor GruvboxBlue
call s:HL('CtrlPLinePre', s:bg2) hi! link CtrlPLinePre GruvboxBg2
call s:HL('CtrlPMode1', s:blue, s:bg2, s:bold) call s:HL('CtrlPMode1', s:blue, s:bg2, s:bold)
call s:HL('CtrlPMode2', s:bg0, s:blue, s:bold) call s:HL('CtrlPMode2', s:bg0, s:blue, s:bold)
@@ -740,15 +773,15 @@ call s:HL('CtrlPStats', s:fg4, s:bg2, s:bold)
" }}} " }}}
" Startify: {{{ " Startify: {{{
call s:HL('StartifyBracket', s:fg3) hi! link StartifyBracket GruvboxFg3
call s:HL('StartifyFile', s:fg0) hi! link StartifyFile GruvboxFg0
call s:HL('StartifyNumber', s:blue) hi! link StartifyNumber GruvboxBlue
call s:HL('StartifyPath', s:gray) hi! link StartifyPath GruvboxGray
call s:HL('StartifySlash', s:gray) hi! link StartifySlash GruvboxGray
call s:HL('StartifySection', s:yellow) hi! link StartifySection GruvboxYellow
call s:HL('StartifySpecial', s:bg2) hi! link StartifySpecial GruvboxBg2
call s:HL('StartifyHeader', s:orange) hi! link StartifyHeader GruvboxOrange
call s:HL('StartifyFooter', s:bg2) hi! link StartifyFooter GruvboxBg2
" }}} " }}}
" Vimshell: {{{ " Vimshell: {{{
@@ -765,31 +798,31 @@ let g:vimshell_escape_colors = [
" Filetype specific ----------------------------------------------------------- " Filetype specific -----------------------------------------------------------
" Diff: {{{ " Diff: {{{
call s:HL('diffAdded', s:green) hi! link diffAdded GruvboxGreen
call s:HL('diffRemoved', s:red) hi! link diffRemoved GruvboxRed
call s:HL('diffChanged', s:aqua) hi! link diffChanged GruvboxAqua
call s:HL('diffFile', s:orange) hi! link diffFile GruvboxOrange
call s:HL('diffNewFile', s:yellow) hi! link diffNewFile GruvboxYellow
call s:HL('diffLine', s:blue) hi! link diffLine GruvboxBlue
" }}} " }}}
" Html: {{{ " Html: {{{
call s:HL('htmlTag', s:blue) hi! link htmlTag GruvboxBlue
call s:HL('htmlEndTag', s:blue) hi! link htmlEndTag GruvboxBlue
call s:HL('htmlTagName', s:aqua, s:none, s:bold) hi! link htmlTagName GruvboxAquaBold
call s:HL('htmlArg', s:aqua) hi! link htmlArg GruvboxAqua
call s:HL('htmlScriptTag', s:purple) hi! link htmlScriptTag GruvboxPurple
call s:HL('htmlTagN', s:fg1) hi! link htmlTagN GruvboxFg1
call s:HL('htmlSpecialTagName', s:aqua, s:none, s:bold) hi! link htmlSpecialTagName GruvboxAquaBold
call s:HL('htmlLink', s:fg4, s:none, s:underline) call s:HL('htmlLink', s:fg4, s:none, s:underline)
call s:HL('htmlSpecialChar', s:orange) hi! link htmlSpecialChar GruvboxOrange
call s:HL('htmlBold', s:vim_fg, s:vim_bg, s:bold) call s:HL('htmlBold', s:vim_fg, s:vim_bg, s:bold)
call s:HL('htmlBoldUnderline', s:vim_fg, s:vim_bg, s:bold . s:underline) call s:HL('htmlBoldUnderline', s:vim_fg, s:vim_bg, s:bold . s:underline)
@@ -803,314 +836,315 @@ call s:HL('htmlItalic', s:vim_fg, s:vim_bg, s:italic)
" }}} " }}}
" Xml: {{{ " Xml: {{{
call s:HL('xmlTag', s:blue) hi! link xmlTag GruvboxBlue
call s:HL('xmlEndTag', s:blue) hi! link xmlEndTag GruvboxBlue
call s:HL('xmlTagName', s:blue) hi! link xmlTagName GruvboxBlue
call s:HL('xmlEqual', s:blue) hi! link xmlEqual GruvboxBlue
call s:HL('docbkKeyword', s:aqua, s:none, s:bold) hi! link docbkKeyword GruvboxAquaBold
call s:HL('xmlDocTypeDecl', s:gray) hi! link xmlDocTypeDecl GruvboxGray
call s:HL('xmlDocTypeKeyword', s:purple) hi! link xmlDocTypeKeyword GruvboxPurple
call s:HL('xmlCdataStart', s:gray) hi! link xmlCdataStart GruvboxGray
call s:HL('xmlCdataCdata', s:purple) hi! link xmlCdataCdata GruvboxPurple
call s:HL('dtdFunction', s:gray) hi! link dtdFunction GruvboxGray
call s:HL('dtdTagName', s:purple) hi! link dtdTagName GruvboxPurple
call s:HL('xmlAttrib', s:aqua) hi! link xmlAttrib GruvboxAqua
call s:HL('xmlProcessingDelim', s:gray) hi! link xmlProcessingDelim GruvboxGray
call s:HL('dtdParamEntityPunct', s:gray) hi! link dtdParamEntityPunct GruvboxGray
call s:HL('dtdParamEntityDPunct', s:gray) hi! link dtdParamEntityDPunct GruvboxGray
call s:HL('xmlAttribPunct', s:gray) hi! link xmlAttribPunct GruvboxGray
call s:HL('xmlEntity', s:orange) hi! link xmlEntity GruvboxOrange
call s:HL('xmlEntityPunct', s:orange) hi! link xmlEntityPunct GruvboxOrange
" }}} " }}}
" Vim: {{{ " Vim: {{{
call s:HL('vimCommentTitle', s:fg4_256, s:none, s:bold . s:italicize_comments) call s:HL('vimCommentTitle', s:fg4_256, s:none, s:bold . s:italicize_comments)
call s:HL('vimNotation', s:orange) hi! link vimNotation GruvboxOrange
call s:HL('vimBracket', s:orange) hi! link vimBracket GruvboxOrange
call s:HL('vimMapModKey', s:orange) hi! link vimMapModKey GruvboxOrange
call s:HL('vimFuncSID', s:fg3) hi! link vimFuncSID GruvboxFg3
call s:HL('vimSetSep', s:fg3) hi! link vimSetSep GruvboxFg3
call s:HL('vimSep', s:fg3) hi! link vimSep GruvboxFg3
call s:HL('vimContinue', s:fg3) hi! link vimContinue GruvboxFg3
" }}} " }}}
" Clojure: {{{ " Clojure: {{{
call s:HL('clojureKeyword', s:blue) hi! link clojureKeyword GruvboxBlue
call s:HL('clojureCond', s:orange) hi! link clojureCond GruvboxOrange
call s:HL('clojureSpecial', s:orange) hi! link clojureSpecial GruvboxOrange
call s:HL('clojureDefine', s:orange) hi! link clojureDefine GruvboxOrange
call s:HL('clojureFunc', s:yellow) hi! link clojureFunc GruvboxYellow
call s:HL('clojureRepeat', s:yellow) hi! link clojureRepeat GruvboxYellow
call s:HL('clojureCharacter', s:aqua) hi! link clojureCharacter GruvboxAqua
call s:HL('clojureStringEscape', s:aqua) hi! link clojureStringEscape GruvboxAqua
call s:HL('clojureException', s:red) hi! link clojureException GruvboxRed
call s:HL('clojureRegexp', s:aqua) hi! link clojureRegexp GruvboxAqua
call s:HL('clojureRegexpEscape', s:aqua) hi! link clojureRegexpEscape GruvboxAqua
call s:HL('clojureRegexpCharClass', s:fg3, s:none, s:bold) call s:HL('clojureRegexpCharClass', s:fg3, s:none, s:bold)
call s:HL('clojureRegexpMod', s:fg3, s:none, s:bold) hi! link clojureRegexpMod clojureRegexpCharClass
call s:HL('clojureRegexpQuantifier', s:fg3, s:none, s:bold) hi! link clojureRegexpQuantifier clojureRegexpCharClass
call s:HL('clojureParen', s:fg3) hi! link clojureParen GruvboxFg3
call s:HL('clojureAnonArg', s:yellow) hi! link clojureAnonArg GruvboxYellow
call s:HL('clojureVariable', s:blue) hi! link clojureVariable GruvboxBlue
call s:HL('clojureMacro', s:orange) hi! link clojureMacro GruvboxOrange
call s:HL('clojureMeta', s:yellow) hi! link clojureMeta GruvboxYellow
call s:HL('clojureDeref', s:yellow) hi! link clojureDeref GruvboxYellow
call s:HL('clojureQuote', s:yellow) hi! link clojureQuote GruvboxYellow
call s:HL('clojureUnquote', s:yellow) hi! link clojureUnquote GruvboxYellow
" }}} " }}}
" C: {{{ " C: {{{
call s:HL('cOperator', s:purple) hi! link cOperator GruvboxPurple
call s:HL('cStructure', s:orange) hi! link cStructure GruvboxOrange
" }}} " }}}
" Python: {{{ " Python: {{{
call s:HL('pythonBuiltin', s:orange) hi! link pythonBuiltin GruvboxOrange
call s:HL('pythonBuiltinObj', s:orange) hi! link pythonBuiltinObj GruvboxOrange
call s:HL('pythonBuiltinFunc', s:orange) hi! link pythonBuiltinFunc GruvboxOrange
call s:HL('pythonFunction', s:aqua) hi! link pythonFunction GruvboxAqua
call s:HL('pythonDecorator', s:red) hi! link pythonDecorator GruvboxRed
call s:HL('pythonInclude', s:blue) hi! link pythonInclude GruvboxBlue
call s:HL('pythonImport', s:blue) hi! link pythonImport GruvboxBlue
call s:HL('pythonRun', s:blue) hi! link pythonRun GruvboxBlue
call s:HL('pythonCoding', s:blue) hi! link pythonCoding GruvboxBlue
call s:HL('pythonOperator', s:red) hi! link pythonOperator GruvboxRed
call s:HL('pythonExceptions', s:purple) hi! link pythonExceptions GruvboxPurple
call s:HL('pythonBoolean', s:purple) hi! link pythonBoolean GruvboxPurple
call s:HL('pythonDot', s:fg3) hi! link pythonDot GruvboxFg3
" }}} " }}}
" CSS: {{{ " CSS: {{{
call s:HL('cssBraces', s:blue) hi! link cssBraces GruvboxBlue
call s:HL('cssFunctionName', s:yellow) hi! link cssFunctionName GruvboxYellow
call s:HL('cssIdentifier', s:orange) hi! link cssIdentifier GruvboxOrange
call s:HL('cssClassName', s:green) hi! link cssClassName GruvboxGreen
call s:HL('cssColor', s:blue) hi! link cssColor GruvboxBlue
call s:HL('cssSelectorOp', s:blue) hi! link cssSelectorOp GruvboxBlue
call s:HL('cssSelectorOp2', s:blue) hi! link cssSelectorOp2 GruvboxBlue
call s:HL('cssImportant', s:green) hi! link cssImportant GruvboxGreen
call s:HL('cssVendor', s:fg1) hi! link cssVendor GruvboxFg1
call s:HL('cssTextProp', s:aqua) hi! link cssTextProp GruvboxAqua
call s:HL('cssAnimationProp', s:aqua) hi! link cssAnimationProp GruvboxAqua
call s:HL('cssUIProp', s:yellow) hi! link cssUIProp GruvboxYellow
call s:HL('cssTransformProp', s:aqua) hi! link cssTransformProp GruvboxAqua
call s:HL('cssTransitionProp', s:aqua) hi! link cssTransitionProp GruvboxAqua
call s:HL('cssPrintProp', s:aqua) hi! link cssPrintProp GruvboxAqua
call s:HL('cssPositioningProp', s:yellow) hi! link cssPositioningProp GruvboxYellow
call s:HL('cssBoxProp', s:aqua) hi! link cssBoxProp GruvboxAqua
call s:HL('cssFontDescriptorProp', s:aqua) hi! link cssFontDescriptorProp GruvboxAqua
call s:HL('cssFlexibleBoxProp', s:aqua) hi! link cssFlexibleBoxProp GruvboxAqua
call s:HL('cssBorderOutlineProp', s:aqua) hi! link cssBorderOutlineProp GruvboxAqua
call s:HL('cssBackgroundProp', s:aqua) hi! link cssBackgroundProp GruvboxAqua
call s:HL('cssMarginProp', s:aqua) hi! link cssMarginProp GruvboxAqua
call s:HL('cssListProp', s:aqua) hi! link cssListProp GruvboxAqua
call s:HL('cssTableProp', s:aqua) hi! link cssTableProp GruvboxAqua
call s:HL('cssFontProp', s:aqua) hi! link cssFontProp GruvboxAqua
call s:HL('cssPaddingProp', s:aqua) hi! link cssPaddingProp GruvboxAqua
call s:HL('cssDimensionProp', s:aqua) hi! link cssDimensionProp GruvboxAqua
call s:HL('cssRenderProp', s:aqua) hi! link cssRenderProp GruvboxAqua
call s:HL('cssColorProp', s:aqua) hi! link cssColorProp GruvboxAqua
call s:HL('cssGeneratedContentProp', s:aqua) hi! link cssGeneratedContentProp GruvboxAqua
" }}} " }}}
" JavaScript: {{{ " JavaScript: {{{
call s:HL('javaScriptBraces', s:fg1) hi! link javaScriptBraces GruvboxFg1
call s:HL('javaScriptFunction', s:aqua) hi! link javaScriptFunction GruvboxAqua
call s:HL('javaScriptIdentifier', s:red) hi! link javaScriptIdentifier GruvboxRed
call s:HL('javaScriptMember', s:blue) hi! link javaScriptMember GruvboxBlue
call s:HL('javaScriptNumber', s:purple) hi! link javaScriptNumber GruvboxPurple
call s:HL('javaScriptNull', s:purple) hi! link javaScriptNull GruvboxPurple
call s:HL('javaScriptParens', s:fg3) hi! link javaScriptParens GruvboxFg3
" }}} " }}}
" YAJS: {{{ " YAJS: {{{
call s:HL('javascriptImport', s:aqua) hi! link javascriptImport GruvboxAqua
call s:HL('javascriptExport', s:aqua) hi! link javascriptExport GruvboxAqua
call s:HL('javascriptClassKeyword', s:aqua) hi! link javascriptClassKeyword GruvboxAqua
call s:HL('javascriptClassExtends', s:aqua) hi! link javascriptClassExtends GruvboxAqua
call s:HL('javascriptDefault', s:aqua) hi! link javascriptDefault GruvboxAqua
call s:HL('javascriptClassName', s:yellow) hi! link javascriptClassName GruvboxYellow
call s:HL('javascriptClassSuperName', s:yellow) hi! link javascriptClassSuperName GruvboxYellow
call s:HL('javascriptGlobal', s:yellow) hi! link javascriptGlobal GruvboxYellow
call s:HL('javascriptEndColons', s:fg1) hi! link javascriptEndColons GruvboxFg1
call s:HL('javascriptFuncArg', s:fg1) hi! link javascriptFuncArg GruvboxFg1
call s:HL('javascriptGlobalMethod', s:fg1) hi! link javascriptGlobalMethod GruvboxFg1
call s:HL('javascriptNodeGlobal', s:fg1) hi! link javascriptNodeGlobal GruvboxFg1
" call s:HL('javascriptVariable', s:orange) " hi! link javascriptVariable GruvboxOrange
call s:HL('javascriptVariable', s:red) hi! link javascriptVariable GruvboxRed
" call s:HL('javascriptIdentifier', s:orange) " hi! link javascriptIdentifier GruvboxOrange
" call s:HL('javascriptClassSuper', s:orange) " hi! link javascriptClassSuper GruvboxOrange
call s:HL('javascriptIdentifier', s:orange) hi! link javascriptIdentifier GruvboxOrange
call s:HL('javascriptClassSuper', s:orange) hi! link javascriptClassSuper GruvboxOrange
" call s:HL('javascriptFuncKeyword', s:orange) " hi! link javascriptFuncKeyword GruvboxOrange
" call s:HL('javascriptAsyncFunc', s:orange) " hi! link javascriptAsyncFunc GruvboxOrange
call s:HL('javascriptFuncKeyword', s:aqua) hi! link javascriptFuncKeyword GruvboxAqua
call s:HL('javascriptAsyncFunc', s:aqua) hi! link javascriptAsyncFunc GruvboxAqua
call s:HL('javascriptClassStatic', s:orange) hi! link javascriptClassStatic GruvboxOrange
call s:HL('javascriptOperator', s:red) hi! link javascriptOperator GruvboxRed
call s:HL('javascriptForOperator', s:red) hi! link javascriptForOperator GruvboxRed
call s:HL('javascriptYield', s:red) hi! link javascriptYield GruvboxRed
call s:HL('javascriptExceptions', s:red) hi! link javascriptExceptions GruvboxRed
call s:HL('javascriptMessage', s:red) hi! link javascriptMessage GruvboxRed
call s:HL('javascriptTemplateSB', s:aqua) hi! link javascriptTemplateSB GruvboxAqua
call s:HL('javascriptTemplateSubstitution', s:fg1) hi! link javascriptTemplateSubstitution GruvboxFg1
" call s:HL('javascriptLabel', s:blue) " hi! link javascriptLabel GruvboxBlue
" call s:HL('javascriptObjectLabel', s:blue) " hi! link javascriptObjectLabel GruvboxBlue
" call s:HL('javascriptPropertyName', s:blue) " hi! link javascriptPropertyName GruvboxBlue
call s:HL('javascriptLabel', s:fg1) hi! link javascriptLabel GruvboxFg1
call s:HL('javascriptObjectLabel', s:fg1) hi! link javascriptObjectLabel GruvboxFg1
call s:HL('javascriptPropertyName', s:fg1) hi! link javascriptPropertyName GruvboxFg1
call s:HL('javascriptLogicSymbols', s:fg1) hi! link javascriptLogicSymbols GruvboxFg1
call s:HL('javascriptArrowFunc', s:fg1) hi! link javascriptArrowFunc GruvboxFg1
call s:HL('javascriptDocParamName', s:fg4) hi! link javascriptDocParamName GruvboxFg4
call s:HL('javascriptDocTags', s:fg4) hi! link javascriptDocTags GruvboxFg4
call s:HL('javascriptDocNotation', s:fg4) hi! link javascriptDocNotation GruvboxFg4
call s:HL('javascriptDocParamType', s:fg4) hi! link javascriptDocParamType GruvboxFg4
call s:HL('javascriptDocNamedParamType', s:fg4) hi! link javascriptDocNamedParamType GruvboxFg4
" }}} " }}}
" CoffeeScript: {{{ " CoffeeScript: {{{
call s:HL('coffeeExtendedOp', s:fg3) hi! link coffeeExtendedOp GruvboxFg3
call s:HL('coffeeSpecialOp', s:fg3) hi! link coffeeSpecialOp GruvboxFg3
call s:HL('coffeeCurly', s:orange) hi! link coffeeCurly GruvboxOrange
call s:HL('coffeeParen', s:fg3) hi! link coffeeParen GruvboxFg3
call s:HL('coffeeBracket', s:orange) hi! link coffeeBracket GruvboxOrange
" }}} " }}}
" Ruby: {{{ " Ruby: {{{
call s:HL('rubyStringDelimiter', s:green) hi! link rubyStringDelimiter GruvboxGreen
call s:HL('rubyInterpolationDelimiter', s:aqua) hi! link rubyInterpolationDelimiter GruvboxAqua
" }}} " }}}
" ObjectiveC: {{{ " ObjectiveC: {{{
call s:HL('objcTypeModifier', s:red) hi! link objcTypeModifier GruvboxRed
call s:HL('objcDirective', s:blue) hi! link objcDirective GruvboxBlue
" }}} " }}}
" Go: {{{ " Go: {{{
call s:HL('goDirective', s:aqua) hi! link goDirective GruvboxAqua
call s:HL('goConstants', s:purple) hi! link goConstants GruvboxPurple
call s:HL('goDeclaration', s:red) hi! link goDeclaration GruvboxRed
call s:HL('goDeclType', s:blue) hi! link goDeclType GruvboxBlue
call s:HL('goBuiltins', s:orange) hi! link goBuiltins GruvboxOrange
" }}} " }}}
" Lua: {{{ " Lua: {{{
call s:HL('luaIn', s:red) hi! link luaIn GruvboxRed
call s:HL('luaFunction', s:aqua) hi! link luaFunction GruvboxAqua
call s:HL('luaTable', s:orange) hi! link luaTable GruvboxOrange
" }}} " }}}
" MoonScript: {{{ " MoonScript: {{{
call s:HL('moonSpecialOp', s:fg3) hi! link moonSpecialOp GruvboxFg3
call s:HL('moonExtendedOp', s:fg3) hi! link moonExtendedOp GruvboxFg3
call s:HL('moonFunction', s:fg3) hi! link moonFunction GruvboxFg3
call s:HL('moonObject', s:yellow) hi! link moonObject GruvboxYellow
" }}} " }}}
" Java: {{{ " Java: {{{
call s:HL('javaAnnotation', s:blue) hi! link javaAnnotation GruvboxBlue
call s:HL('javaDocTags', s:aqua) hi! link javaDocTags GruvboxAqua
hi! link javaCommentTitle vimCommentTitle hi! link javaCommentTitle vimCommentTitle
call s:HL('javaParen', s:fg3) hi! link javaParen GruvboxFg3
call s:HL('javaParen1', s:fg3) hi! link javaParen1 GruvboxFg3
call s:HL('javaParen2', s:fg3) hi! link javaParen2 GruvboxFg3
call s:HL('javaParen3', s:fg3) hi! link javaParen3 GruvboxFg3
call s:HL('javaParen4', s:fg3) hi! link javaParen4 GruvboxFg3
call s:HL('javaParen5', s:fg3) hi! link javaParen5 GruvboxFg3
call s:HL('javaOperator', s:orange) hi! link javaOperator GruvboxOrange
call s:HL('javaVarArg', s:green) hi! link javaVarArg GruvboxGreen
" }}} " }}}
" Elixir: {{{ " Elixir: {{{
hi! link elixirDocString Comment hi! link elixirDocString Comment
call s:HL('elixirStringDelimiter', s:green) hi! link elixirStringDelimiter GruvboxGreen
call s:HL('elixirInterpolationDelimiter', s:aqua) hi! link elixirInterpolationDelimiter GruvboxAqua
" }}} " }}}
" Scala: {{{ " Scala: {{{
" NB: scala vim syntax file is kinda horrible " NB: scala vim syntax file is kinda horrible
call s:HL('scalaNameDefinition', s:fg1) hi! link scalaNameDefinition GruvboxFg1
call s:HL('scalaCaseFollowing', s:fg1) hi! link scalaCaseFollowing GruvboxFg1
call s:HL('scalaCapitalWord', s:fg1) hi! link scalaCapitalWord GruvboxFg1
call s:HL('scalaTypeExtension', s:fg1) hi! link scalaTypeExtension GruvboxFg1
call s:HL('scalaKeyword', s:red) hi! link scalaKeyword GruvboxRed
call s:HL('scalaKeywordModifier', s:red) hi! link scalaKeywordModifier GruvboxRed
call s:HL('scalaSpecial', s:aqua) hi! link scalaSpecial GruvboxAqua
call s:HL('scalaOperator', s:fg1) hi! link scalaOperator GruvboxFg1
call s:HL('scalaTypeDeclaration', s:yellow) hi! link scalaTypeDeclaration GruvboxYellow
call s:HL('scalaTypeTypePostDeclaration', s:yellow) hi! link scalaTypeTypePostDeclaration GruvboxYellow
call s:HL('scalaInstanceDeclaration', s:fg1) hi! link scalaInstanceDeclaration GruvboxFg1
call s:HL('scalaInterpolation', s:aqua) hi! link scalaInterpolation GruvboxAqua
" }}} " }}}
" Markdown: {{{ " Markdown: {{{
call s:HL('markdownItalic', s:fg3, s:none, s:italic) call s:HL('markdownItalic', s:fg3, s:none, s:italic)
call s:HL('markdownH1', s:green, s:none, s:bold)
call s:HL('markdownH2', s:green, s:none, s:bold)
call s:HL('markdownH3', s:yellow, s:none, s:bold)
call s:HL('markdownH4', s:yellow, s:none, s:bold)
call s:HL('markdownH5', s:yellow)
call s:HL('markdownH6', s:yellow)
call s:HL('markdownCode', s:aqua) hi! link markdownH1 GruvboxGreenBold
call s:HL('markdownCodeBlock', s:aqua) hi! link markdownH2 GruvboxGreenBold
call s:HL('markdownCodeDelimiter', s:aqua) hi! link markdownH3 GruvboxYellowBold
hi! link markdownH4 GruvboxYellowBold
hi! link markdownH5 GruvboxYellow
hi! link markdownH6 GruvboxYellow
call s:HL('markdownBlockquote', s:gray) hi! link markdownCode GruvboxAqua
call s:HL('markdownListMarker', s:gray) hi! link markdownCodeBlock GruvboxAqua
call s:HL('markdownOrderedListMarker', s:gray) hi! link markdownCodeDelimiter GruvboxAqua
call s:HL('markdownRule', s:gray)
call s:HL('markdownHeadingRule', s:gray)
call s:HL('markdownUrlDelimiter', s:fg3) hi! link markdownBlockquote GruvboxGray
call s:HL('markdownLinkDelimiter', s:fg3) hi! link markdownListMarker GruvboxGray
call s:HL('markdownLinkTextDelimiter', s:fg3) hi! link markdownOrderedListMarker GruvboxGray
hi! link markdownRule GruvboxGray
hi! link markdownHeadingRule GruvboxGray
call s:HL('markdownHeadingDelimiter', s:orange) hi! link markdownUrlDelimiter GruvboxFg3
call s:HL('markdownUrl', s:purple) hi! link markdownLinkDelimiter GruvboxFg3
call s:HL('markdownUrlTitleDelimiter', s:green) hi! link markdownLinkTextDelimiter GruvboxFg3
hi! link markdownHeadingDelimiter GruvboxOrange
hi! link markdownUrl GruvboxPurple
hi! link markdownUrlTitleDelimiter GruvboxGreen
call s:HL('markdownLinkText', s:gray, s:none, s:underline) call s:HL('markdownLinkText', s:gray, s:none, s:underline)
call s:HL('markdownIdDeclaration', s:gray, s:none, s:underline) call s:HL('markdownIdDeclaration', s:gray, s:none, s:underline)
@@ -1118,44 +1152,44 @@ call s:HL('markdownIdDeclaration', s:gray, s:none, s:underline)
" }}} " }}}
" Haskell: {{{ " Haskell: {{{
" call s:HL('haskellType', s:yellow) " hi! link haskellType GruvboxYellow
" call s:HL('haskellOperators', s:orange) " hi! link haskellOperators GruvboxOrange
" call s:HL('haskellConditional', s:aqua) " hi! link haskellConditional GruvboxAqua
" call s:HL('haskellLet', s:orange) " hi! link haskellLet GruvboxOrange
" "
call s:HL('haskellType', s:fg1) hi! link haskellType GruvboxFg1
call s:HL('haskellIdentifier', s:fg1) hi! link haskellIdentifier GruvboxFg1
call s:HL('haskellSeparator', s:fg1) hi! link haskellSeparator GruvboxFg1
call s:HL('haskellDelimiter', s:fg4) hi! link haskellDelimiter GruvboxFg4
call s:HL('haskellOperators', s:blue) hi! link haskellOperators GruvboxBlue
" "
call s:HL('haskellBacktick', s:orange) hi! link haskellBacktick GruvboxOrange
call s:HL('haskellStatement', s:orange) hi! link haskellStatement GruvboxOrange
call s:HL('haskellConditional', s:orange) hi! link haskellConditional GruvboxOrange
call s:HL('haskellLet', s:aqua) hi! link haskellLet GruvboxAqua
call s:HL('haskellDefault', s:aqua) hi! link haskellDefault GruvboxAqua
call s:HL('haskellWhere', s:aqua) hi! link haskellWhere GruvboxAqua
call s:HL('haskellBottom', s:aqua) hi! link haskellBottom GruvboxAqua
call s:HL('haskellBlockKeywords', s:aqua) hi! link haskellBlockKeywords GruvboxAqua
call s:HL('haskellImportKeywords', s:aqua) hi! link haskellImportKeywords GruvboxAqua
call s:HL('haskellDeclKeyword', s:aqua) hi! link haskellDeclKeyword GruvboxAqua
call s:HL('haskellDeriving', s:aqua) hi! link haskellDeriving GruvboxAqua
call s:HL('haskellAssocType', s:aqua) hi! link haskellAssocType GruvboxAqua
call s:HL('haskellNumber', s:purple) hi! link haskellNumber GruvboxPurple
call s:HL('haskellPragma', s:purple) hi! link haskellPragma GruvboxPurple
call s:HL('haskellString', s:green) hi! link haskellString GruvboxGreen
call s:HL('haskellChar', s:green) hi! link haskellChar GruvboxGreen
" }}} " }}}
" Json: {{{ " Json: {{{
call s:HL('jsonKeyword', s:green) hi! link jsonKeyword GruvboxGreen
call s:HL('jsonQuote', s:green) hi! link jsonQuote GruvboxGreen
call s:HL('jsonBraces', s:fg1) hi! link jsonBraces GruvboxFg1
call s:HL('jsonString', s:fg1) hi! link jsonString GruvboxFg1
" }}} " }}}
@@ -1165,16 +1199,10 @@ call s:HL('jsonString', s:fg1)
function! GruvboxHlsShowCursor() function! GruvboxHlsShowCursor()
call s:HL('Cursor', s:bg0, s:hls_cursor) call s:HL('Cursor', s:bg0, s:hls_cursor)
call s:HL('vCursor', s:bg0, s:hls_cursor)
call s:HL('iCursor', s:bg0, s:hls_cursor)
call s:HL('lCursor', s:bg0, s:hls_cursor)
endfunction endfunction
function! GruvboxHlsHideCursor() function! GruvboxHlsHideCursor()
call s:HL('Cursor', s:none, s:none, s:inverse) call s:HL('Cursor', s:none, s:none, s:inverse)
call s:HL('vCursor', s:none, s:none, s:inverse)
call s:HL('iCursor', s:none, s:none, s:inverse)
call s:HL('lCursor', s:none, s:none, s:inverse)
endfunction endfunction
" }}} " }}}