From 9af7261035873d90d4a2d096635059bb05570b56 Mon Sep 17 00:00:00 2001 From: Pavel Pertsev Date: Wed, 2 Sep 2015 18:34:12 +0300 Subject: [PATCH 01/10] init --- autoload/airline/themes/gruvbox.vim | 91 +- autoload/gruvbox.vim | 32 +- colors/gruvbox.vim | 1490 +++++++++++++-------------- 3 files changed, 778 insertions(+), 835 deletions(-) diff --git a/autoload/airline/themes/gruvbox.vim b/autoload/airline/themes/gruvbox.vim index 4eb6b447..60867a65 100644 --- a/autoload/airline/themes/gruvbox.vim +++ b/autoload/airline/themes/gruvbox.vim @@ -10,60 +10,61 @@ let g:airline#themes#gruvbox#palette = {} function! airline#themes#gruvbox#refresh() - let M0 = airline#themes#get_highlight('Identifier') - let accents_group = airline#themes#get_highlight('Special') - let modified_group = [M0[0], '', M0[2], '', ''] - let warning_group = airline#themes#get_highlight2(['Normal', 'bg'], ['Question', 'fg']) + let M0 = airline#themes#get_highlight('Identifier') + let accents_group = airline#themes#get_highlight('Special') + let modified_group = [M0[0], '', M0[2], '', ''] + let warning_group = airline#themes#get_highlight2(['Normal', 'bg'], ['Question', 'fg']) - let s:N1 = airline#themes#get_highlight2(['Normal', 'bg'], ['StatusLineNC', 'bg']) - let s:N2 = airline#themes#get_highlight2(['StatusLineNC', 'bg'], ['StatusLineNC', 'fg']) - let s:N3 = airline#themes#get_highlight2(['StatusLineNC', 'bg'], ['CursorLine', 'bg']) - let g:airline#themes#gruvbox#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) - let g:airline#themes#gruvbox#palette.normal_modified = { 'airline_c': modified_group } - let g:airline#themes#gruvbox#palette.normal.airline_warning = warning_group - let g:airline#themes#gruvbox#palette.normal_modified.airline_warning = warning_group + let s:N1 = airline#themes#get_highlight2(['Normal', 'bg'], ['StatusLineNC', 'bg']) + let s:N2 = airline#themes#get_highlight2(['StatusLineNC', 'bg'], ['StatusLineNC', 'fg']) + let s:N3 = airline#themes#get_highlight2(['StatusLineNC', 'bg'], ['CursorLine', 'bg']) + let g:airline#themes#gruvbox#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) + let g:airline#themes#gruvbox#palette.normal_modified = { 'airline_c': modified_group } + let g:airline#themes#gruvbox#palette.normal.airline_warning = warning_group + let g:airline#themes#gruvbox#palette.normal_modified.airline_warning = warning_group - let s:I1 = airline#themes#get_highlight2(['Normal', 'bg'], ['Identifier', 'fg']) - let s:I2 = s:N2 - let s:I3 = airline#themes#get_highlight2(['Normal', 'fg'], ['StatusLineNC', 'fg']) - let g:airline#themes#gruvbox#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) - let g:airline#themes#gruvbox#palette.insert_modified = g:airline#themes#gruvbox#palette.normal_modified - let g:airline#themes#gruvbox#palette.insert.airline_warning = g:airline#themes#gruvbox#palette.normal.airline_warning - let g:airline#themes#gruvbox#palette.insert_modified.airline_warning = g:airline#themes#gruvbox#palette.normal_modified.airline_warning + let s:I1 = airline#themes#get_highlight2(['Normal', 'bg'], ['Identifier', 'fg']) + let s:I2 = s:N2 + let s:I3 = airline#themes#get_highlight2(['Normal', 'fg'], ['StatusLineNC', 'fg']) + let g:airline#themes#gruvbox#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) + let g:airline#themes#gruvbox#palette.insert_modified = g:airline#themes#gruvbox#palette.normal_modified + let g:airline#themes#gruvbox#palette.insert.airline_warning = g:airline#themes#gruvbox#palette.normal.airline_warning + let g:airline#themes#gruvbox#palette.insert_modified.airline_warning = g:airline#themes#gruvbox#palette.normal_modified.airline_warning - let s:R1 = airline#themes#get_highlight2(['Normal', 'bg'], ['Structure', 'fg']) - let s:R2 = s:I2 - let s:R3 = s:I3 - let g:airline#themes#gruvbox#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) - let g:airline#themes#gruvbox#palette.replace_modified = g:airline#themes#gruvbox#palette.normal_modified - let g:airline#themes#gruvbox#palette.replace.airline_warning = g:airline#themes#gruvbox#palette.normal.airline_warning - let g:airline#themes#gruvbox#palette.replace_modified.airline_warning = g:airline#themes#gruvbox#palette.normal_modified.airline_warning + let s:R1 = airline#themes#get_highlight2(['Normal', 'bg'], ['Structure', 'fg']) + let s:R2 = s:I2 + let s:R3 = s:I3 + let g:airline#themes#gruvbox#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) + let g:airline#themes#gruvbox#palette.replace_modified = g:airline#themes#gruvbox#palette.normal_modified + let g:airline#themes#gruvbox#palette.replace.airline_warning = g:airline#themes#gruvbox#palette.normal.airline_warning + let g:airline#themes#gruvbox#palette.replace_modified.airline_warning = g:airline#themes#gruvbox#palette.normal_modified.airline_warning - let s:V1 = airline#themes#get_highlight2(['Normal', 'bg'], ['Question', 'fg']) - let s:V2 = s:N2 - let s:V3 = airline#themes#get_highlight2(['Normal', 'bg'], ['TabLine', 'fg']) - let g:airline#themes#gruvbox#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) - let g:airline#themes#gruvbox#palette.visual_modified = { 'airline_c': [ s:V3[0], '', s:V3[2], '', '' ] } - let g:airline#themes#gruvbox#palette.visual.airline_warning = g:airline#themes#gruvbox#palette.normal.airline_warning - let g:airline#themes#gruvbox#palette.visual_modified.airline_warning = g:airline#themes#gruvbox#palette.normal_modified.airline_warning + let s:V1 = airline#themes#get_highlight2(['Normal', 'bg'], ['Question', 'fg']) + let s:V2 = s:N2 + let s:V3 = airline#themes#get_highlight2(['Normal', 'bg'], ['TabLine', 'fg']) + let g:airline#themes#gruvbox#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) + let g:airline#themes#gruvbox#palette.visual_modified = { 'airline_c': [ s:V3[0], '', s:V3[2], '', '' ] } + let g:airline#themes#gruvbox#palette.visual.airline_warning = g:airline#themes#gruvbox#palette.normal.airline_warning + let g:airline#themes#gruvbox#palette.visual_modified.airline_warning = g:airline#themes#gruvbox#palette.normal_modified.airline_warning - let s:IA = airline#themes#get_highlight2(['TabLine', 'fg'], ['CursorLine', 'bg']) - let g:airline#themes#gruvbox#palette.inactive = airline#themes#generate_color_map(s:IA, s:IA, s:IA) - let g:airline#themes#gruvbox#palette.inactive_modified = { 'airline_c': modified_group } + let s:IA = airline#themes#get_highlight2(['TabLine', 'fg'], ['CursorLine', 'bg']) + let g:airline#themes#gruvbox#palette.inactive = airline#themes#generate_color_map(s:IA, s:IA, s:IA) + let g:airline#themes#gruvbox#palette.inactive_modified = { 'airline_c': modified_group } - let g:airline#themes#gruvbox#palette.accents = { 'red': accents_group } + let g:airline#themes#gruvbox#palette.accents = { 'red': accents_group } - let s:TF = airline#themes#get_highlight2(['Normal', 'bg'], ['Normal', 'bg']) - let g:airline#themes#gruvbox#palette.tabline = { - \ 'airline_tab': s:N2, - \ 'airline_tabsel': s:N1, - \ 'airline_tabtype': s:V1, - \ 'airline_tabfill': s:TF, - \ 'airline_tabhid': s:IA, - \ 'airline_tabmod': s:I1 - \ } + let s:TF = airline#themes#get_highlight2(['Normal', 'bg'], ['Normal', 'bg']) + let g:airline#themes#gruvbox#palette.tabline = { + \ 'airline_tab': s:N2, + \ 'airline_tabsel': s:N1, + \ 'airline_tabtype': s:V1, + \ 'airline_tabfill': s:TF, + \ 'airline_tabhid': s:IA, + \ 'airline_tabmod': s:I1 + \ } endfunction call airline#themes#gruvbox#refresh() +" vim: set sw=2 ts=2 sts=2 et tw=80 ft=vim fdm=marker: diff --git a/autoload/gruvbox.vim b/autoload/gruvbox.vim index 76cff727..44bec6e1 100644 --- a/autoload/gruvbox.vim +++ b/autoload/gruvbox.vim @@ -7,35 +7,35 @@ " ----------------------------------------------------------------------------- function! gruvbox#invert_signs_toggle() - if g:gruvbox_invert_signs == 0 - let g:gruvbox_invert_signs=1 - else - let g:gruvbox_invert_signs=0 - endif + if g:gruvbox_invert_signs == 0 + let g:gruvbox_invert_signs=1 + else + let g:gruvbox_invert_signs=0 + endif - colorscheme gruvbox + colorscheme gruvbox endfunction " Search Highlighting {{{ function! gruvbox#hls_show() - set hlsearch - call GruvboxHlsShowCursor() + set hlsearch + call GruvboxHlsShowCursor() endfunction function! gruvbox#hls_hide() - set nohlsearch - call GruvboxHlsHideCursor() + set nohlsearch + call GruvboxHlsHideCursor() endfunction function! gruvbox#hls_toggle() - if &hlsearch - call gruvbox#hls_hide() - else - call gruvbox#hls_show() - endif + if &hlsearch + call gruvbox#hls_hide() + else + call gruvbox#hls_show() + endif endfunction " }}} -" vim: set sw=3 ts=3 sts=3 noet tw=80 ft=vim fdm=marker: +" vim: set sw=2 ts=2 sts=2 et tw=80 ft=vim fdm=marker: diff --git a/colors/gruvbox.vim b/colors/gruvbox.vim index 8c874bd4..7e01f397 100644 --- a/colors/gruvbox.vim +++ b/colors/gruvbox.vim @@ -3,342 +3,334 @@ " Description: Retro groove color scheme for Vim " Author: morhetz " Source: https://github.com/morhetz/gruvbox -" Last Modified: 20 Aug 2015 +" Last Modified: 01 Sep 2015 " ----------------------------------------------------------------------------- " Supporting code ------------------------------------------------------------- " Initialisation: {{{ if version > 580 - hi clear - if exists("syntax_on") - syntax reset - endif + hi clear + if exists("syntax_on") + syntax reset + endif endif let g:colors_name='gruvbox' if !has('gui_running') && &t_Co != 256 - finish + finish endif " }}} " Global Settings: {{{ if !exists('g:gruvbox_bold') - let g:gruvbox_bold=1 + let g:gruvbox_bold=1 endif if !exists('g:gruvbox_italic') - if has('gui_running') || $TERM_ITALICS == 'true' - let g:gruvbox_italic=1 - else - let g:gruvbox_italic=0 - endif + if has('gui_running') || $TERM_ITALICS == 'true' + let g:gruvbox_italic=1 + else + let g:gruvbox_italic=0 + endif endif if !exists('g:gruvbox_undercurl') - let g:gruvbox_undercurl=1 + let g:gruvbox_undercurl=1 endif if !exists('g:gruvbox_underline') - let g:gruvbox_underline=1 + let g:gruvbox_underline=1 endif -if !exists('g:gruvbox_guisp_fallback') || index(['fg', 'bg'], g:gruvbox_guisp_fallback) == -1 - let g:gruvbox_guisp_fallback='none' +if !exists('g:gruvbox_inverse') + let g:gruvbox_inverse=1 endif -if !exists('g:gruvbox_italicize_comments') - let g:gruvbox_italicize_comments=1 -endif -if !exists('g:gruvbox_italicize_strings') - let g:gruvbox_italicize_strings=0 -endif +" if !exists('g:gruvbox_guisp_fallback') || index(['fg', 'bg'], g:gruvbox_guisp_fallback) == -1 +" let g:gruvbox_guisp_fallback='NONE' +" endif if !exists('g:gruvbox_improved_strings') - let g:gruvbox_improved_strings=0 + let g:gruvbox_improved_strings=0 endif if !exists('g:gruvbox_improved_warnings') - let g:gruvbox_improved_warnings=0 + let g:gruvbox_improved_warnings=0 endif if !exists('g:gruvbox_termcolors') - let g:gruvbox_termcolors=256 + let g:gruvbox_termcolors=256 endif if !exists('g:gruvbox_invert_indent_guides') - let g:gruvbox_invert_indent_guides=0 + let g:gruvbox_invert_indent_guides=0 endif -if !exists('g:gruvbox_hls_cursor') - let g:gruvbox_hls_cursor='orange' +if !exists('g:gruvbox_contrast') + let g:gruvbox_contrast='medium' endif -if !exists('g:gruvbox_sign_column') - let g:gruvbox_sign_column='dark1' +if !exists('g:gruvbox_contrast_dark') + let g:gruvbox_contrast_dark='medium' endif -if !exists('g:gruvbox_color_column') - let g:gruvbox_color_column='dark1' +if !exists('g:gruvbox_contrast_light') + let g:gruvbox_contrast_light='medium' endif -if !exists('g:gruvbox_vert_split') - let g:gruvbox_vert_split='dark2' -endif +let s:is_dark=(&background == 'dark') -if !exists('g:gruvbox_invert_signs') - let g:gruvbox_invert_signs=0 -endif +" }}} +" Palette: {{{ -if !exists('g:gruvbox_invert_selection') - let g:gruvbox_invert_selection=1 +let s:bold = 'bold,' +if g:gruvbox_bold == 0 + let s:bold = '' endif -if !exists('g:gruvbox_contrast') - let g:gruvbox_contrast='medium' +let s:italic = 'italic,' +if g:gruvbox_italic == 0 + let s:italic = '' endif -if !exists('g:gruvbox_contrast_dark') - let g:gruvbox_contrast_dark='medium' +let s:underline = 'underline,' +if g:gruvbox_underline == 0 + let s:underline = '' endif -if !exists('g:gruvbox_contrast_light') - let g:gruvbox_contrast_light='medium' +let s:undercurl = 'undercurl,' +if g:gruvbox_undercurl == 0 + let s:undercurl = '' endif -if !exists('g:gruvbox_invert_tabline') - let g:gruvbox_invert_tabline=0 +let s:inverse = 'inverse,' +if g:gruvbox_inverse == 0 + let s:inverse = '' endif -let s:is_dark=(&background == 'dark') +if s:is_dark + let s:dark0 = ['#282828', 235] " 40-40-40 + let s:dark1 = ['#3c3836', 237] " 60-56-54 + let s:dark2 = ['#504945', 239] " 80-73-69 + let s:dark3 = ['#665c54', 241] " 102-92-84 + let s:dark4 = ['#7c6f64', 243] " 124-111-100 + + let s:medium = ['#928374', 245] " 146-131-116 + + let s:light0 = ['#fbf1c7', 229] " 251-241-199 + let s:light1 = ['#ebdbb2', 223] " 235-219-178 + let s:light2 = ['#d5c4a1', 250] " 213-196-161 + let s:light3 = ['#bdae93', 248] " 189-174-147 + let s:light4 = ['#a89984', 246] " 168-153-132 + + let s:light4_256 = ['#a89984', 246] " 168-153-132 + + let s:red = ['#fb4934', 167] " 251-73-52 + let s:green = ['#b8bb26', 142] " 184-187-38 + let s:yellow = ['#fabd2f', 214] " 250-189-47 + let s:blue = ['#83a598', 109] " 131-165-152 + let s:purple = ['#d3869b', 175] " 211-134-155 + let s:aqua = ['#8ec07c', 108] " 142-192-124 + let s:orange = ['#fe8019', 208] " 254-128-25 + + if g:gruvbox_termcolors == 16 + let s:dark0 = ['#282828', 0] + let s:light4 = ['#a89984', 7] + let s:medium = ['#928374', 8] + let s:red = ['#fb4934', 9] + let s:green = ['#b8bb26', 10] + let s:yellow = ['#fabd2f', 11] + let s:blue = ['#83a598', 12] + let s:purple = ['#d3869b', 13] + let s:aqua = ['#8ec07c', 14] + let s:light1 = ['#ebdbb2', 15] + endif + + if g:gruvbox_contrast == 'soft' + let s:dark0 = ['#32302f', 236] " 50-48-47 + elseif g:gruvbox_contrast == 'hard' + let s:dark0 = ['#1d2021', 234] " 29-32-33 + endif + + if g:gruvbox_contrast_dark == 'soft' + let s:dark0 = ['#32302f', 236] " 50-48-47 + elseif g:gruvbox_contrast_dark == 'hard' + let s:dark0 = ['#1d2021', 234] " 29-32-33 + endif +else + let s:dark0 = ['#fbf1c7', 229] " 251-241-199 + let s:dark1 = ['#ebdbb2', 223] " 235-219-178 + let s:dark2 = ['#d5c4a1', 250] " 213-196-161 + let s:dark3 = ['#bdae93', 248] " 189-174-147 + let s:dark4 = ['#a89984', 246] " 168-153-132 + + let s:medium = ['#928374', 244] " 146-131-116 + + let s:light0 = ['#282828', 235] " 40-40-40 + let s:light1 = ['#3c3836', 237] " 60-56-54 + let s:light2 = ['#504945', 239] " 80-73-69 + let s:light3 = ['#665c54', 241] " 102-92-84 + let s:light4 = ['#7c6f64', 243] " 124-111-100 + + let s:light4_256 = ['#7c6f64', 243] " 124-111-100 + + let s:red = ['#9d0006', 88] " 157-0-6 + let s:green = ['#79740e', 100] " 121-116-14 + let s:yellow = ['#b57614', 136] " 181-118-20 + let s:blue = ['#076678', 24] " 7-102-120 + let s:purple = ['#8f3f71', 96] " 143-63-113 + let s:aqua = ['#427b58', 66] " 66-123-88 + let s:orange = ['#af3a03', 130] " 175-58-3 + + if g:gruvbox_termcolors == 16 + let s:dark0 = ['#fbf1c7', 0] + let s:light4 = ['#7c6f64', 7] + let s:medium = ['#928374', 8] + let s:red = ['#9d0006', 9] + let s:green = ['#79740e', 10] + let s:yellow = ['#b57614', 11] + let s:blue = ['#076678', 12] + let s:purple = ['#8f3f71', 13] + let s:aqua = ['#427b58', 14] + let s:light1 = ['#3c3836', 15] + endif + + if g:gruvbox_contrast == 'soft' + let s:dark0 = ['#f2e5bc', 228] " 242-229-188 + elseif g:gruvbox_contrast == 'hard' + let s:dark0 = ['#f9f5d7', 230] " 249-245-215 + endif + + if g:gruvbox_contrast_light == 'soft' + let s:dark0 = ['#f2e5bc', 228] " 242-229-188 + elseif g:gruvbox_contrast_light == 'hard' + let s:dark0 = ['#f9f5d7', 230] " 249-245-215 + endif +endif " }}} -" Palette: {{{ +" Overload Setting: {{{ -let s:gb = {} +let s:hls_cursor = s:orange +if exists('g:gruvbox_hls_cursor') + let s:hls_cursor = g:gruvbox_hls_cursor +endif -if s:is_dark - let s:gb.dark0 = ['282828', 235] " 40-40-40 - let s:gb.dark1 = ['3c3836', 237] " 60-56-54 - let s:gb.dark2 = ['504945', 239] " 80-73-69 - let s:gb.dark3 = ['665c54', 241] " 102-92-84 - let s:gb.dark4 = ['7c6f64', 243] " 124-111-100 - - let s:gb.medium = ['928374', 245] " 146-131-116 - - let s:gb.light0 = ['fdf4c1', 229] " 253-244-193 - let s:gb.light1 = ['ebdbb2', 223] " 235-219-178 - let s:gb.light2 = ['d5c4a1', 250] " 213-196-161 - let s:gb.light3 = ['bdae93', 248] " 189-174-147 - let s:gb.light4 = ['a89984', 246] " 168-153-132 - - let s:gb.light4_256 = ['a89984', 246] " 168-153-132 - - let s:gb.red = ['fb4934', 167] " 251-73-52 - let s:gb.green = ['b8bb26', 142] " 184-187-38 - let s:gb.yellow = ['fabd2f', 214] " 250-189-47 - let s:gb.blue = ['83a598', 109] " 131-165-152 - let s:gb.purple = ['d3869b', 175] " 211-134-155 - let s:gb.aqua = ['8ec07c', 108] " 142-192-124 - let s:gb.orange = ['fe8019', 208] " 254-128-25 - - if g:gruvbox_termcolors == 16 - let s:gb.dark0 = ['282828', 0] - let s:gb.light4 = ['a89984', 7] - let s:gb.medium = ['928374', 8] - let s:gb.red = ['fb4934', 9] - let s:gb.green = ['b8bb26', 10] - let s:gb.yellow = ['fabd2f', 11] - let s:gb.blue = ['83a598', 12] - let s:gb.purple = ['d3869b', 13] - let s:gb.aqua = ['8ec07c', 14] - let s:gb.light1 = ['ebdbb2', 15] - endif - - if g:gruvbox_contrast == 'soft' - let s:gb.dark0 = ['32302f', 236] " 50-48-47 - endif - - if g:gruvbox_contrast == 'hard' - let s:gb.dark0 = ['1d2021', 234] " 29-32-33 - endif - - if g:gruvbox_contrast_dark == 'soft' - let s:gb.dark0 = ['32302f', 236] " 50-48-47 - endif - - if g:gruvbox_contrast_dark == 'hard' - let s:gb.dark0 = ['1d2021', 234] " 29-32-33 - endif +let s:number_column = s:dark4 +let s:sign_column = s:dark1 + +if exists('g:gitgutter_override_sign_column_highlight') && + \ g:gitgutter_override_sign_column_highlight == 1 + let s:sign_column = s:number_column else - let s:gb.dark0 = ['fbf1c7', 229] " 251-241-199 - let s:gb.dark1 = ['ebdbb2', 223] " 235-219-178 - let s:gb.dark2 = ['d5c4a1', 250] " 213-196-161 - let s:gb.dark3 = ['bdae93', 248] " 189-174-147 - let s:gb.dark4 = ['a89984', 246] " 168-153-132 - - let s:gb.medium = ['928374', 244] " 146-131-116 - - let s:gb.light0 = ['282828', 235] " 40-40-40 - let s:gb.light1 = ['3c3836', 237] " 60-56-54 - let s:gb.light2 = ['504945', 239] " 80-73-69 - let s:gb.light3 = ['665c54', 241] " 102-92-84 - let s:gb.light4 = ['7c6f64', 243] " 124-111-100 - - let s:gb.light4_256 = ['7c6f64', 243] " 124-111-100 - - let s:gb.red = ['9d0006', 88] " 157-0-6 - let s:gb.green = ['79740e', 100] " 121-116-14 - let s:gb.yellow = ['b57614', 136] " 181-118-20 - let s:gb.blue = ['076678', 24] " 7-102-120 - let s:gb.purple = ['8f3f71', 96] " 143-63-113 - let s:gb.aqua = ['427b58', 66] " 66-123-88 - let s:gb.orange = ['af3a03', 130] " 175-58-3 - - if g:gruvbox_termcolors == 16 - let s:gb.dark0 = ['fbf1c7', 0] - let s:gb.light4 = ['7c6f64', 7] - let s:gb.medium = ['928374', 8] - let s:gb.red = ['9d0006', 9] - let s:gb.green = ['79740e', 10] - let s:gb.yellow = ['b57614', 11] - let s:gb.blue = ['076678', 12] - let s:gb.purple = ['8f3f71', 13] - let s:gb.aqua = ['427b58', 14] - let s:gb.light1 = ['3c3836', 15] - endif - - if g:gruvbox_contrast == 'soft' - let s:gb.dark0 = ['f2e5bc', 228] " 242-229-188 - endif - - if g:gruvbox_contrast == 'hard' - let s:gb.dark0 = ['f9f5d7', 230] " 249-245-215 - endif - - if g:gruvbox_contrast_light == 'soft' - let s:gb.dark0 = ['f2e5bc', 228] " 242-229-188 - endif - - if g:gruvbox_contrast_light == 'hard' - let s:gb.dark0 = ['f9f5d7', 230] " 249-245-215 - endif + let g:gitgutter_override_sign_column_highlight = 0 + + if exists('g:gruvbox_sign_column') + let s:sign_column = g:gruvbox_sign_column + endif +endif + +let s:color_column = s:dark1 +if exists('g:gruvbox_color_column') + let s:color_column = g:gruvbox_color_column +endif + +let s:vert_split = s:dark2 +if exists('g:gruvbox_vert_split') + let s:vert_split = g:gruvbox_vert_split +endif + +let s:invert_signs = '' +if exists('g:gruvbox_invert_signs') + if g:gruvbox_invert_signs == 1 + let s:invert_signs = s:inverse + endif +endif + +let s:invert_selection = s:inverse +if exists('g:gruvbox_invert_selection') + if g:gruvbox_invert_selection == 0 + let s:invert_selection = '' + endif +endif + +let s:invert_tabline = '' +if exists('g:gruvbox_invert_tabline') + if g:gruvbox_invert_tabline == 1 + let s:invert_tabline = s:inverse + endif +endif + +let s:italicize_comments = s:italic +if exists('g:gruvbox_italicize_comments') + if g:gruvbox_italicize_comments == 0 + let s:italicize_comments = '' + endif +endif + +let s:italicize_strings = '' +if exists('g:gruvbox_italicize_strings') + if g:gruvbox_italicize_strings == 1 + let s:italicize_strings = s:italic + endif endif " }}} " Highlighting Function: {{{ function! s:HL(group, fg, ...) - " Arguments: group, guifg, guibg, gui, guisp - - let histring = 'hi ' . a:group . ' ' - - " if (Foreground override enabled) && ( We were passed a guisp value ) - if g:gruvbox_guisp_fallback == 'fg' && a:0 >= 3 && strlen(a:3) && a:3 != 'none' - let c = get(s:gb, a:3) - let histring .= 'guifg=#' . c[0] . ' ctermfg=' . c[1] . ' ' - elseif strlen(a:fg) - if a:fg == 'fg' - let histring .= 'guifg=fg ctermfg=fg ' - elseif a:fg == 'bg' - let histring .= 'guifg=bg ctermfg=bg ' - elseif a:fg == 'none' - let histring .= 'guifg=NONE ctermfg=NONE ' - else - let c = get(s:gb, a:fg) - let histring .= 'guifg=#' . c[0] . ' ctermfg=' . c[1] . ' ' - endif - endif - - " if (Background override enabled) && ( We were passed a guisp value ) - if g:gruvbox_guisp_fallback == 'bg' && a:0 >= 3 && strlen(a:3) && a:3 != 'none' - let c = get(s:gb, a:3) - let histring .= 'guibg=#' . c[0] . ' ctermbg=' . c[1] . ' ' - elseif a:0 >= 1 && strlen(a:1) - if a:1 == 'bg' - let histring .= 'guibg=bg ctermbg=bg ' - elseif a:fg == 'fg' - let histring .= 'guibg=fg ctermbg=fg ' - elseif a:1 == 'none' - let histring .= 'guibg=NONE ctermbg=NONE ' - else - let c = get(s:gb, a:1) - let histring .= 'guibg=#' . c[0] . ' ctermbg=' . c[1] . ' ' - endif - else - let histring .= 'guibg=NONE ctermbg=NONE ' - endif - - " Hotfixing #24; - " TODO: get rid of this spaghetti - if a:0 >= 2 && strlen(a:2) - if a:2 == 'none' - let histring .= 'gui=NONE cterm=NONE ' - elseif a:2 == 'italic' && g:gruvbox_italic == 0 - let histring .= 'gui=NONE cterm=NONE ' - elseif a:2 == 'bold' && g:gruvbox_bold == 0 - let histring .= 'gui=NONE cterm=NONE ' - elseif a:2 == 'bold,inverse' && g:gruvbox_bold == 0 - let histring .= 'gui=inverse cterm=inverse ' - elseif a:2 == 'undercurl' && g:gruvbox_undercurl == 0 - let histring .= 'gui=NONE cterm=NONE ' - elseif a:2 == 'underline' && g:gruvbox_underline == 0 - let histring .= 'gui=NONE cterm=NONE ' - elseif a:2 == 'bold,italic' - if g:gruvbox_italic == 0 && g:gruvbox_bold == 0 - let histring .= 'gui=NONE cterm=NONE ' - elseif g:gruvbox_italic == 0 - let histring .= 'gui=bold cterm=bold ' - elseif g:gruvbox_bold == 0 - let histring .= 'gui=italic cterm=italic ' - else - let histring .= 'gui=' . a:2 . ' cterm=' . a:2 . ' ' - endif - elseif a:2 == 'bold,underline' - if g:gruvbox_underline == 0 && g:gruvbox_bold == 0 - let histring .= 'gui=NONE cterm=NONE ' - elseif g:gruvbox_underline == 0 - let histring .= 'gui=bold cterm=bold ' - elseif g:gruvbox_bold == 0 - let histring .= 'gui=underline cterm=underline ' - else - let histring .= 'gui=' . a:2 . ' cterm=' . a:2 . ' ' - endif - elseif a:2 == 'underline,italic' - if g:gruvbox_underline == 0 && g:gruvbox_italic == 0 - let histring .= 'gui=NONE cterm=NONE ' - elseif g:gruvbox_underline == 0 - let histring .= 'gui=italic cterm=italic ' - elseif g:gruvbox_italic == 0 - let histring .= 'gui=underline cterm=underline ' - else - let histring .= 'gui=' . a:2 . ' cterm=' . a:2 . ' ' - endif - elseif a:2 == 'bold,underline,italic' - if g:gruvbox_italic == 0 && g:gruvbox_bold == 0 - let histring .= 'gui=underline cterm=underline ' - elseif g:gruvbox_italic == 0 - let histring .= 'gui=bold,underline cterm=bold,underline ' - elseif g:gruvbox_bold == 0 - let histring .= 'gui=italic,underline cterm=italic,underline ' - else - let histring .= 'gui=' . a:2 . ' cterm=' . a:2 . ' ' - endif - else - let histring .= 'gui=' . a:2 . ' cterm=' . a:2 . ' ' - endif - else - let histring .= 'gui=NONE cterm=NONE ' - endif - - if a:0 >= 3 && strlen(a:3) - if a:3 == 'none' - let histring .= 'guisp=NONE ' - else - let c = get(s:gb, a:3) - let histring .= 'guisp=#' . c[0] . ' ' - endif - endif - - execute histring + " Arguments: group, guifg, guibg, gui, guisp + + if type(a:fg) == 3 + let fg = a:fg + elseif type(a:fg) == 1 + let fg = [a:fg, a:fg] + else + let fg = ['NONE', 'NONE'] + endif + + if a:0 >= 1 && type(a:1) == 3 + let bg = a:1 + elseif a:0 >= 1 && type(a:1) == 1 + let bg = [a:1, a:1] + else + let bg = ['NONE', 'NONE'] + endif + + if a:0 >= 2 && strlen(a:2) + let emstr = a:2[:-2] + else + let emstr = 'NONE' + endif + + let histring = ['hi', a:group, + \ 'guifg=' . fg[0], 'ctermfg=' . fg[1], + \ 'guibg=' . bg[0], 'ctermbg=' . bg[1], + \ 'gui=' . emstr, 'cterm=' . emstr + \ ] + + if a:0 >= 3 + if type(a:3) == 3 + let specl = a:3[0] + elseif type(a:3) == 1 + let specl = a:3 + else + let specl = 'NONE' + endif + + call add(histring, 'guisp=' . specl) + endif + + " if (Foreground override enabled) && ( We were passed a guisp value ) + " if g:gruvbox_guisp_fallback == 'fg' && a:0 >= 3 && strlen(a:3) && a:3 != 'NONE' + " let c = get(s:gb, a:3) + " let histring .= 'guifg=#' . c[0] . ' ctermfg=' . c[1] . ' ' + + " if (Background override enabled) && ( We were passed a guisp value ) + " if g:gruvbox_guisp_fallback == 'bg' && a:0 >= 3 && strlen(a:3) && a:3 != 'NONE' + " let c = get(s:gb, a:3) + " let histring .= 'guibg=#' . c[0] . ' ctermbg=' . c[1] . ' ' + + execute join(histring, ' ') endfunction " }}} @@ -347,239 +339,220 @@ endfunction " General UI: {{{ " Normal text -call s:HL('Normal', 'light1', 'dark0') +call s:HL('Normal', s:light1, s:dark0) " Correct background (see issue #7): " --- Problem with changing between dark and light on 256 color terminal " --- https://github.com/morhetz/gruvbox/issues/7 if s:is_dark - set background=dark + set background=dark else - set background=light + set background=light endif if version >= 700 - " Screen line that the cursor is - call s:HL('CursorLine', 'none', 'dark1') - " Screen column that the cursor is - call s:HL('CursorColumn', 'none', 'dark1') - -if g:gruvbox_invert_tabline == 0 - " Tab pages line filler - call s:HL('TabLineFill', 'dark4', 'bg') - " Active tab page label - call s:HL('TabLineSel', 'bg', 'dark4', 'bold') - " Not active tab page label - call s:HL('TabLine', 'dark4', 'bg') -else - call s:HL('TabLineFill', 'bg', 'dark4') - call s:HL('TabLineSel', 'dark4', 'bg', 'bold') - call s:HL('TabLine', 'bg', 'dark4') -endif - - " Match paired bracket under the cursor - call s:HL('MatchParen', 'none', 'dark3', 'bold') + " Screen line that the cursor is + call s:HL('CursorLine', 'NONE', s:dark1) + " Screen column that the cursor is + call s:HL('CursorColumn', 'NONE', s:dark1) + + " Tab pages line filler + call s:HL('TabLineFill', s:dark4, 'bg', s:invert_tabline) + " Active tab page label + call s:HL('TabLineSel', 'bg', s:dark4, s:bold . s:invert_tabline) + " Not active tab page label + call s:HL('TabLine', s:dark4, 'bg', s:invert_tabline) + + " Match paired bracket under the cursor + call s:HL('MatchParen', 'NONE', s:dark3, s:bold) endif if version >= 703 - " Highlighted screen columns - call s:HL('ColorColumn', 'none', g:gruvbox_color_column) + " Highlighted screen columns + call s:HL('ColorColumn', 'NONE', s:color_column) - " Concealed element: \lambda → λ - call s:HL('Conceal', 'blue', 'none') + " Concealed element: \lambda → λ + call s:HL('Conceal', s:blue, 'NONE') - " Line number of CursorLine - call s:HL('CursorLineNr', 'yellow', 'dark1') + " Line number of CursorLine + call s:HL('CursorLineNr', s:yellow, s:dark1) endif -call s:HL('NonText', 'dark2') -call s:HL('SpecialKey', 'dark2') +call s:HL('NonText', s:dark2) +call s:HL('SpecialKey', s:dark2) -if g:gruvbox_invert_selection == 0 - call s:HL('Visual', 'none', 'dark2') - call s:HL('VisualNOS', 'none', 'dark2') -else - call s:HL('Visual', 'none', 'dark3', 'inverse') - call s:HL('VisualNOS', 'none', 'dark3', 'inverse') -endif +call s:HL('Visual', 'NONE', s:dark3, s:invert_selection) +call s:HL('VisualNOS', 'NONE', s:dark3, s:invert_selection) -call s:HL('Search', 'dark0', 'yellow') -call s:HL('IncSearch', 'dark0', g:gruvbox_hls_cursor) +call s:HL('Search', s:dark0, s:yellow) +call s:HL('IncSearch', s:dark0, s:hls_cursor) -call s:HL('Underlined', 'blue', 'none', 'underline') +call s:HL('Underlined', s:blue, 'NONE', s:underline) -call s:HL('StatusLine', 'dark4', 'dark0', 'bold,inverse') -call s:HL('StatusLineNC', 'dark2', 'light4', 'bold,inverse') +call s:HL('StatusLine', s:dark4, s:dark0, s:bold . s:inverse) +call s:HL('StatusLineNC', s:dark2, s:light4, s:bold . s:inverse) " The column separating vertically split windows -call s:HL('VertSplit', 'light4', g:gruvbox_vert_split) +call s:HL('VertSplit', s:light4, s:vert_split) " Current match in wildmenu completion -call s:HL('WildMenu', 'blue', 'dark2', 'bold') +call s:HL('WildMenu', s:blue, s:dark2, s:bold) " Directory names, special names in listing -call s:HL('Directory', 'green', 'none', 'bold') +call s:HL('Directory', s:green, 'NONE', s:bold) " Titles for output from :set all, :autocmd, etc. -call s:HL('Title', 'green', 'none', 'bold') +call s:HL('Title', s:green, 'NONE', s:bold) " Error messages on the command line -call s:HL('ErrorMsg', 'bg', 'red', 'bold') +call s:HL('ErrorMsg', 'bg', s:red, s:bold) " More prompt: -- More -- -call s:HL('MoreMsg', 'yellow', 'none', 'bold') +call s:HL('MoreMsg', s:yellow, 'NONE', s:bold) " Current mode message: -- INSERT -- -call s:HL('ModeMsg', 'yellow', 'none', 'bold') +call s:HL('ModeMsg', s:yellow, 'NONE', s:bold) " 'Press enter' prompt and yes/no questions -call s:HL('Question', 'orange', 'none', 'bold') +call s:HL('Question', s:orange, 'NONE', s:bold) " Warning messages -call s:HL('WarningMsg', 'red', 'none', 'bold') +call s:HL('WarningMsg', s:red, 'NONE', s:bold) " }}} " Gutter: {{{ " Line number for :number and :# commands -call s:HL('LineNr', 'dark4') +call s:HL('LineNr', s:number_column) " Column where signs are displayed -call s:HL('SignColumn', 'none', g:gruvbox_sign_column) +call s:HL('SignColumn', 'NONE', s:sign_column) " Line used for closed folds -call s:HL('Folded', 'medium', 'dark1', 'italic') +call s:HL('Folded', s:medium, s:dark1, s:italic) " Column where folds are displayed -call s:HL('FoldColumn', 'medium', 'dark1') +call s:HL('FoldColumn', s:medium, s:dark1) " }}} " Cursor: {{{ " Character under cursor -call s:HL('Cursor', 'none', 'none', 'inverse') +call s:HL('Cursor', 'NONE', 'NONE', s:inverse) " Visual mode cursor, selection -call s:HL('vCursor', 'none', 'none', 'inverse') +call s:HL('vCursor', 'NONE', 'NONE', s:inverse) " Input moder cursor -call s:HL('iCursor', 'none', 'none', 'inverse') +call s:HL('iCursor', 'NONE', 'NONE', s:inverse) " Language mapping cursor -call s:HL('lCursor', 'none', 'none', 'inverse') +call s:HL('lCursor', 'NONE', 'NONE', s:inverse) " }}} " Syntax Highlighting: {{{ if g:gruvbox_improved_strings == 0 - call s:HL('Special', 'orange') + call s:HL('Special', s:orange) else - call s:HL('Special', 'dark1', 'orange', 'italic') + call s:HL('Special', s:dark1, s:orange, s:italic) endif -if g:gruvbox_italicize_comments == 0 - call s:HL('Comment', 'medium', 'none') -else - call s:HL('Comment', 'medium', 'none', 'italic') -endif -call s:HL('Todo', 'fg', 'bg', 'bold') -call s:HL('Error', 'bg', 'red', 'bold') +call s:HL('Comment', s:medium, 'NONE', s:italicize_comments) +call s:HL('Todo', 'fg', 'bg', s:bold) +call s:HL('Error', s:red, 'bg', s:bold . s:inverse) " Generic statement -call s:HL('Statement', 'red') +call s:HL('Statement', s:red) " if, then, else, endif, swicth, etc. -call s:HL('Conditional', 'red') +call s:HL('Conditional', s:red) " for, do, while, etc. -call s:HL('Repeat', 'red') +call s:HL('Repeat', s:red) " case, default, etc. -call s:HL('Label', 'red') +call s:HL('Label', s:red) " try, catch, throw -call s:HL('Exception', 'red') +call s:HL('Exception', s:red) " sizeof, "+", "*", etc. hi! link Operator Normal " Any other keyword -call s:HL('Keyword', 'red') +call s:HL('Keyword', s:red) " Variable name -call s:HL('Identifier', 'blue') +call s:HL('Identifier', s:blue) " Function name -call s:HL('Function', 'green', 'none', 'bold') +call s:HL('Function', s:green, 'NONE', s:bold) " Generic preprocessor -call s:HL('PreProc', 'aqua') +call s:HL('PreProc', s:aqua) " Preprocessor #include -call s:HL('Include', 'aqua') +call s:HL('Include', s:aqua) " Preprocessor #define -call s:HL('Define', 'aqua') +call s:HL('Define', s:aqua) " Same as Define -call s:HL('Macro', 'aqua') +call s:HL('Macro', s:aqua) " Preprocessor #if, #else, #endif, etc. -call s:HL('PreCondit', 'aqua') +call s:HL('PreCondit', s:aqua) " Generic constant -call s:HL('Constant', 'purple') +call s:HL('Constant', s:purple) " Character constant: 'c', '/n' -call s:HL('Character', 'purple') +call s:HL('Character', s:purple) " String constant: "this is a string" -if g:gruvbox_italicize_strings == 0 - call s:HL('String', 'green') +if g:gruvbox_improved_strings == 0 + call s:HL('String', s:green, 'NONE', s:italicize_strings) else - if g:gruvbox_improved_strings == 0 - call s:HL('String', 'green', 'none', 'italic') - else - call s:HL('String', 'dark1', 'light1', 'italic') - endif + call s:HL('String', s:dark1, s:light1, s:italicize_strings) endif " Boolean constant: TRUE, false -call s:HL('Boolean', 'purple') +call s:HL('Boolean', s:purple) " Number constant: 234, 0xff -call s:HL('Number', 'purple') +call s:HL('Number', s:purple) " Floating point constant: 2.3e10 -call s:HL('Float', 'purple') +call s:HL('Float', s:purple) " Generic type -call s:HL('Type', 'yellow') +call s:HL('Type', s:yellow) " static, register, volatile, etc -call s:HL('StorageClass', 'orange') +call s:HL('StorageClass', s:orange) " struct, union, enum, etc. -call s:HL('Structure', 'aqua') +call s:HL('Structure', s:aqua) " typedef -call s:HL('Typedef', 'yellow') +call s:HL('Typedef', s:yellow) " }}} " Completion Menu: {{{ if version >= 700 - " Popup menu: normal item - call s:HL('Pmenu', 'light1', 'dark2') - " Popup menu: selected item - call s:HL('PmenuSel', 'dark2', 'blue', 'bold') - " Popup menu: scrollbar - call s:HL('PmenuSbar', 'none', 'dark2') - " Popup menu: scrollbar thumb - call s:HL('PmenuThumb', 'none', 'dark4') + " Popup menu: normal item + call s:HL('Pmenu', s:light1, s:dark2) + " Popup menu: selected item + call s:HL('PmenuSel', s:dark2, s:blue, s:bold) + " Popup menu: scrollbar + call s:HL('PmenuSbar', 'NONE', s:dark2) + " Popup menu: scrollbar thumb + call s:HL('PmenuThumb', 'NONE', s:dark4) endif " }}} " Diffs: {{{ -call s:HL('DiffDelete', 'dark0', 'red') -call s:HL('DiffAdd', 'dark0', 'green') -"call s:HL('DiffChange', 'dark0', 'blue') -"call s:HL('DiffText', 'dark0', 'yellow') +call s:HL('DiffDelete', s:red, s:dark0, s:inverse) +call s:HL('DiffAdd', s:green, s:dark0, s:inverse) +"call s:HL('DiffChange', s:dark0, s:blue) +"call s:HL('DiffText', s:dark0, s:yellow) " Alternative setting -call s:HL('DiffChange', 'dark0', 'aqua') -call s:HL('DiffText', 'dark0', 'yellow') +call s:HL('DiffChange', s:aqua, s:dark0, s:inverse) +call s:HL('DiffText', s:yellow, s:dark0, s:inverse) " }}} " Spelling: {{{ if has("spell") - " Not capitalised word, or compile warnings - if g:gruvbox_improved_warnings == 0 - call s:HL('SpellCap', 'none', 'none', 'undercurl', 'red') - else - call s:HL('SpellCap', 'green', 'none', 'italic,bold') - endif - " Not recognized word - call s:HL('SpellBad', 'none', 'none', 'undercurl', 'blue') - " Wrong spelling for selected region - call s:HL('SpellLocal', 'none', 'none', 'undercurl', 'aqua') - " Rare word - call s:HL('SpellRare', 'none', 'none', 'undercurl', 'purple') + " Not capitalised word, or compile warnings + if g:gruvbox_improved_warnings == 0 + call s:HL('SpellCap', 'NONE', 'NONE', s:undercurl, s:red) + else + call s:HL('SpellCap', s:green, 'NONE', s:bold . s:italic) + endif + " Not recognized word + call s:HL('SpellBad', 'NONE', 'NONE', s:undercurl, s:blue) + " Wrong spelling for selected region + call s:HL('SpellLocal', 'NONE', 'NONE', s:undercurl, s:aqua) + " Rare word + call s:HL('SpellRare', 'NONE', 'NONE', s:undercurl, s:purple) endif " }}} @@ -595,45 +568,45 @@ hi! link EasyMotionShade Comment hi! link SneakPluginTarget Search hi! link SneakStreakTarget Search -call s:HL('SneakStreakMask', 'yellow', 'yellow') +call s:HL('SneakStreakMask', s:yellow, s:yellow) hi! link SneakStreakStatusLine Search " }}} " Indent Guides: {{{ if !exists('g:indent_guides_auto_colors') - let g:indent_guides_auto_colors = 0 + let g:indent_guides_auto_colors = 0 endif if g:indent_guides_auto_colors == 0 - if g:gruvbox_invert_indent_guides == 0 - call s:HL('IndentGuidesOdd', 'bg', 'dark2') - call s:HL('IndentGuidesEven', 'bg', 'dark1') - else - call s:HL('IndentGuidesOdd', 'bg', 'dark2', 'inverse') - call s:HL('IndentGuidesEven', 'bg', 'dark3', 'inverse') - endif + if g:gruvbox_invert_indent_guides == 0 + call s:HL('IndentGuidesOdd', 'bg', s:dark2) + call s:HL('IndentGuidesEven', 'bg', s:dark1) + else + call s:HL('IndentGuidesOdd', 'bg', s:dark2, s:inverse) + call s:HL('IndentGuidesEven', 'bg', s:dark3, s:inverse) + endif endif " }}} " IndentLine: {{{ if !exists('g:indentLine_color_term') - let g:indentLine_color_term = s:gb.dark2[1] + let g:indentLine_color_term = s:dark2[1] endif if !exists('g:indentLine_color_gui') - let g:indentLine_color_gui = '#' . s:gb.dark2[0] + let g:indentLine_color_gui = s:dark2[0] endif " }}} " Rainbow Parentheses: {{{ if !exists('g:rbpt_colorpairs') - let g:rbpt_colorpairs = - \ [ - \ ['blue', '#458588'], ['magenta', '#b16286'], - \ ['red', '#cc241d'], ['166', '#d65d0e'] - \ ] + let g:rbpt_colorpairs = + \ [ + \ ['blue', '#458588'], ['magenta', '#b16286'], + \ ['red', '#cc241d'], ['166', '#d65d0e'] + \ ] endif let g:rainbow_guifgs = [ '#d65d0e', '#cc241d', '#b16286', '#458588' ] @@ -655,61 +628,38 @@ let g:niji_light_colours = g:rbpt_colorpairs "}}} " GitGutter: {{{ -if g:gruvbox_invert_signs == 0 - call s:HL('GitGutterAdd', 'green', g:gruvbox_sign_column) - call s:HL('GitGutterChange', 'aqua', g:gruvbox_sign_column) - call s:HL('GitGutterDelete', 'red', g:gruvbox_sign_column) - call s:HL('GitGutterChangeDelete', 'aqua', g:gruvbox_sign_column) -else - call s:HL('GitGutterAdd', 'green', g:gruvbox_sign_column, 'inverse') - call s:HL('GitGutterChange', 'aqua', g:gruvbox_sign_column, 'inverse') - call s:HL('GitGutterDelete', 'red', g:gruvbox_sign_column, 'inverse') - call s:HL('GitGutterChangeDelete', 'aqua', g:gruvbox_sign_column, 'inverse') -endif +call s:HL('GitGutterAdd', s:green, s:sign_column, s:invert_signs) +call s:HL('GitGutterChange', s:aqua, s:sign_column, s:invert_signs) +call s:HL('GitGutterDelete', s:red, s:sign_column, s:invert_signs) +call s:HL('GitGutterChangeDelete', s:aqua, s:sign_column, s:invert_signs) " }}} -" gitcommit highlighting "{{{ +" GitCommit: "{{{ -call s:HL('gitcommitSelectedFile', 'green') -call s:HL('gitcommitDiscardedFile', 'red') +call s:HL('gitcommitSelectedFile', s:green) +call s:HL('gitcommitDiscardedFile', s:red) " }}} " Signify: {{{ -if g:gruvbox_invert_signs == 0 - call s:HL('SignifySignAdd', 'green', g:gruvbox_sign_column) - call s:HL('SignifySignChange ', 'aqua', g:gruvbox_sign_column) - call s:HL('SignifySignDelete', 'red', g:gruvbox_sign_column) -else - call s:HL('SignifySignAdd', 'green', g:gruvbox_sign_column, 'inverse') - call s:HL('SignifySignChange ', 'aqua', g:gruvbox_sign_column, 'inverse') - call s:HL('SignifySignDelete', 'red', g:gruvbox_sign_column, 'inverse') -endif +call s:HL('SignifySignAdd', s:green, s:sign_column, s:invert_signs) +call s:HL('SignifySignChange ', s:aqua, s:sign_column, s:invert_signs) +call s:HL('SignifySignDelete', s:red, s:sign_column, s:invert_signs) " }}} " Syntastic: {{{ -call s:HL('SyntasticError', 'none', 'none', 'undercurl', 'red') -call s:HL('SyntasticWarning', 'none', 'none', 'undercurl', 'yellow') +call s:HL('SyntasticError', 'NONE', 'NONE', s:undercurl, s:red) +call s:HL('SyntasticWarning', 'NONE', 'NONE', s:undercurl, s:yellow) -if g:gruvbox_invert_signs == 0 - call s:HL('SyntasticErrorSign', 'red', g:gruvbox_sign_column) - call s:HL('SyntasticWarningSign', 'yellow', g:gruvbox_sign_column) -else - call s:HL('SyntasticErrorSign', 'red', g:gruvbox_sign_column, 'inverse') - call s:HL('SyntasticWarningSign', 'yellow', g:gruvbox_sign_column, 'inverse') -endif +call s:HL('SyntasticErrorSign', s:red, s:sign_column, s:invert_signs) +call s:HL('SyntasticWarningSign', s:yellow, s:sign_column, s:invert_signs) " }}} " Signature: {{{ -if g:gruvbox_invert_signs == 0 - call s:HL('SignatureMarkerText', 'purple', g:gruvbox_sign_column) - call s:HL('SignatureMarkText', 'blue', g:gruvbox_sign_column) -else - call s:HL('SignatureMarkerText', 'purple', g:gruvbox_sign_column, 'inverse') - call s:HL('SignatureMarkText', 'blue', g:gruvbox_sign_column, 'inverse') -endif +call s:HL('SignatureMarkerText', s:purple, s:sign_column, s:invert_signs) +call s:HL('SignatureMarkText', s:blue, s:sign_column, s:invert_signs) let g:SignatureMarkerTextHL='"SignatureMarkerText"' let g:SignatureMarkTextHL='"SignatureMarkText"' @@ -717,451 +667,443 @@ let g:SignatureMarkTextHL='"SignatureMarkText"' " }}} " ShowMarks: {{{ -if g:gruvbox_invert_signs == 0 - call s:HL('ShowMarksHLl', 'blue', g:gruvbox_sign_column) - call s:HL('ShowMarksHLu', 'blue', g:gruvbox_sign_column) - call s:HL('ShowMarksHLo', 'blue', g:gruvbox_sign_column) - call s:HL('ShowMarksHLm', 'blue', g:gruvbox_sign_column) -else - call s:HL('ShowMarksHLl', 'blue', g:gruvbox_sign_column, 'inverse') - call s:HL('ShowMarksHLu', 'blue', g:gruvbox_sign_column, 'inverse') - call s:HL('ShowMarksHLo', 'blue', g:gruvbox_sign_column, 'inverse') - call s:HL('ShowMarksHLm', 'blue', g:gruvbox_sign_column, 'inverse') -endif +call s:HL('ShowMarksHLl', s:blue, s:sign_column, s:invert_signs) +call s:HL('ShowMarksHLu', s:blue, s:sign_column, s:invert_signs) +call s:HL('ShowMarksHLo', s:blue, s:sign_column, s:invert_signs) +call s:HL('ShowMarksHLm', s:blue, s:sign_column, s:invert_signs) " }}} " CtrlP: {{{ -call s:HL('CtrlPMatch', 'yellow') -call s:HL('CtrlPNoEntries', 'red') -call s:HL('CtrlPPrtBase', 'dark2') -call s:HL('CtrlPPrtCursor', 'blue') -call s:HL('CtrlPLinePre', 'dark2') +call s:HL('CtrlPMatch', s:yellow) +call s:HL('CtrlPNoEntries', s:red) +call s:HL('CtrlPPrtBase', s:dark2) +call s:HL('CtrlPPrtCursor', s:blue) +call s:HL('CtrlPLinePre', s:dark2) -call s:HL('CtrlPMode1', 'blue', 'dark2', 'bold') -call s:HL('CtrlPMode2', 'dark0', 'blue', 'bold') -call s:HL('CtrlPStats', 'light4', 'dark2', 'bold') +call s:HL('CtrlPMode1', s:blue, s:dark2, s:bold) +call s:HL('CtrlPMode2', s:dark0, s:blue, s:bold) +call s:HL('CtrlPStats', s:light4, s:dark2, s:bold) " }}} " Startify: {{{ -call s:HL('StartifyBracket', 'light3') -call s:HL('StartifyFile', 'light0') -call s:HL('StartifyNumber', 'blue') -call s:HL('StartifyPath', 'medium') -call s:HL('StartifySlash', 'medium') -call s:HL('StartifySection', 'yellow') -call s:HL('StartifySpecial', 'dark2') -call s:HL('StartifyHeader', 'orange') -call s:HL('StartifyFooter', 'dark2') +call s:HL('StartifyBracket', s:light3) +call s:HL('StartifyFile', s:light0) +call s:HL('StartifyNumber', s:blue) +call s:HL('StartifyPath', s:medium) +call s:HL('StartifySlash', s:medium) +call s:HL('StartifySection', s:yellow) +call s:HL('StartifySpecial', s:dark2) +call s:HL('StartifyHeader', s:orange) +call s:HL('StartifyFooter', s:dark2) " }}} " Vimshell: {{{ -let g:vimshell_escape_colors = map(split( - \ 'dark4 red green yellow blue purple aqua light4 ' . - \ 'dark0 red green orange blue purple aqua light0' - \ ), '"#" . s:gb[v:val][0]') +let g:vimshell_escape_colors = [ + \ s:dark4[0], s:red[0], s:green[0], s:yellow[0], + \ s:blue[0], s:purple[0], s:aqua[0], s:light4[0], + \ s:dark0[0], s:red[0], s:green[0], s:orange[0], + \ s:blue[0], s:purple[0], s:aqua[0], s:light0[0] + \ ] " }}} " Filetype specific ----------------------------------------------------------- " Diff: {{{ -call s:HL('diffAdded', 'green') -call s:HL('diffRemoved', 'red') -call s:HL('diffChanged', 'aqua') +call s:HL('diffAdded', s:green) +call s:HL('diffRemoved', s:red) +call s:HL('diffChanged', s:aqua) -call s:HL('diffFile', 'orange') -call s:HL('diffNewFile', 'yellow') +call s:HL('diffFile', s:orange) +call s:HL('diffNewFile', s:yellow) -call s:HL('diffLine', 'blue') +call s:HL('diffLine', s:blue) " }}} " Html: {{{ -call s:HL('htmlTag', 'blue') -call s:HL('htmlEndTag', 'blue') +call s:HL('htmlTag', s:blue) +call s:HL('htmlEndTag', s:blue) -call s:HL('htmlTagName', 'aqua', 'none', 'bold') -call s:HL('htmlArg', 'aqua') +call s:HL('htmlTagName', s:aqua, 'NONE', s:bold) +call s:HL('htmlArg', s:aqua) -call s:HL('htmlScriptTag', 'purple') -call s:HL('htmlTagN', 'light1') -call s:HL('htmlSpecialTagName', 'aqua', 'none', 'bold') +call s:HL('htmlScriptTag', s:purple) +call s:HL('htmlTagN', s:light1) +call s:HL('htmlSpecialTagName', s:aqua, 'NONE', s:bold) -call s:HL('htmlLink', 'light4', 'none', 'underline') +call s:HL('htmlLink', s:light4, 'NONE', s:underline) -call s:HL('htmlSpecialChar', 'orange') +call s:HL('htmlSpecialChar', s:orange) -call s:HL('htmlBold', 'fg', 'bg', 'bold') -call s:HL('htmlBoldUnderline', 'fg', 'bg', 'bold,underline') -call s:HL('htmlBoldItalic', 'fg', 'bg', 'bold,italic') -call s:HL('htmlBoldUnderlineItalic', 'fg', 'bg', 'bold,underline,italic') +call s:HL('htmlBold', 'fg', 'bg', s:bold) +call s:HL('htmlBoldUnderline', 'fg', 'bg', s:bold . s:underline) +call s:HL('htmlBoldItalic', 'fg', 'bg', s:bold . s:italic) +call s:HL('htmlBoldUnderlineItalic', 'fg', 'bg', s:bold . s:underline . s:italic) -call s:HL('htmlUnderline', 'fg', 'bg', 'underline') -call s:HL('htmlUnderlineItalic', 'fg', 'bg', 'underline,italic') -call s:HL('htmlItalic', 'fg', 'bg', 'italic') +call s:HL('htmlUnderline', 'fg', 'bg', s:underline) +call s:HL('htmlUnderlineItalic', 'fg', 'bg', s:underline . s:italic) +call s:HL('htmlItalic', 'fg', 'bg', s:italic) " }}} " Xml: {{{ -call s:HL('xmlTag', 'blue') -call s:HL('xmlEndTag', 'blue') -call s:HL('xmlTagName', 'blue') -call s:HL('xmlEqual', 'blue') -call s:HL('docbkKeyword', 'aqua', 'none', 'bold') - -call s:HL('xmlDocTypeDecl', 'medium') -call s:HL('xmlDocTypeKeyword', 'purple') -call s:HL('xmlCdataStart', 'medium') -call s:HL('xmlCdataCdata', 'purple') -call s:HL('dtdFunction', 'medium') -call s:HL('dtdTagName', 'purple') - -call s:HL('xmlAttrib', 'aqua') -call s:HL('xmlProcessingDelim', 'medium') -call s:HL('dtdParamEntityPunct', 'medium') -call s:HL('dtdParamEntityDPunct', 'medium') -call s:HL('xmlAttribPunct', 'medium') - -call s:HL('xmlEntity', 'orange') -call s:HL('xmlEntityPunct', 'orange') +call s:HL('xmlTag', s:blue) +call s:HL('xmlEndTag', s:blue) +call s:HL('xmlTagName', s:blue) +call s:HL('xmlEqual', s:blue) +call s:HL('docbkKeyword', s:aqua, 'NONE', s:bold) + +call s:HL('xmlDocTypeDecl', s:medium) +call s:HL('xmlDocTypeKeyword', s:purple) +call s:HL('xmlCdataStart', s:medium) +call s:HL('xmlCdataCdata', s:purple) +call s:HL('dtdFunction', s:medium) +call s:HL('dtdTagName', s:purple) + +call s:HL('xmlAttrib', s:aqua) +call s:HL('xmlProcessingDelim', s:medium) +call s:HL('dtdParamEntityPunct', s:medium) +call s:HL('dtdParamEntityDPunct', s:medium) +call s:HL('xmlAttribPunct', s:medium) + +call s:HL('xmlEntity', s:orange) +call s:HL('xmlEntityPunct', s:orange) " }}} " Vim: {{{ -if g:gruvbox_italicize_comments == 0 - call s:HL('vimCommentTitle', 'light4_256', 'none', 'bold') -else - call s:HL('vimCommentTitle', 'light4_256', 'none', 'bold,italic') -endif -call s:HL('vimNotation', 'orange') -call s:HL('vimBracket', 'orange') -call s:HL('vimMapModKey', 'orange') -call s:HL('vimFuncSID', 'light3') -call s:HL('vimSetSep', 'light3') -call s:HL('vimSep', 'light3') -call s:HL('vimContinue', 'light3') +call s:HL('vimCommentTitle', s:light4_256, 'NONE', s:bold . s:italicize_comments) + +call s:HL('vimNotation', s:orange) +call s:HL('vimBracket', s:orange) +call s:HL('vimMapModKey', s:orange) +call s:HL('vimFuncSID', s:light3) +call s:HL('vimSetSep', s:light3) +call s:HL('vimSep', s:light3) +call s:HL('vimContinue', s:light3) " }}} " Clojure: {{{ -call s:HL('clojureKeyword', 'blue') -call s:HL('clojureCond', 'orange') -call s:HL('clojureSpecial', 'orange') -call s:HL('clojureDefine', 'orange') - -call s:HL('clojureFunc', 'yellow') -call s:HL('clojureRepeat', 'yellow') -call s:HL('clojureCharacter', 'aqua') -call s:HL('clojureStringEscape', 'aqua') -call s:HL('clojureException', 'red') - -call s:HL('clojureRegexp', 'aqua') -call s:HL('clojureRegexpEscape', 'aqua') -call s:HL('clojureRegexpCharClass', 'light3', 'none', 'bold') -call s:HL('clojureRegexpMod', 'light3', 'none', 'bold') -call s:HL('clojureRegexpQuantifier', 'light3', 'none', 'bold') - -call s:HL('clojureParen', 'light3') -call s:HL('clojureAnonArg', 'yellow') -call s:HL('clojureVariable', 'blue') -call s:HL('clojureMacro', 'orange') - -call s:HL('clojureMeta', 'yellow') -call s:HL('clojureDeref', 'yellow') -call s:HL('clojureQuote', 'yellow') -call s:HL('clojureUnquote', 'yellow') +call s:HL('clojureKeyword', s:blue) +call s:HL('clojureCond', s:orange) +call s:HL('clojureSpecial', s:orange) +call s:HL('clojureDefine', s:orange) + +call s:HL('clojureFunc', s:yellow) +call s:HL('clojureRepeat', s:yellow) +call s:HL('clojureCharacter', s:aqua) +call s:HL('clojureStringEscape', s:aqua) +call s:HL('clojureException', s:red) + +call s:HL('clojureRegexp', s:aqua) +call s:HL('clojureRegexpEscape', s:aqua) +call s:HL('clojureRegexpCharClass', s:light3, 'NONE', s:bold) +call s:HL('clojureRegexpMod', s:light3, 'NONE', s:bold) +call s:HL('clojureRegexpQuantifier', s:light3, 'NONE', s:bold) + +call s:HL('clojureParen', s:light3) +call s:HL('clojureAnonArg', s:yellow) +call s:HL('clojureVariable', s:blue) +call s:HL('clojureMacro', s:orange) + +call s:HL('clojureMeta', s:yellow) +call s:HL('clojureDeref', s:yellow) +call s:HL('clojureQuote', s:yellow) +call s:HL('clojureUnquote', s:yellow) " }}} " C: {{{ -call s:HL('cOperator', 'purple') -call s:HL('cStructure', 'orange') +call s:HL('cOperator', s:purple) +call s:HL('cStructure', s:orange) " }}} " Python: {{{ -call s:HL('pythonBuiltin', 'orange') -call s:HL('pythonBuiltinObj', 'orange') -call s:HL('pythonBuiltinFunc', 'orange') -call s:HL('pythonFunction', 'aqua') -call s:HL('pythonDecorator', 'red') -call s:HL('pythonInclude', 'blue') -call s:HL('pythonImport', 'blue') -call s:HL('pythonRun', 'blue') -call s:HL('pythonCoding', 'blue') -call s:HL('pythonOperator', 'red') -call s:HL('pythonExceptions', 'purple') -call s:HL('pythonBoolean', 'purple') -call s:HL('pythonDot', 'light3') +call s:HL('pythonBuiltin', s:orange) +call s:HL('pythonBuiltinObj', s:orange) +call s:HL('pythonBuiltinFunc', s:orange) +call s:HL('pythonFunction', s:aqua) +call s:HL('pythonDecorator', s:red) +call s:HL('pythonInclude', s:blue) +call s:HL('pythonImport', s:blue) +call s:HL('pythonRun', s:blue) +call s:HL('pythonCoding', s:blue) +call s:HL('pythonOperator', s:red) +call s:HL('pythonExceptions', s:purple) +call s:HL('pythonBoolean', s:purple) +call s:HL('pythonDot', s:light3) " }}} " CSS: {{{ -call s:HL('cssBraces', 'blue') -call s:HL('cssFunctionName', 'yellow') -call s:HL('cssIdentifier', 'orange') -call s:HL('cssClassName', 'green') -call s:HL('cssColor', 'blue') -call s:HL('cssSelectorOp', 'blue') -call s:HL('cssSelectorOp2', 'blue') -call s:HL('cssImportant', 'green') -call s:HL('cssVendor', 'light1') - -call s:HL('cssTextProp', 'aqua') -call s:HL('cssAnimationProp', 'aqua') -call s:HL('cssUIProp', 'yellow') -call s:HL('cssTransformProp', 'aqua') -call s:HL('cssTransitionProp', 'aqua') -call s:HL('cssPrintProp', 'aqua') -call s:HL('cssPositioningProp', 'yellow') -call s:HL('cssBoxProp', 'aqua') -call s:HL('cssFontDescriptorProp', 'aqua') -call s:HL('cssFlexibleBoxProp', 'aqua') -call s:HL('cssBorderOutlineProp', 'aqua') -call s:HL('cssBackgroundProp', 'aqua') -call s:HL('cssMarginProp', 'aqua') -call s:HL('cssListProp', 'aqua') -call s:HL('cssTableProp', 'aqua') -call s:HL('cssFontProp', 'aqua') -call s:HL('cssPaddingProp', 'aqua') -call s:HL('cssDimensionProp', 'aqua') -call s:HL('cssRenderProp', 'aqua') -call s:HL('cssColorProp', 'aqua') -call s:HL('cssGeneratedContentProp', 'aqua') +call s:HL('cssBraces', s:blue) +call s:HL('cssFunctionName', s:yellow) +call s:HL('cssIdentifier', s:orange) +call s:HL('cssClassName', s:green) +call s:HL('cssColor', s:blue) +call s:HL('cssSelectorOp', s:blue) +call s:HL('cssSelectorOp2', s:blue) +call s:HL('cssImportant', s:green) +call s:HL('cssVendor', s:light1) + +call s:HL('cssTextProp', s:aqua) +call s:HL('cssAnimationProp', s:aqua) +call s:HL('cssUIProp', s:yellow) +call s:HL('cssTransformProp', s:aqua) +call s:HL('cssTransitionProp', s:aqua) +call s:HL('cssPrintProp', s:aqua) +call s:HL('cssPositioningProp', s:yellow) +call s:HL('cssBoxProp', s:aqua) +call s:HL('cssFontDescriptorProp', s:aqua) +call s:HL('cssFlexibleBoxProp', s:aqua) +call s:HL('cssBorderOutlineProp', s:aqua) +call s:HL('cssBackgroundProp', s:aqua) +call s:HL('cssMarginProp', s:aqua) +call s:HL('cssListProp', s:aqua) +call s:HL('cssTableProp', s:aqua) +call s:HL('cssFontProp', s:aqua) +call s:HL('cssPaddingProp', s:aqua) +call s:HL('cssDimensionProp', s:aqua) +call s:HL('cssRenderProp', s:aqua) +call s:HL('cssColorProp', s:aqua) +call s:HL('cssGeneratedContentProp', s:aqua) " }}} " JavaScript: {{{ -call s:HL('javaScriptBraces', 'light1') -call s:HL('javaScriptFunction', 'aqua') -call s:HL('javaScriptIdentifier', 'red') -call s:HL('javaScriptMember', 'blue') -call s:HL('javaScriptNumber', 'purple') -call s:HL('javaScriptNull', 'purple') -call s:HL('javaScriptParens', 'light3') +call s:HL('javaScriptBraces', s:light1) +call s:HL('javaScriptFunction', s:aqua) +call s:HL('javaScriptIdentifier', s:red) +call s:HL('javaScriptMember', s:blue) +call s:HL('javaScriptNumber', s:purple) +call s:HL('javaScriptNull', s:purple) +call s:HL('javaScriptParens', s:light3) " }}} " YAJS: {{{ -call s:HL('javascriptImport', 'aqua') -call s:HL('javascriptExport', 'aqua') -call s:HL('javascriptClassKeyword', 'aqua') -call s:HL('javascriptClassExtends', 'aqua') -call s:HL('javascriptDefault', 'aqua') - -call s:HL('javascriptClassName', 'yellow') -call s:HL('javascriptClassSuperName', 'yellow') -call s:HL('javascriptGlobal', 'yellow') - -call s:HL('javascriptEndColons', 'light1') -call s:HL('javascriptFuncArg', 'light1') -call s:HL('javascriptGlobalMethod', 'light1') -call s:HL('javascriptNodeGlobal', 'light1') - -" call s:HL('javascriptVariable', 'orange') -call s:HL('javascriptVariable', 'red') -" call s:HL('javascriptIdentifier', 'orange') -" call s:HL('javascriptClassSuper', 'orange') -call s:HL('javascriptIdentifier', 'orange') -call s:HL('javascriptClassSuper', 'orange') - -" call s:HL('javascriptFuncKeyword', 'orange') -" call s:HL('javascriptAsyncFunc', 'orange') -call s:HL('javascriptFuncKeyword', 'aqua') -call s:HL('javascriptAsyncFunc', 'aqua') -call s:HL('javascriptClassStatic', 'orange') - -call s:HL('javascriptOperator', 'red') -call s:HL('javascriptForOperator', 'red') -call s:HL('javascriptYield', 'red') -call s:HL('javascriptExceptions', 'red') -call s:HL('javascriptMessage', 'red') - -call s:HL('javascriptTemplateSB', 'aqua') -call s:HL('javascriptTemplateSubstitution', 'light1') - -" call s:HL('javascriptLabel', 'blue') -" call s:HL('javascriptObjectLabel', 'blue') -" call s:HL('javascriptPropertyName', 'blue') -call s:HL('javascriptLabel', 'light1') -call s:HL('javascriptObjectLabel', 'light1') -call s:HL('javascriptPropertyName', 'light1') - -call s:HL('javascriptLogicSymbols', 'light1') -call s:HL('javascriptArrowFunc', 'light1') - -call s:HL('javascriptDocParamName', 'light4') -call s:HL('javascriptDocTags', 'light4') -call s:HL('javascriptDocNotation', 'light4') -call s:HL('javascriptDocParamType', 'light4') -call s:HL('javascriptDocNamedParamType', 'light4') +call s:HL('javascriptImport', s:aqua) +call s:HL('javascriptExport', s:aqua) +call s:HL('javascriptClassKeyword', s:aqua) +call s:HL('javascriptClassExtends', s:aqua) +call s:HL('javascriptDefault', s:aqua) + +call s:HL('javascriptClassName', s:yellow) +call s:HL('javascriptClassSuperName', s:yellow) +call s:HL('javascriptGlobal', s:yellow) + +call s:HL('javascriptEndColons', s:light1) +call s:HL('javascriptFuncArg', s:light1) +call s:HL('javascriptGlobalMethod', s:light1) +call s:HL('javascriptNodeGlobal', s:light1) + +" call s:HL('javascriptVariable', s:orange) +call s:HL('javascriptVariable', s:red) +" call s:HL('javascriptIdentifier', s:orange) +" call s:HL('javascriptClassSuper', s:orange) +call s:HL('javascriptIdentifier', s:orange) +call s:HL('javascriptClassSuper', s:orange) + +" call s:HL('javascriptFuncKeyword', s:orange) +" call s:HL('javascriptAsyncFunc', s:orange) +call s:HL('javascriptFuncKeyword', s:aqua) +call s:HL('javascriptAsyncFunc', s:aqua) +call s:HL('javascriptClassStatic', s:orange) + +call s:HL('javascriptOperator', s:red) +call s:HL('javascriptForOperator', s:red) +call s:HL('javascriptYield', s:red) +call s:HL('javascriptExceptions', s:red) +call s:HL('javascriptMessage', s:red) + +call s:HL('javascriptTemplateSB', s:aqua) +call s:HL('javascriptTemplateSubstitution', s:light1) + +" call s:HL('javascriptLabel', s:blue) +" call s:HL('javascriptObjectLabel', s:blue) +" call s:HL('javascriptPropertyName', s:blue) +call s:HL('javascriptLabel', s:light1) +call s:HL('javascriptObjectLabel', s:light1) +call s:HL('javascriptPropertyName', s:light1) + +call s:HL('javascriptLogicSymbols', s:light1) +call s:HL('javascriptArrowFunc', s:light1) + +call s:HL('javascriptDocParamName', s:light4) +call s:HL('javascriptDocTags', s:light4) +call s:HL('javascriptDocNotation', s:light4) +call s:HL('javascriptDocParamType', s:light4) +call s:HL('javascriptDocNamedParamType', s:light4) " }}} " CoffeeScript: {{{ -call s:HL('coffeeExtendedOp', 'light3') -call s:HL('coffeeSpecialOp', 'light3') -call s:HL('coffeeCurly', 'orange') -call s:HL('coffeeParen', 'light3') -call s:HL('coffeeBracket', 'orange') +call s:HL('coffeeExtendedOp', s:light3) +call s:HL('coffeeSpecialOp', s:light3) +call s:HL('coffeeCurly', s:orange) +call s:HL('coffeeParen', s:light3) +call s:HL('coffeeBracket', s:orange) " }}} " Ruby: {{{ -call s:HL('rubyStringDelimiter', 'green') -call s:HL('rubyInterpolationDelimiter', 'aqua') +call s:HL('rubyStringDelimiter', s:green) +call s:HL('rubyInterpolationDelimiter', s:aqua) " }}} " ObjectiveC: {{{ -call s:HL('objcTypeModifier', 'red') -call s:HL('objcDirective', 'blue') +call s:HL('objcTypeModifier', s:red) +call s:HL('objcDirective', s:blue) " }}} " Go: {{{ -call s:HL('goDirective', 'aqua') -call s:HL('goConstants', 'purple') -call s:HL('goDeclaration', 'red') -call s:HL('goDeclType', 'blue') -call s:HL('goBuiltins', 'orange') +call s:HL('goDirective', s:aqua) +call s:HL('goConstants', s:purple) +call s:HL('goDeclaration', s:red) +call s:HL('goDeclType', s:blue) +call s:HL('goBuiltins', s:orange) " }}} " Lua: {{{ -call s:HL('luaIn', 'red') -call s:HL('luaFunction', 'aqua') -call s:HL('luaTable', 'orange') +call s:HL('luaIn', s:red) +call s:HL('luaFunction', s:aqua) +call s:HL('luaTable', s:orange) " }}} " MoonScript: {{{ -call s:HL('moonSpecialOp', 'light3') -call s:HL('moonExtendedOp', 'light3') -call s:HL('moonFunction', 'light3') -call s:HL('moonObject', 'yellow') +call s:HL('moonSpecialOp', s:light3) +call s:HL('moonExtendedOp', s:light3) +call s:HL('moonFunction', s:light3) +call s:HL('moonObject', s:yellow) " }}} " Java: {{{ -call s:HL('javaAnnotation', 'blue') -call s:HL('javaDocTags', 'aqua') +call s:HL('javaAnnotation', s:blue) +call s:HL('javaDocTags', s:aqua) hi! link javaCommentTitle vimCommentTitle -call s:HL('javaParen', 'light3') -call s:HL('javaParen1', 'light3') -call s:HL('javaParen2', 'light3') -call s:HL('javaParen3', 'light3') -call s:HL('javaParen4', 'light3') -call s:HL('javaParen5', 'light3') -call s:HL('javaOperator', 'orange') +call s:HL('javaParen', s:light3) +call s:HL('javaParen1', s:light3) +call s:HL('javaParen2', s:light3) +call s:HL('javaParen3', s:light3) +call s:HL('javaParen4', s:light3) +call s:HL('javaParen5', s:light3) +call s:HL('javaOperator', s:orange) -call s:HL('javaVarArg', 'green') +call s:HL('javaVarArg', s:green) " }}} " Elixir: {{{ hi! link elixirDocString Comment -call s:HL('elixirStringDelimiter', 'green') -call s:HL('elixirInterpolationDelimiter', 'aqua') +call s:HL('elixirStringDelimiter', s:green) +call s:HL('elixirInterpolationDelimiter', s:aqua) " }}} " Scala: {{{ " NB: scala vim syntax file is kinda horrible -call s:HL('scalaNameDefinition', 'light1') -call s:HL('scalaCaseFollowing', 'light1') -call s:HL('scalaCapitalWord', 'light1') -call s:HL('scalaTypeExtension', 'light1') +call s:HL('scalaNameDefinition', s:light1) +call s:HL('scalaCaseFollowing', s:light1) +call s:HL('scalaCapitalWord', s:light1) +call s:HL('scalaTypeExtension', s:light1) -call s:HL('scalaKeyword', 'red') -call s:HL('scalaKeywordModifier', 'red') +call s:HL('scalaKeyword', s:red) +call s:HL('scalaKeywordModifier', s:red) -call s:HL('scalaSpecial', 'aqua') -call s:HL('scalaOperator', 'light1') +call s:HL('scalaSpecial', s:aqua) +call s:HL('scalaOperator', s:light1) -call s:HL('scalaTypeDeclaration', 'yellow') -call s:HL('scalaTypeTypePostDeclaration', 'yellow') +call s:HL('scalaTypeDeclaration', s:yellow) +call s:HL('scalaTypeTypePostDeclaration', s:yellow) -call s:HL('scalaInstanceDeclaration', 'light1') -call s:HL('scalaInterpolation', 'aqua') +call s:HL('scalaInstanceDeclaration', s:light1) +call s:HL('scalaInterpolation', s:aqua) " }}} " Markdown: {{{ -call s:HL('markdownItalic', 'light3', 'none', 'italic') +call s:HL('markdownItalic', s:light3, 'NONE', s:italic) -call s:HL('markdownH1', 'green', 'none', 'bold') -call s:HL('markdownH2', 'green', 'none', 'bold') -call s:HL('markdownH3', 'yellow', 'none', 'bold') -call s:HL('markdownH4', 'yellow', 'none', 'bold') -call s:HL('markdownH5', 'yellow') -call s:HL('markdownH6', 'yellow') +call s:HL('markdownH1', s:green, 'NONE', s:bold) +call s:HL('markdownH2', s:green, 'NONE', s:bold) +call s:HL('markdownH3', s:yellow, 'NONE', s:bold) +call s:HL('markdownH4', s:yellow, 'NONE', s:bold) +call s:HL('markdownH5', s:yellow) +call s:HL('markdownH6', s:yellow) -call s:HL('markdownCode', 'aqua') -call s:HL('markdownCodeBlock', 'aqua') -call s:HL('markdownCodeDelimiter', 'aqua') +call s:HL('markdownCode', s:aqua) +call s:HL('markdownCodeBlock', s:aqua) +call s:HL('markdownCodeDelimiter', s:aqua) -call s:HL('markdownBlockquote', 'medium') -call s:HL('markdownListMarker', 'medium') -call s:HL('markdownOrderedListMarker', 'medium') -call s:HL('markdownRule', 'medium') -call s:HL('markdownHeadingRule', 'medium') +call s:HL('markdownBlockquote', s:medium) +call s:HL('markdownListMarker', s:medium) +call s:HL('markdownOrderedListMarker', s:medium) +call s:HL('markdownRule', s:medium) +call s:HL('markdownHeadingRule', s:medium) -call s:HL('markdownUrlDelimiter', 'light3') -call s:HL('markdownLinkDelimiter', 'light3') -call s:HL('markdownLinkTextDelimiter', 'light3') +call s:HL('markdownUrlDelimiter', s:light3) +call s:HL('markdownLinkDelimiter', s:light3) +call s:HL('markdownLinkTextDelimiter', s:light3) -call s:HL('markdownHeadingDelimiter', 'orange') -call s:HL('markdownUrl', 'purple') -call s:HL('markdownUrlTitleDelimiter', 'green') +call s:HL('markdownHeadingDelimiter', s:orange) +call s:HL('markdownUrl', s:purple) +call s:HL('markdownUrlTitleDelimiter', s:green) -call s:HL('markdownLinkText', 'medium', 'none', 'underline') -call s:HL('markdownIdDeclaration', 'medium', 'none', 'underline') +call s:HL('markdownLinkText', s:medium, 'NONE', s:underline) +call s:HL('markdownIdDeclaration', s:medium, 'NONE', s:underline) " }}} " Haskell: {{{ -" call s:HL('haskellType', 'yellow') -" call s:HL('haskellOperators', 'orange') -" call s:HL('haskellConditional', 'aqua') -" call s:HL('haskellLet', 'orange') +" call s:HL('haskellType', s:yellow) +" call s:HL('haskellOperators', s:orange) +" call s:HL('haskellConditional', s:aqua) +" call s:HL('haskellLet', s:orange) " -call s:HL('haskellType', 'light1') -call s:HL('haskellIdentifier', 'light1') -call s:HL('haskellSeparator', 'light1') -call s:HL('haskellDelimiter', 'light4') -call s:HL('haskellOperators', 'blue') +call s:HL('haskellType', s:light1) +call s:HL('haskellIdentifier', s:light1) +call s:HL('haskellSeparator', s:light1) +call s:HL('haskellDelimiter', s:light4) +call s:HL('haskellOperators', s:blue) " -call s:HL('haskellBacktick', 'orange') -call s:HL('haskellStatement', 'orange') -call s:HL('haskellConditional', 'orange') - -call s:HL('haskellLet', 'aqua') -call s:HL('haskellDefault', 'aqua') -call s:HL('haskellWhere', 'aqua') -call s:HL('haskellBottom', 'aqua') -call s:HL('haskellBlockKeywords', 'aqua') -call s:HL('haskellImportKeywords', 'aqua') -call s:HL('haskellDeclKeyword', 'aqua') -call s:HL('haskellDeriving', 'aqua') -call s:HL('haskellAssocType', 'aqua') - -call s:HL('haskellNumber', 'purple') -call s:HL('haskellPragma', 'purple') - -call s:HL('haskellString', 'green') -call s:HL('haskellChar', 'green') +call s:HL('haskellBacktick', s:orange) +call s:HL('haskellStatement', s:orange) +call s:HL('haskellConditional', s:orange) + +call s:HL('haskellLet', s:aqua) +call s:HL('haskellDefault', s:aqua) +call s:HL('haskellWhere', s:aqua) +call s:HL('haskellBottom', s:aqua) +call s:HL('haskellBlockKeywords', s:aqua) +call s:HL('haskellImportKeywords', s:aqua) +call s:HL('haskellDeclKeyword', s:aqua) +call s:HL('haskellDeriving', s:aqua) +call s:HL('haskellAssocType', s:aqua) + +call s:HL('haskellNumber', s:purple) +call s:HL('haskellPragma', s:purple) + +call s:HL('haskellString', s:green) +call s:HL('haskellChar', s:green) " }}} " Json: {{{ -call s:HL('jsonKeyword', 'green') -call s:HL('jsonQuote', 'green') -call s:HL('jsonBraces', 'light1') -call s:HL('jsonString', 'light1') +call s:HL('jsonKeyword', s:green) +call s:HL('jsonQuote', s:green) +call s:HL('jsonBraces', s:light1) +call s:HL('jsonString', s:light1) " }}} @@ -1170,19 +1112,19 @@ call s:HL('jsonString', 'light1') " Search Highlighting Cursor {{{ function! GruvboxHlsShowCursor() - call s:HL('Cursor', 'dark0', g:gruvbox_hls_cursor) - call s:HL('vCursor', 'dark0', g:gruvbox_hls_cursor) - call s:HL('iCursor', 'dark0', g:gruvbox_hls_cursor) - call s:HL('lCursor', 'dark0', g:gruvbox_hls_cursor) + call s:HL('Cursor', s:dark0, s:hls_cursor) + call s:HL('vCursor', s:dark0, s:hls_cursor) + call s:HL('iCursor', s:dark0, s:hls_cursor) + call s:HL('lCursor', s:dark0, s:hls_cursor) endfunction function! GruvboxHlsHideCursor() - call s:HL('Cursor', 'none', 'none', 'inverse') - call s:HL('vCursor', 'none', 'none', 'inverse') - call s:HL('iCursor', 'none', 'none', 'inverse') - call s:HL('lCursor', 'none', 'none', 'inverse') + call s:HL('Cursor', 'NONE', 'NONE', s:inverse) + call s:HL('vCursor', 'NONE', 'NONE', s:inverse) + call s:HL('iCursor', 'NONE', 'NONE', s:inverse) + call s:HL('lCursor', 'NONE', 'NONE', s:inverse) endfunction " }}} -" vim: set sw=3 ts=3 sts=3 noet tw=80 ft=vim fdm=marker: +" vim: set sw=2 ts=2 sts=2 et tw=80 ft=vim fdm=marker: From 5ff71877fca267bd12ddb82edde8bb1b97568980 Mon Sep 17 00:00:00 2001 From: Pavel Pertsev Date: Wed, 2 Sep 2015 18:46:29 +0300 Subject: [PATCH 02/10] rename colors --- colors/gruvbox.vim | 348 ++++++++++++++++++++++----------------------- 1 file changed, 174 insertions(+), 174 deletions(-) diff --git a/colors/gruvbox.vim b/colors/gruvbox.vim index 7e01f397..c7ee96a9 100644 --- a/colors/gruvbox.vim +++ b/colors/gruvbox.vim @@ -108,21 +108,21 @@ if g:gruvbox_inverse == 0 endif if s:is_dark - let s:dark0 = ['#282828', 235] " 40-40-40 - let s:dark1 = ['#3c3836', 237] " 60-56-54 - let s:dark2 = ['#504945', 239] " 80-73-69 - let s:dark3 = ['#665c54', 241] " 102-92-84 - let s:dark4 = ['#7c6f64', 243] " 124-111-100 + let s:bg0 = ['#282828', 235] " 40-40-40 + let s:bg1 = ['#3c3836', 237] " 60-56-54 + let s:bg2 = ['#504945', 239] " 80-73-69 + let s:bg3 = ['#665c54', 241] " 102-92-84 + let s:bg4 = ['#7c6f64', 243] " 124-111-100 - let s:medium = ['#928374', 245] " 146-131-116 + let s:gray = ['#928374', 245] " 146-131-116 - let s:light0 = ['#fbf1c7', 229] " 251-241-199 - let s:light1 = ['#ebdbb2', 223] " 235-219-178 - let s:light2 = ['#d5c4a1', 250] " 213-196-161 - let s:light3 = ['#bdae93', 248] " 189-174-147 - let s:light4 = ['#a89984', 246] " 168-153-132 + let s:fg0 = ['#fbf1c7', 229] " 251-241-199 + let s:fg1 = ['#ebdbb2', 223] " 235-219-178 + let s:fg2 = ['#d5c4a1', 250] " 213-196-161 + let s:fg3 = ['#bdae93', 248] " 189-174-147 + let s:fg4 = ['#a89984', 246] " 168-153-132 - let s:light4_256 = ['#a89984', 246] " 168-153-132 + let s:fg4_256 = ['#a89984', 246] " 168-153-132 let s:red = ['#fb4934', 167] " 251-73-52 let s:green = ['#b8bb26', 142] " 184-187-38 @@ -133,45 +133,45 @@ if s:is_dark let s:orange = ['#fe8019', 208] " 254-128-25 if g:gruvbox_termcolors == 16 - let s:dark0 = ['#282828', 0] - let s:light4 = ['#a89984', 7] - let s:medium = ['#928374', 8] + let s:bg0 = ['#282828', 0] + let s:fg4 = ['#a89984', 7] + let s:gray = ['#928374', 8] let s:red = ['#fb4934', 9] let s:green = ['#b8bb26', 10] let s:yellow = ['#fabd2f', 11] let s:blue = ['#83a598', 12] let s:purple = ['#d3869b', 13] let s:aqua = ['#8ec07c', 14] - let s:light1 = ['#ebdbb2', 15] + let s:fg1 = ['#ebdbb2', 15] endif if g:gruvbox_contrast == 'soft' - let s:dark0 = ['#32302f', 236] " 50-48-47 + let s:bg0 = ['#32302f', 236] " 50-48-47 elseif g:gruvbox_contrast == 'hard' - let s:dark0 = ['#1d2021', 234] " 29-32-33 + let s:bg0 = ['#1d2021', 234] " 29-32-33 endif if g:gruvbox_contrast_dark == 'soft' - let s:dark0 = ['#32302f', 236] " 50-48-47 + let s:bg0 = ['#32302f', 236] " 50-48-47 elseif g:gruvbox_contrast_dark == 'hard' - let s:dark0 = ['#1d2021', 234] " 29-32-33 + let s:bg0 = ['#1d2021', 234] " 29-32-33 endif else - let s:dark0 = ['#fbf1c7', 229] " 251-241-199 - let s:dark1 = ['#ebdbb2', 223] " 235-219-178 - let s:dark2 = ['#d5c4a1', 250] " 213-196-161 - let s:dark3 = ['#bdae93', 248] " 189-174-147 - let s:dark4 = ['#a89984', 246] " 168-153-132 + let s:bg0 = ['#fbf1c7', 229] " 251-241-199 + let s:bg1 = ['#ebdbb2', 223] " 235-219-178 + let s:bg2 = ['#d5c4a1', 250] " 213-196-161 + let s:bg3 = ['#bdae93', 248] " 189-174-147 + let s:bg4 = ['#a89984', 246] " 168-153-132 - let s:medium = ['#928374', 244] " 146-131-116 + let s:gray = ['#928374', 244] " 146-131-116 - let s:light0 = ['#282828', 235] " 40-40-40 - let s:light1 = ['#3c3836', 237] " 60-56-54 - let s:light2 = ['#504945', 239] " 80-73-69 - let s:light3 = ['#665c54', 241] " 102-92-84 - let s:light4 = ['#7c6f64', 243] " 124-111-100 + let s:fg0 = ['#282828', 235] " 40-40-40 + let s:fg1 = ['#3c3836', 237] " 60-56-54 + let s:fg2 = ['#504945', 239] " 80-73-69 + let s:fg3 = ['#665c54', 241] " 102-92-84 + let s:fg4 = ['#7c6f64', 243] " 124-111-100 - let s:light4_256 = ['#7c6f64', 243] " 124-111-100 + let s:fg4_256 = ['#7c6f64', 243] " 124-111-100 let s:red = ['#9d0006', 88] " 157-0-6 let s:green = ['#79740e', 100] " 121-116-14 @@ -182,28 +182,28 @@ else let s:orange = ['#af3a03', 130] " 175-58-3 if g:gruvbox_termcolors == 16 - let s:dark0 = ['#fbf1c7', 0] - let s:light4 = ['#7c6f64', 7] - let s:medium = ['#928374', 8] + let s:bg0 = ['#fbf1c7', 0] + let s:fg4 = ['#7c6f64', 7] + let s:gray = ['#928374', 8] let s:red = ['#9d0006', 9] let s:green = ['#79740e', 10] let s:yellow = ['#b57614', 11] let s:blue = ['#076678', 12] let s:purple = ['#8f3f71', 13] let s:aqua = ['#427b58', 14] - let s:light1 = ['#3c3836', 15] + let s:fg1 = ['#3c3836', 15] endif if g:gruvbox_contrast == 'soft' - let s:dark0 = ['#f2e5bc', 228] " 242-229-188 + let s:bg0 = ['#f2e5bc', 228] " 242-229-188 elseif g:gruvbox_contrast == 'hard' - let s:dark0 = ['#f9f5d7', 230] " 249-245-215 + let s:bg0 = ['#f9f5d7', 230] " 249-245-215 endif if g:gruvbox_contrast_light == 'soft' - let s:dark0 = ['#f2e5bc', 228] " 242-229-188 + let s:bg0 = ['#f2e5bc', 228] " 242-229-188 elseif g:gruvbox_contrast_light == 'hard' - let s:dark0 = ['#f9f5d7', 230] " 249-245-215 + let s:bg0 = ['#f9f5d7', 230] " 249-245-215 endif endif @@ -215,8 +215,8 @@ if exists('g:gruvbox_hls_cursor') let s:hls_cursor = g:gruvbox_hls_cursor endif -let s:number_column = s:dark4 -let s:sign_column = s:dark1 +let s:number_column = s:bg4 +let s:sign_column = s:bg1 if exists('g:gitgutter_override_sign_column_highlight') && \ g:gitgutter_override_sign_column_highlight == 1 @@ -229,12 +229,12 @@ else endif endif -let s:color_column = s:dark1 +let s:color_column = s:bg1 if exists('g:gruvbox_color_column') let s:color_column = g:gruvbox_color_column endif -let s:vert_split = s:dark2 +let s:vert_split = s:bg2 if exists('g:gruvbox_vert_split') let s:vert_split = g:gruvbox_vert_split endif @@ -339,7 +339,7 @@ endfunction " General UI: {{{ " Normal text -call s:HL('Normal', s:light1, s:dark0) +call s:HL('Normal', s:fg1, s:bg0) " Correct background (see issue #7): " --- Problem with changing between dark and light on 256 color terminal @@ -352,19 +352,19 @@ endif if version >= 700 " Screen line that the cursor is - call s:HL('CursorLine', 'NONE', s:dark1) + call s:HL('CursorLine', 'NONE', s:bg1) " Screen column that the cursor is - call s:HL('CursorColumn', 'NONE', s:dark1) + call s:HL('CursorColumn', 'NONE', s:bg1) " Tab pages line filler - call s:HL('TabLineFill', s:dark4, 'bg', s:invert_tabline) + call s:HL('TabLineFill', s:bg4, 'bg', s:invert_tabline) " Active tab page label - call s:HL('TabLineSel', 'bg', s:dark4, s:bold . s:invert_tabline) + call s:HL('TabLineSel', 'bg', s:bg4, s:bold . s:invert_tabline) " Not active tab page label - call s:HL('TabLine', s:dark4, 'bg', s:invert_tabline) + call s:HL('TabLine', s:bg4, 'bg', s:invert_tabline) " Match paired bracket under the cursor - call s:HL('MatchParen', 'NONE', s:dark3, s:bold) + call s:HL('MatchParen', 'NONE', s:bg3, s:bold) endif if version >= 703 @@ -375,28 +375,28 @@ if version >= 703 call s:HL('Conceal', s:blue, 'NONE') " Line number of CursorLine - call s:HL('CursorLineNr', s:yellow, s:dark1) + call s:HL('CursorLineNr', s:yellow, s:bg1) endif -call s:HL('NonText', s:dark2) -call s:HL('SpecialKey', s:dark2) +call s:HL('NonText', s:bg2) +call s:HL('SpecialKey', s:bg2) -call s:HL('Visual', 'NONE', s:dark3, s:invert_selection) -call s:HL('VisualNOS', 'NONE', s:dark3, s:invert_selection) +call s:HL('Visual', 'NONE', s:bg3, s:invert_selection) +call s:HL('VisualNOS', 'NONE', s:bg3, s:invert_selection) -call s:HL('Search', s:dark0, s:yellow) -call s:HL('IncSearch', s:dark0, s:hls_cursor) +call s:HL('Search', s:bg0, s:yellow) +call s:HL('IncSearch', s:bg0, s:hls_cursor) call s:HL('Underlined', s:blue, 'NONE', s:underline) -call s:HL('StatusLine', s:dark4, s:dark0, s:bold . s:inverse) -call s:HL('StatusLineNC', s:dark2, s:light4, s:bold . s:inverse) +call s:HL('StatusLine', s:bg4, s:bg0, s:bold . s:inverse) +call s:HL('StatusLineNC', s:bg2, s:fg4, s:bold . s:inverse) " The column separating vertically split windows -call s:HL('VertSplit', s:light4, s:vert_split) +call s:HL('VertSplit', s:fg4, s:vert_split) " Current match in wildmenu completion -call s:HL('WildMenu', s:blue, s:dark2, s:bold) +call s:HL('WildMenu', s:blue, s:bg2, s:bold) " Directory names, special names in listing call s:HL('Directory', s:green, 'NONE', s:bold) @@ -425,9 +425,9 @@ call s:HL('LineNr', s:number_column) call s:HL('SignColumn', 'NONE', s:sign_column) " Line used for closed folds -call s:HL('Folded', s:medium, s:dark1, s:italic) +call s:HL('Folded', s:gray, s:bg1, s:italic) " Column where folds are displayed -call s:HL('FoldColumn', s:medium, s:dark1) +call s:HL('FoldColumn', s:gray, s:bg1) " }}} " Cursor: {{{ @@ -447,10 +447,10 @@ call s:HL('lCursor', 'NONE', 'NONE', s:inverse) if g:gruvbox_improved_strings == 0 call s:HL('Special', s:orange) else - call s:HL('Special', s:dark1, s:orange, s:italic) + call s:HL('Special', s:bg1, s:orange, s:italic) endif -call s:HL('Comment', s:medium, 'NONE', s:italicize_comments) +call s:HL('Comment', s:gray, 'NONE', s:italicize_comments) call s:HL('Todo', 'fg', 'bg', s:bold) call s:HL('Error', s:red, 'bg', s:bold . s:inverse) @@ -493,7 +493,7 @@ call s:HL('Character', s:purple) if g:gruvbox_improved_strings == 0 call s:HL('String', s:green, 'NONE', s:italicize_strings) else - call s:HL('String', s:dark1, s:light1, s:italicize_strings) + call s:HL('String', s:bg1, s:fg1, s:italicize_strings) endif " Boolean constant: TRUE, false call s:HL('Boolean', s:purple) @@ -516,26 +516,26 @@ call s:HL('Typedef', s:yellow) if version >= 700 " Popup menu: normal item - call s:HL('Pmenu', s:light1, s:dark2) + call s:HL('Pmenu', s:fg1, s:bg2) " Popup menu: selected item - call s:HL('PmenuSel', s:dark2, s:blue, s:bold) + call s:HL('PmenuSel', s:bg2, s:blue, s:bold) " Popup menu: scrollbar - call s:HL('PmenuSbar', 'NONE', s:dark2) + call s:HL('PmenuSbar', 'NONE', s:bg2) " Popup menu: scrollbar thumb - call s:HL('PmenuThumb', 'NONE', s:dark4) + call s:HL('PmenuThumb', 'NONE', s:bg4) endif " }}} " Diffs: {{{ -call s:HL('DiffDelete', s:red, s:dark0, s:inverse) -call s:HL('DiffAdd', s:green, s:dark0, s:inverse) -"call s:HL('DiffChange', s:dark0, s:blue) -"call s:HL('DiffText', s:dark0, s:yellow) +call s:HL('DiffDelete', s:red, s:bg0, s:inverse) +call s:HL('DiffAdd', s:green, s:bg0, s:inverse) +"call s:HL('DiffChange', s:bg0, s:blue) +"call s:HL('DiffText', s:bg0, s:yellow) " Alternative setting -call s:HL('DiffChange', s:aqua, s:dark0, s:inverse) -call s:HL('DiffText', s:yellow, s:dark0, s:inverse) +call s:HL('DiffChange', s:aqua, s:bg0, s:inverse) +call s:HL('DiffText', s:yellow, s:bg0, s:inverse) " }}} " Spelling: {{{ @@ -580,11 +580,11 @@ endif if g:indent_guides_auto_colors == 0 if g:gruvbox_invert_indent_guides == 0 - call s:HL('IndentGuidesOdd', 'bg', s:dark2) - call s:HL('IndentGuidesEven', 'bg', s:dark1) + call s:HL('IndentGuidesOdd', 'bg', s:bg2) + call s:HL('IndentGuidesEven', 'bg', s:bg1) else - call s:HL('IndentGuidesOdd', 'bg', s:dark2, s:inverse) - call s:HL('IndentGuidesEven', 'bg', s:dark3, s:inverse) + call s:HL('IndentGuidesOdd', 'bg', s:bg2, s:inverse) + call s:HL('IndentGuidesEven', 'bg', s:bg3, s:inverse) endif endif @@ -592,10 +592,10 @@ endif " IndentLine: {{{ if !exists('g:indentLine_color_term') - let g:indentLine_color_term = s:dark2[1] + let g:indentLine_color_term = s:bg2[1] endif if !exists('g:indentLine_color_gui') - let g:indentLine_color_gui = s:dark2[0] + let g:indentLine_color_gui = s:bg2[0] endif " }}} @@ -677,35 +677,35 @@ call s:HL('ShowMarksHLm', s:blue, s:sign_column, s:invert_signs) call s:HL('CtrlPMatch', s:yellow) call s:HL('CtrlPNoEntries', s:red) -call s:HL('CtrlPPrtBase', s:dark2) +call s:HL('CtrlPPrtBase', s:bg2) call s:HL('CtrlPPrtCursor', s:blue) -call s:HL('CtrlPLinePre', s:dark2) +call s:HL('CtrlPLinePre', s:bg2) -call s:HL('CtrlPMode1', s:blue, s:dark2, s:bold) -call s:HL('CtrlPMode2', s:dark0, s:blue, s:bold) -call s:HL('CtrlPStats', s:light4, s:dark2, 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('CtrlPStats', s:fg4, s:bg2, s:bold) " }}} " Startify: {{{ -call s:HL('StartifyBracket', s:light3) -call s:HL('StartifyFile', s:light0) +call s:HL('StartifyBracket', s:fg3) +call s:HL('StartifyFile', s:fg0) call s:HL('StartifyNumber', s:blue) -call s:HL('StartifyPath', s:medium) -call s:HL('StartifySlash', s:medium) +call s:HL('StartifyPath', s:gray) +call s:HL('StartifySlash', s:gray) call s:HL('StartifySection', s:yellow) -call s:HL('StartifySpecial', s:dark2) +call s:HL('StartifySpecial', s:bg2) call s:HL('StartifyHeader', s:orange) -call s:HL('StartifyFooter', s:dark2) +call s:HL('StartifyFooter', s:bg2) " }}} " Vimshell: {{{ let g:vimshell_escape_colors = [ - \ s:dark4[0], s:red[0], s:green[0], s:yellow[0], - \ s:blue[0], s:purple[0], s:aqua[0], s:light4[0], - \ s:dark0[0], s:red[0], s:green[0], s:orange[0], - \ s:blue[0], s:purple[0], s:aqua[0], s:light0[0] + \ s:bg4[0], s:red[0], s:green[0], s:yellow[0], + \ s:blue[0], s:purple[0], s:aqua[0], s:fg4[0], + \ s:bg0[0], s:red[0], s:green[0], s:orange[0], + \ s:blue[0], s:purple[0], s:aqua[0], s:fg0[0] \ ] " }}} @@ -732,10 +732,10 @@ call s:HL('htmlTagName', s:aqua, 'NONE', s:bold) call s:HL('htmlArg', s:aqua) call s:HL('htmlScriptTag', s:purple) -call s:HL('htmlTagN', s:light1) +call s:HL('htmlTagN', s:fg1) call s:HL('htmlSpecialTagName', s:aqua, 'NONE', s:bold) -call s:HL('htmlLink', s:light4, 'NONE', s:underline) +call s:HL('htmlLink', s:fg4, 'NONE', s:underline) call s:HL('htmlSpecialChar', s:orange) @@ -757,33 +757,33 @@ call s:HL('xmlTagName', s:blue) call s:HL('xmlEqual', s:blue) call s:HL('docbkKeyword', s:aqua, 'NONE', s:bold) -call s:HL('xmlDocTypeDecl', s:medium) +call s:HL('xmlDocTypeDecl', s:gray) call s:HL('xmlDocTypeKeyword', s:purple) -call s:HL('xmlCdataStart', s:medium) +call s:HL('xmlCdataStart', s:gray) call s:HL('xmlCdataCdata', s:purple) -call s:HL('dtdFunction', s:medium) +call s:HL('dtdFunction', s:gray) call s:HL('dtdTagName', s:purple) call s:HL('xmlAttrib', s:aqua) -call s:HL('xmlProcessingDelim', s:medium) -call s:HL('dtdParamEntityPunct', s:medium) -call s:HL('dtdParamEntityDPunct', s:medium) -call s:HL('xmlAttribPunct', s:medium) +call s:HL('xmlProcessingDelim', s:gray) +call s:HL('dtdParamEntityPunct', s:gray) +call s:HL('dtdParamEntityDPunct', s:gray) +call s:HL('xmlAttribPunct', s:gray) call s:HL('xmlEntity', s:orange) call s:HL('xmlEntityPunct', s:orange) " }}} " Vim: {{{ -call s:HL('vimCommentTitle', s:light4_256, 'NONE', s:bold . s:italicize_comments) +call s:HL('vimCommentTitle', s:fg4_256, 'NONE', s:bold . s:italicize_comments) call s:HL('vimNotation', s:orange) call s:HL('vimBracket', s:orange) call s:HL('vimMapModKey', s:orange) -call s:HL('vimFuncSID', s:light3) -call s:HL('vimSetSep', s:light3) -call s:HL('vimSep', s:light3) -call s:HL('vimContinue', s:light3) +call s:HL('vimFuncSID', s:fg3) +call s:HL('vimSetSep', s:fg3) +call s:HL('vimSep', s:fg3) +call s:HL('vimContinue', s:fg3) " }}} " Clojure: {{{ @@ -801,11 +801,11 @@ call s:HL('clojureException', s:red) call s:HL('clojureRegexp', s:aqua) call s:HL('clojureRegexpEscape', s:aqua) -call s:HL('clojureRegexpCharClass', s:light3, 'NONE', s:bold) -call s:HL('clojureRegexpMod', s:light3, 'NONE', s:bold) -call s:HL('clojureRegexpQuantifier', s:light3, 'NONE', s:bold) +call s:HL('clojureRegexpCharClass', s:fg3, 'NONE', s:bold) +call s:HL('clojureRegexpMod', s:fg3, 'NONE', s:bold) +call s:HL('clojureRegexpQuantifier', s:fg3, 'NONE', s:bold) -call s:HL('clojureParen', s:light3) +call s:HL('clojureParen', s:fg3) call s:HL('clojureAnonArg', s:yellow) call s:HL('clojureVariable', s:blue) call s:HL('clojureMacro', s:orange) @@ -836,7 +836,7 @@ call s:HL('pythonCoding', s:blue) call s:HL('pythonOperator', s:red) call s:HL('pythonExceptions', s:purple) call s:HL('pythonBoolean', s:purple) -call s:HL('pythonDot', s:light3) +call s:HL('pythonDot', s:fg3) " }}} " CSS: {{{ @@ -849,7 +849,7 @@ call s:HL('cssColor', s:blue) call s:HL('cssSelectorOp', s:blue) call s:HL('cssSelectorOp2', s:blue) call s:HL('cssImportant', s:green) -call s:HL('cssVendor', s:light1) +call s:HL('cssVendor', s:fg1) call s:HL('cssTextProp', s:aqua) call s:HL('cssAnimationProp', s:aqua) @@ -876,13 +876,13 @@ call s:HL('cssGeneratedContentProp', s:aqua) " }}} " JavaScript: {{{ -call s:HL('javaScriptBraces', s:light1) +call s:HL('javaScriptBraces', s:fg1) call s:HL('javaScriptFunction', s:aqua) call s:HL('javaScriptIdentifier', s:red) call s:HL('javaScriptMember', s:blue) call s:HL('javaScriptNumber', s:purple) call s:HL('javaScriptNull', s:purple) -call s:HL('javaScriptParens', s:light3) +call s:HL('javaScriptParens', s:fg3) " }}} " YAJS: {{{ @@ -897,10 +897,10 @@ call s:HL('javascriptClassName', s:yellow) call s:HL('javascriptClassSuperName', s:yellow) call s:HL('javascriptGlobal', s:yellow) -call s:HL('javascriptEndColons', s:light1) -call s:HL('javascriptFuncArg', s:light1) -call s:HL('javascriptGlobalMethod', s:light1) -call s:HL('javascriptNodeGlobal', s:light1) +call s:HL('javascriptEndColons', s:fg1) +call s:HL('javascriptFuncArg', s:fg1) +call s:HL('javascriptGlobalMethod', s:fg1) +call s:HL('javascriptNodeGlobal', s:fg1) " call s:HL('javascriptVariable', s:orange) call s:HL('javascriptVariable', s:red) @@ -922,31 +922,31 @@ call s:HL('javascriptExceptions', s:red) call s:HL('javascriptMessage', s:red) call s:HL('javascriptTemplateSB', s:aqua) -call s:HL('javascriptTemplateSubstitution', s:light1) +call s:HL('javascriptTemplateSubstitution', s:fg1) " call s:HL('javascriptLabel', s:blue) " call s:HL('javascriptObjectLabel', s:blue) " call s:HL('javascriptPropertyName', s:blue) -call s:HL('javascriptLabel', s:light1) -call s:HL('javascriptObjectLabel', s:light1) -call s:HL('javascriptPropertyName', s:light1) +call s:HL('javascriptLabel', s:fg1) +call s:HL('javascriptObjectLabel', s:fg1) +call s:HL('javascriptPropertyName', s:fg1) -call s:HL('javascriptLogicSymbols', s:light1) -call s:HL('javascriptArrowFunc', s:light1) +call s:HL('javascriptLogicSymbols', s:fg1) +call s:HL('javascriptArrowFunc', s:fg1) -call s:HL('javascriptDocParamName', s:light4) -call s:HL('javascriptDocTags', s:light4) -call s:HL('javascriptDocNotation', s:light4) -call s:HL('javascriptDocParamType', s:light4) -call s:HL('javascriptDocNamedParamType', s:light4) +call s:HL('javascriptDocParamName', s:fg4) +call s:HL('javascriptDocTags', s:fg4) +call s:HL('javascriptDocNotation', s:fg4) +call s:HL('javascriptDocParamType', s:fg4) +call s:HL('javascriptDocNamedParamType', s:fg4) " }}} " CoffeeScript: {{{ -call s:HL('coffeeExtendedOp', s:light3) -call s:HL('coffeeSpecialOp', s:light3) +call s:HL('coffeeExtendedOp', s:fg3) +call s:HL('coffeeSpecialOp', s:fg3) call s:HL('coffeeCurly', s:orange) -call s:HL('coffeeParen', s:light3) +call s:HL('coffeeParen', s:fg3) call s:HL('coffeeBracket', s:orange) " }}} @@ -980,9 +980,9 @@ call s:HL('luaTable', s:orange) " }}} " MoonScript: {{{ -call s:HL('moonSpecialOp', s:light3) -call s:HL('moonExtendedOp', s:light3) -call s:HL('moonFunction', s:light3) +call s:HL('moonSpecialOp', s:fg3) +call s:HL('moonExtendedOp', s:fg3) +call s:HL('moonFunction', s:fg3) call s:HL('moonObject', s:yellow) " }}} @@ -991,12 +991,12 @@ call s:HL('moonObject', s:yellow) call s:HL('javaAnnotation', s:blue) call s:HL('javaDocTags', s:aqua) hi! link javaCommentTitle vimCommentTitle -call s:HL('javaParen', s:light3) -call s:HL('javaParen1', s:light3) -call s:HL('javaParen2', s:light3) -call s:HL('javaParen3', s:light3) -call s:HL('javaParen4', s:light3) -call s:HL('javaParen5', s:light3) +call s:HL('javaParen', s:fg3) +call s:HL('javaParen1', s:fg3) +call s:HL('javaParen2', s:fg3) +call s:HL('javaParen3', s:fg3) +call s:HL('javaParen4', s:fg3) +call s:HL('javaParen5', s:fg3) call s:HL('javaOperator', s:orange) call s:HL('javaVarArg', s:green) @@ -1013,27 +1013,27 @@ call s:HL('elixirInterpolationDelimiter', s:aqua) " Scala: {{{ " NB: scala vim syntax file is kinda horrible -call s:HL('scalaNameDefinition', s:light1) -call s:HL('scalaCaseFollowing', s:light1) -call s:HL('scalaCapitalWord', s:light1) -call s:HL('scalaTypeExtension', s:light1) +call s:HL('scalaNameDefinition', s:fg1) +call s:HL('scalaCaseFollowing', s:fg1) +call s:HL('scalaCapitalWord', s:fg1) +call s:HL('scalaTypeExtension', s:fg1) call s:HL('scalaKeyword', s:red) call s:HL('scalaKeywordModifier', s:red) call s:HL('scalaSpecial', s:aqua) -call s:HL('scalaOperator', s:light1) +call s:HL('scalaOperator', s:fg1) call s:HL('scalaTypeDeclaration', s:yellow) call s:HL('scalaTypeTypePostDeclaration', s:yellow) -call s:HL('scalaInstanceDeclaration', s:light1) +call s:HL('scalaInstanceDeclaration', s:fg1) call s:HL('scalaInterpolation', s:aqua) " }}} " Markdown: {{{ -call s:HL('markdownItalic', s:light3, 'NONE', s:italic) +call s:HL('markdownItalic', s:fg3, 'NONE', s:italic) call s:HL('markdownH1', s:green, 'NONE', s:bold) call s:HL('markdownH2', s:green, 'NONE', s:bold) @@ -1046,22 +1046,22 @@ call s:HL('markdownCode', s:aqua) call s:HL('markdownCodeBlock', s:aqua) call s:HL('markdownCodeDelimiter', s:aqua) -call s:HL('markdownBlockquote', s:medium) -call s:HL('markdownListMarker', s:medium) -call s:HL('markdownOrderedListMarker', s:medium) -call s:HL('markdownRule', s:medium) -call s:HL('markdownHeadingRule', s:medium) +call s:HL('markdownBlockquote', s:gray) +call s:HL('markdownListMarker', s:gray) +call s:HL('markdownOrderedListMarker', s:gray) +call s:HL('markdownRule', s:gray) +call s:HL('markdownHeadingRule', s:gray) -call s:HL('markdownUrlDelimiter', s:light3) -call s:HL('markdownLinkDelimiter', s:light3) -call s:HL('markdownLinkTextDelimiter', s:light3) +call s:HL('markdownUrlDelimiter', s:fg3) +call s:HL('markdownLinkDelimiter', s:fg3) +call s:HL('markdownLinkTextDelimiter', s:fg3) call s:HL('markdownHeadingDelimiter', s:orange) call s:HL('markdownUrl', s:purple) call s:HL('markdownUrlTitleDelimiter', s:green) -call s:HL('markdownLinkText', s:medium, 'NONE', s:underline) -call s:HL('markdownIdDeclaration', s:medium, 'NONE', s:underline) +call s:HL('markdownLinkText', s:gray, 'NONE', s:underline) +call s:HL('markdownIdDeclaration', s:gray, 'NONE', s:underline) " }}} " Haskell: {{{ @@ -1071,10 +1071,10 @@ call s:HL('markdownIdDeclaration', s:medium, 'NONE', s:underline) " call s:HL('haskellConditional', s:aqua) " call s:HL('haskellLet', s:orange) " -call s:HL('haskellType', s:light1) -call s:HL('haskellIdentifier', s:light1) -call s:HL('haskellSeparator', s:light1) -call s:HL('haskellDelimiter', s:light4) +call s:HL('haskellType', s:fg1) +call s:HL('haskellIdentifier', s:fg1) +call s:HL('haskellSeparator', s:fg1) +call s:HL('haskellDelimiter', s:fg4) call s:HL('haskellOperators', s:blue) " call s:HL('haskellBacktick', s:orange) @@ -1102,8 +1102,8 @@ call s:HL('haskellChar', s:green) call s:HL('jsonKeyword', s:green) call s:HL('jsonQuote', s:green) -call s:HL('jsonBraces', s:light1) -call s:HL('jsonString', s:light1) +call s:HL('jsonBraces', s:fg1) +call s:HL('jsonString', s:fg1) " }}} @@ -1112,10 +1112,10 @@ call s:HL('jsonString', s:light1) " Search Highlighting Cursor {{{ function! GruvboxHlsShowCursor() - call s:HL('Cursor', s:dark0, s:hls_cursor) - call s:HL('vCursor', s:dark0, s:hls_cursor) - call s:HL('iCursor', s:dark0, s:hls_cursor) - call s:HL('lCursor', s:dark0, 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 function! GruvboxHlsHideCursor() From 6de3dc37938d31d91c121665f93d2cb92ff23374 Mon Sep 17 00:00:00 2001 From: Pavel Pertsev Date: Wed, 2 Sep 2015 18:47:04 +0300 Subject: [PATCH 03/10] deprecate hls cursor functions --- autoload/gruvbox.vim | 22 ---------------------- colors/gruvbox.vim | 10 ++-------- 2 files changed, 2 insertions(+), 30 deletions(-) diff --git a/autoload/gruvbox.vim b/autoload/gruvbox.vim index 44bec6e1..2c52bc0e 100644 --- a/autoload/gruvbox.vim +++ b/autoload/gruvbox.vim @@ -16,26 +16,4 @@ function! gruvbox#invert_signs_toggle() colorscheme gruvbox endfunction -" Search Highlighting {{{ - -function! gruvbox#hls_show() - set hlsearch - call GruvboxHlsShowCursor() -endfunction - -function! gruvbox#hls_hide() - set nohlsearch - call GruvboxHlsHideCursor() -endfunction - -function! gruvbox#hls_toggle() - if &hlsearch - call gruvbox#hls_hide() - else - call gruvbox#hls_show() - endif -endfunction - -" }}} - " vim: set sw=2 ts=2 sts=2 et tw=80 ft=vim fdm=marker: diff --git a/colors/gruvbox.vim b/colors/gruvbox.vim index c7ee96a9..ffa284b3 100644 --- a/colors/gruvbox.vim +++ b/colors/gruvbox.vim @@ -1112,17 +1112,11 @@ call s:HL('jsonString', s:fg1) " Search Highlighting Cursor {{{ function! GruvboxHlsShowCursor() - 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) + echo 'GruvboxHlsShowCursor is deprecated' endfunction function! GruvboxHlsHideCursor() - call s:HL('Cursor', 'NONE', 'NONE', s:inverse) - call s:HL('vCursor', 'NONE', 'NONE', s:inverse) - call s:HL('iCursor', 'NONE', 'NONE', s:inverse) - call s:HL('lCursor', 'NONE', 'NONE', s:inverse) + echo 'GruvboxHlsHideCursor is deprecated' endfunction " }}} From 302470272b090936ac86a64c628abbde0cd90c5a Mon Sep 17 00:00:00 2001 From: Pavel Pertsev Date: Thu, 3 Sep 2015 01:38:36 +0300 Subject: [PATCH 04/10] build brand new palette dictionary --- colors/gruvbox.vim | 246 ++++++++++++++++++++++++++++----------------- 1 file changed, 153 insertions(+), 93 deletions(-) diff --git a/colors/gruvbox.vim b/colors/gruvbox.vim index ffa284b3..c2d68dbf 100644 --- a/colors/gruvbox.vim +++ b/colors/gruvbox.vim @@ -67,6 +67,8 @@ endif if !exists('g:gruvbox_contrast') let g:gruvbox_contrast='medium' +else + echo 'g:gruvbox_contrast is deprecated; use g:gruvbox_contrast_light and g:gruvbox_contrast_dark instead' endif if !exists('g:gruvbox_contrast_dark') @@ -82,6 +84,58 @@ let s:is_dark=(&background == 'dark') " }}} " Palette: {{{ +" setup palette dictionary +let s:gb = {} + +" fill it with absolute colors +let s:gb.dark0_hard = ['#1d2021', 234] " 29-32-33 +let s:gb.dark0 = ['#282828', 235] " 40-40-40 +let s:gb.dark0_soft = ['#32302f', 236] " 50-48-47 +let s:gb.dark1 = ['#3c3836', 237] " 60-56-54 +let s:gb.dark2 = ['#504945', 239] " 80-73-69 +let s:gb.dark3 = ['#665c54', 241] " 102-92-84 +let s:gb.dark4 = ['#7c6f64', 243] " 124-111-100 +let s:gb.dark4_256 = ['#7c6f64', 243] " 124-111-100 + +let s:gb.gray_245 = ['#928374', 245] " 146-131-116 +let s:gb.gray_244 = ['#928374', 244] " 146-131-116 + +let s:gb.light0_hard = ['#f9f5d7', 230] " 249-245-215 +let s:gb.light0 = ['#fdf4c1', 229] " 253-244-193 +let s:gb.light0_soft = ['#f2e5bc', 228] " 242-229-188 +let s:gb.light1 = ['#ebdbb2', 223] " 235-219-178 +let s:gb.light2 = ['#d5c4a1', 250] " 213-196-161 +let s:gb.light3 = ['#bdae93', 248] " 189-174-147 +let s:gb.light4 = ['#a89984', 246] " 168-153-132 +let s:gb.light4_256 = ['#a89984', 246] " 168-153-132 + +let s:gb.bright_red = ['#fb4934', 167] " 251-73-52 +let s:gb.bright_green = ['#b8bb26', 142] " 184-187-38 +let s:gb.bright_yellow = ['#fabd2f', 214] " 250-189-47 +let s:gb.bright_blue = ['#83a598', 109] " 131-165-152 +let s:gb.bright_purple = ['#d3869b', 175] " 211-134-155 +let s:gb.bright_aqua = ['#8ec07c', 108] " 142-192-124 +let s:gb.bright_orange = ['#fe8019', 208] " 254-128-25 + +let s:gb.neutral_red = ['#cc241d', 124] " 204-36-29 +let s:gb.neutral_green = ['#98971a', 106] " 152-151-26 +let s:gb.neutral_yellow = ['#d79921', 172] " 215-153-33 +let s:gb.neutral_blue = ['#458588', 66] " 69-133-136 +let s:gb.neutral_purple = ['#b16286', 132] " 177-98-134 +let s:gb.neutral_aqua = ['#689d6a', 72] " 104-157-106 +let s:gb.neutral_orange = ['#d65d0e', 166] " 214-93-14 + +let s:gb.faded_red = ['#9d0006', 88] " 157-0-6 +let s:gb.faded_green = ['#79740e', 100] " 121-116-14 +let s:gb.faded_yellow = ['#b57614', 136] " 181-118-20 +let s:gb.faded_blue = ['#076678', 24] " 7-102-120 +let s:gb.faded_purple = ['#8f3f71', 96] " 143-63-113 +let s:gb.faded_aqua = ['#427b58', 66] " 66-123-88 +let s:gb.faded_orange = ['#af3a03', 130] " 175-58-3 + +" }}} +" Setup Emphasis: {{{ + let s:bold = 'bold,' if g:gruvbox_bold == 0 let s:bold = '' @@ -107,112 +161,118 @@ if g:gruvbox_inverse == 0 let s:inverse = '' endif -if s:is_dark - let s:bg0 = ['#282828', 235] " 40-40-40 - let s:bg1 = ['#3c3836', 237] " 60-56-54 - let s:bg2 = ['#504945', 239] " 80-73-69 - let s:bg3 = ['#665c54', 241] " 102-92-84 - let s:bg4 = ['#7c6f64', 243] " 124-111-100 - - let s:gray = ['#928374', 245] " 146-131-116 - - let s:fg0 = ['#fbf1c7', 229] " 251-241-199 - let s:fg1 = ['#ebdbb2', 223] " 235-219-178 - let s:fg2 = ['#d5c4a1', 250] " 213-196-161 - let s:fg3 = ['#bdae93', 248] " 189-174-147 - let s:fg4 = ['#a89984', 246] " 168-153-132 - - let s:fg4_256 = ['#a89984', 246] " 168-153-132 - - let s:red = ['#fb4934', 167] " 251-73-52 - let s:green = ['#b8bb26', 142] " 184-187-38 - let s:yellow = ['#fabd2f', 214] " 250-189-47 - let s:blue = ['#83a598', 109] " 131-165-152 - let s:purple = ['#d3869b', 175] " 211-134-155 - let s:aqua = ['#8ec07c', 108] " 142-192-124 - let s:orange = ['#fe8019', 208] " 254-128-25 - - if g:gruvbox_termcolors == 16 - let s:bg0 = ['#282828', 0] - let s:fg4 = ['#a89984', 7] - let s:gray = ['#928374', 8] - let s:red = ['#fb4934', 9] - let s:green = ['#b8bb26', 10] - let s:yellow = ['#fabd2f', 11] - let s:blue = ['#83a598', 12] - let s:purple = ['#d3869b', 13] - let s:aqua = ['#8ec07c', 14] - let s:fg1 = ['#ebdbb2', 15] - endif - - if g:gruvbox_contrast == 'soft' - let s:bg0 = ['#32302f', 236] " 50-48-47 - elseif g:gruvbox_contrast == 'hard' - let s:bg0 = ['#1d2021', 234] " 29-32-33 - endif +" }}} +" Setup Colors: {{{ +" determine relative colors +if s:is_dark + let s:bg0 = s:gb.dark0 if g:gruvbox_contrast_dark == 'soft' - let s:bg0 = ['#32302f', 236] " 50-48-47 + let s:bg0 = s:gb.dark0_soft elseif g:gruvbox_contrast_dark == 'hard' - let s:bg0 = ['#1d2021', 234] " 29-32-33 - endif -else - let s:bg0 = ['#fbf1c7', 229] " 251-241-199 - let s:bg1 = ['#ebdbb2', 223] " 235-219-178 - let s:bg2 = ['#d5c4a1', 250] " 213-196-161 - let s:bg3 = ['#bdae93', 248] " 189-174-147 - let s:bg4 = ['#a89984', 246] " 168-153-132 - - let s:gray = ['#928374', 244] " 146-131-116 - - let s:fg0 = ['#282828', 235] " 40-40-40 - let s:fg1 = ['#3c3836', 237] " 60-56-54 - let s:fg2 = ['#504945', 239] " 80-73-69 - let s:fg3 = ['#665c54', 241] " 102-92-84 - let s:fg4 = ['#7c6f64', 243] " 124-111-100 - - let s:fg4_256 = ['#7c6f64', 243] " 124-111-100 - - let s:red = ['#9d0006', 88] " 157-0-6 - let s:green = ['#79740e', 100] " 121-116-14 - let s:yellow = ['#b57614', 136] " 181-118-20 - let s:blue = ['#076678', 24] " 7-102-120 - let s:purple = ['#8f3f71', 96] " 143-63-113 - let s:aqua = ['#427b58', 66] " 66-123-88 - let s:orange = ['#af3a03', 130] " 175-58-3 - - if g:gruvbox_termcolors == 16 - let s:bg0 = ['#fbf1c7', 0] - let s:fg4 = ['#7c6f64', 7] - let s:gray = ['#928374', 8] - let s:red = ['#9d0006', 9] - let s:green = ['#79740e', 10] - let s:yellow = ['#b57614', 11] - let s:blue = ['#076678', 12] - let s:purple = ['#8f3f71', 13] - let s:aqua = ['#427b58', 14] - let s:fg1 = ['#3c3836', 15] + let s:bg0 = s:gb.dark0_hard endif - if g:gruvbox_contrast == 'soft' - let s:bg0 = ['#f2e5bc', 228] " 242-229-188 - elseif g:gruvbox_contrast == 'hard' - let s:bg0 = ['#f9f5d7', 230] " 249-245-215 - endif + let s:bg1 = s:gb.dark1 + let s:bg2 = s:gb.dark2 + let s:bg3 = s:gb.dark3 + let s:bg4 = s:gb.dark4 + + let s:gray = s:gb.gray_245 + + let s:fg0 = s:gb.light0 + let s:fg1 = s:gb.light1 + let s:fg2 = s:gb.light2 + let s:fg3 = s:gb.light3 + let s:fg4 = s:gb.light4 + let s:fg4_256 = s:gb.light4_256 + + let s:red = s:gb.bright_red + let s:green = s:gb.bright_green + let s:yellow = s:gb.bright_yellow + let s:blue = s:gb.bright_blue + let s:purple = s:gb.bright_purple + let s:aqua = s:gb.bright_aqua + let s:orange = s:gb.bright_orange +else + let s:bg0 = s:gb.light0 if g:gruvbox_contrast_light == 'soft' - let s:bg0 = ['#f2e5bc', 228] " 242-229-188 + let s:bg0 = s:gb.light0_soft elseif g:gruvbox_contrast_light == 'hard' - let s:bg0 = ['#f9f5d7', 230] " 249-245-215 + let s:bg0 = s:gb.light0_hard endif + + let s:bg1 = s:gb.light1 + let s:bg2 = s:gb.light2 + let s:bg3 = s:gb.light3 + let s:bg4 = s:gb.light4 + + let s:gray = s:gb.gray_244 + + let s:fg0 = s:gb.dark0 + let s:fg1 = s:gb.dark1 + let s:fg2 = s:gb.dark2 + let s:fg3 = s:gb.dark3 + let s:fg4 = s:gb.dark4 + + let s:fg4_256 = s:gb.dark4_256 + + let s:red = s:gb.faded_red + let s:green = s:gb.faded_green + let s:yellow = s:gb.faded_yellow + let s:blue = s:gb.faded_blue + let s:purple = s:gb.faded_purple + let s:aqua = s:gb.faded_aqua + let s:orange = s:gb.faded_orange endif +" reset to 16 colors fallback +if g:gruvbox_termcolors == 16 + let s:bg0[1] = 0 + let s:fg4[1] = 7 + let s:gray[1] = 8 + let s:red[1] = 9 + let s:green[1] = 10 + let s:yellow[1] = 11 + let s:blue[1] = 12 + let s:purple[1] = 13 + let s:aqua[1] = 14 + let s:fg1[1] = 15 +endif + +" save current relative colors back to palette dictionary +let s:gb.bg0 = s:bg0 +let s:gb.bg1 = s:bg1 +let s:gb.bg2 = s:bg2 +let s:gb.bg3 = s:bg3 +let s:gb.bg4 = s:bg4 + +let s:gb.gray = s:gray + +let s:gb.fg0 = s:fg0 +let s:gb.fg1 = s:fg1 +let s:gb.fg2 = s:fg2 +let s:gb.fg3 = s:fg3 +let s:gb.fg4 = s:fg4 + +let s:gb.fg4_256 = s:fg4_256 + +let s:gb.red = s:red +let s:gb.green = s:green +let s:gb.yellow = s:yellow +let s:gb.blue = s:blue +let s:gb.purple = s:purple +let s:gb.aqua = s:aqua +let s:gb.orange = s:orange + " }}} + " Overload Setting: {{{ let s:hls_cursor = s:orange if exists('g:gruvbox_hls_cursor') - let s:hls_cursor = g:gruvbox_hls_cursor + let s:hls_cursor = get(s:gb, g:gruvbox_hls_cursor) endif let s:number_column = s:bg4 @@ -225,18 +285,18 @@ else let g:gitgutter_override_sign_column_highlight = 0 if exists('g:gruvbox_sign_column') - let s:sign_column = g:gruvbox_sign_column + let s:sign_column = get(s:gb, g:gruvbox_sign_column) endif endif let s:color_column = s:bg1 if exists('g:gruvbox_color_column') - let s:color_column = g:gruvbox_color_column + let s:color_column = get(s:gb, g:gruvbox_color_column) endif let s:vert_split = s:bg2 if exists('g:gruvbox_vert_split') - let s:vert_split = g:gruvbox_vert_split + let s:vert_split = get(s:gb, g:gruvbox_vert_split) endif let s:invert_signs = '' From 690b588378a2051048bfa7ff9cd4f1c8ac4a1d74 Mon Sep 17 00:00:00 2001 From: Pavel Pertsev Date: Thu, 3 Sep 2015 02:25:09 +0300 Subject: [PATCH 05/10] fix guisp fallback --- colors/gruvbox.vim | 30 ++++++++++++++---------------- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/colors/gruvbox.vim b/colors/gruvbox.vim index c2d68dbf..a6d942de 100644 --- a/colors/gruvbox.vim +++ b/colors/gruvbox.vim @@ -45,9 +45,9 @@ if !exists('g:gruvbox_inverse') let g:gruvbox_inverse=1 endif -" if !exists('g:gruvbox_guisp_fallback') || index(['fg', 'bg'], g:gruvbox_guisp_fallback) == -1 -" let g:gruvbox_guisp_fallback='NONE' -" endif +if !exists('g:gruvbox_guisp_fallback') || index(['fg', 'bg'], g:gruvbox_guisp_fallback) == -1 + let g:gruvbox_guisp_fallback='fg' +endif if !exists('g:gruvbox_improved_strings') let g:gruvbox_improved_strings=0 @@ -342,7 +342,7 @@ function! s:HL(group, fg, ...) if type(a:fg) == 3 let fg = a:fg - elseif type(a:fg) == 1 + elseif type(a:fg) == 1 && strlen(a:fg) let fg = [a:fg, a:fg] else let fg = ['NONE', 'NONE'] @@ -350,7 +350,7 @@ function! s:HL(group, fg, ...) if a:0 >= 1 && type(a:1) == 3 let bg = a:1 - elseif a:0 >= 1 && type(a:1) == 1 + elseif a:0 >= 1 && type(a:1) == 1 && strlen(a:1) let bg = [a:1, a:1] else let bg = ['NONE', 'NONE'] @@ -362,6 +362,14 @@ function! s:HL(group, fg, ...) let emstr = 'NONE' endif + if a:0 >= 3 + if g:gruvbox_guisp_fallback == 'fg' && type(a:3) == 3 + let fg = a:3 + elseif g:gruvbox_guisp_fallback == 'bg' && type(a:3) == 3 + let bg = a:3 + endif + endif + let histring = ['hi', a:group, \ 'guifg=' . fg[0], 'ctermfg=' . fg[1], \ 'guibg=' . bg[0], 'ctermbg=' . bg[1], @@ -371,7 +379,7 @@ function! s:HL(group, fg, ...) if a:0 >= 3 if type(a:3) == 3 let specl = a:3[0] - elseif type(a:3) == 1 + elseif type(a:3) == 1 && strlen(a:3) let specl = a:3 else let specl = 'NONE' @@ -380,16 +388,6 @@ function! s:HL(group, fg, ...) call add(histring, 'guisp=' . specl) endif - " if (Foreground override enabled) && ( We were passed a guisp value ) - " if g:gruvbox_guisp_fallback == 'fg' && a:0 >= 3 && strlen(a:3) && a:3 != 'NONE' - " let c = get(s:gb, a:3) - " let histring .= 'guifg=#' . c[0] . ' ctermfg=' . c[1] . ' ' - - " if (Background override enabled) && ( We were passed a guisp value ) - " if g:gruvbox_guisp_fallback == 'bg' && a:0 >= 3 && strlen(a:3) && a:3 != 'NONE' - " let c = get(s:gb, a:3) - " let histring .= 'guibg=#' . c[0] . ' ctermbg=' . c[1] . ' ' - execute join(histring, ' ') endfunction From c3855773e2995f12eb131d53bc7c337ae9d18b55 Mon Sep 17 00:00:00 2001 From: Pavel Pertsev Date: Thu, 3 Sep 2015 02:46:29 +0300 Subject: [PATCH 06/10] Add guisp_bg color option for fallback=='bg' --- colors/gruvbox.vim | 54 +++++++++++++++++++++++++++++++++++----------- 1 file changed, 41 insertions(+), 13 deletions(-) diff --git a/colors/gruvbox.vim b/colors/gruvbox.vim index a6d942de..b0fbf585 100644 --- a/colors/gruvbox.vim +++ b/colors/gruvbox.vim @@ -45,8 +45,8 @@ if !exists('g:gruvbox_inverse') let g:gruvbox_inverse=1 endif -if !exists('g:gruvbox_guisp_fallback') || index(['fg', 'bg'], g:gruvbox_guisp_fallback) == -1 - let g:gruvbox_guisp_fallback='fg' +if !exists('g:gruvbox_guisp_fallback') + let g:gruvbox_guisp_fallback='NONE' endif if !exists('g:gruvbox_improved_strings') @@ -195,6 +195,14 @@ if s:is_dark let s:purple = s:gb.bright_purple let s:aqua = s:gb.bright_aqua let s:orange = s:gb.bright_orange + + let s:red_bg = s:gb.faded_red + let s:green_bg = s:gb.faded_green + let s:yellow_bg = s:gb.faded_yellow + let s:blue_bg = s:gb.faded_blue + let s:purple_bg = s:gb.faded_purple + let s:aqua_bg = s:gb.faded_aqua + let s:orange_bg = s:gb.faded_orange else let s:bg0 = s:gb.light0 if g:gruvbox_contrast_light == 'soft' @@ -225,6 +233,14 @@ else let s:purple = s:gb.faded_purple let s:aqua = s:gb.faded_aqua let s:orange = s:gb.faded_orange + + let s:red_bg = s:gb.bright_red + let s:green_bg = s:gb.bright_green + let s:yellow_bg = s:gb.bright_yellow + let s:blue_bg = s:gb.bright_blue + let s:purple_bg = s:gb.bright_purple + let s:aqua_bg = s:gb.bright_aqua + let s:orange_bg = s:gb.bright_orange endif " reset to 16 colors fallback @@ -266,6 +282,14 @@ let s:gb.purple = s:purple let s:gb.aqua = s:aqua let s:gb.orange = s:orange +let s:gb.red_bg = s:red_bg +let s:gb.green_bg = s:green_bg +let s:gb.yellow_bg = s:yellow_bg +let s:gb.blue_bg = s:blue_bg +let s:gb.purple_bg = s:purple_bg +let s:gb.aqua_bg = s:aqua_bg +let s:gb.orange_bg = s:orange_bg + " }}} " Overload Setting: {{{ @@ -338,7 +362,7 @@ endif " Highlighting Function: {{{ function! s:HL(group, fg, ...) - " Arguments: group, guifg, guibg, gui, guisp + " Arguments: group, guifg, guibg, gui, guisp, guisp_bg if type(a:fg) == 3 let fg = a:fg @@ -362,11 +386,15 @@ function! s:HL(group, fg, ...) let emstr = 'NONE' endif - if a:0 >= 3 - if g:gruvbox_guisp_fallback == 'fg' && type(a:3) == 3 + if a:0 >= 3 && type(a:3) == 3 + if g:gruvbox_guisp_fallback == 'fg' let fg = a:3 - elseif g:gruvbox_guisp_fallback == 'bg' && type(a:3) == 3 - let bg = a:3 + elseif g:gruvbox_guisp_fallback == 'bg' + if a:0 >= 4 && type(a:4) == 3 + let bg = a:4 + else + let bg = a:3 + endif endif endif @@ -601,16 +629,16 @@ call s:HL('DiffText', s:yellow, s:bg0, s:inverse) if has("spell") " Not capitalised word, or compile warnings if g:gruvbox_improved_warnings == 0 - call s:HL('SpellCap', 'NONE', 'NONE', s:undercurl, s:red) + call s:HL('SpellCap', 'NONE', 'NONE', s:undercurl, s:red, s:red_bg) else call s:HL('SpellCap', s:green, 'NONE', s:bold . s:italic) endif " Not recognized word - call s:HL('SpellBad', 'NONE', 'NONE', s:undercurl, s:blue) + call s:HL('SpellBad', 'NONE', 'NONE', s:undercurl, s:blue, s:blue_bg) " Wrong spelling for selected region - call s:HL('SpellLocal', 'NONE', 'NONE', s:undercurl, s:aqua) + call s:HL('SpellLocal', 'NONE', 'NONE', s:undercurl, s:aqua, s:aqua_bg) " Rare word - call s:HL('SpellRare', 'NONE', 'NONE', s:undercurl, s:purple) + call s:HL('SpellRare', 'NONE', 'NONE', s:undercurl, s:purple, s:purple_bg) endif " }}} @@ -707,8 +735,8 @@ call s:HL('SignifySignDelete', s:red, s:sign_column, s:invert_signs) " }}} " Syntastic: {{{ -call s:HL('SyntasticError', 'NONE', 'NONE', s:undercurl, s:red) -call s:HL('SyntasticWarning', 'NONE', 'NONE', s:undercurl, s:yellow) +call s:HL('SyntasticError', 'NONE', 'NONE', s:undercurl, s:red, s:red_bg) +call s:HL('SyntasticWarning', 'NONE', 'NONE', s:undercurl, s:yellow, s:yellow_bg) call s:HL('SyntasticErrorSign', s:red, s:sign_column, s:invert_signs) call s:HL('SyntasticWarningSign', s:yellow, s:sign_column, s:invert_signs) From e389a5113f2376df1302396831b74e171d2bdce2 Mon Sep 17 00:00:00 2001 From: Pavel Pertsev Date: Thu, 3 Sep 2015 16:34:48 +0300 Subject: [PATCH 07/10] Add italic for TODO group #70 --- colors/gruvbox.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/colors/gruvbox.vim b/colors/gruvbox.vim index b0fbf585..5055827b 100644 --- a/colors/gruvbox.vim +++ b/colors/gruvbox.vim @@ -537,7 +537,7 @@ else endif call s:HL('Comment', s:gray, 'NONE', s:italicize_comments) -call s:HL('Todo', 'fg', 'bg', s:bold) +call s:HL('Todo', 'fg', 'bg', s:bold . s:italic) call s:HL('Error', s:red, 'bg', s:bold . s:inverse) " Generic statement From 80b22a4d41ba991d9b14887a4fc9890599c4cea9 Mon Sep 17 00:00:00 2001 From: Pavel Pertsev Date: Fri, 4 Sep 2015 18:53:08 +0300 Subject: [PATCH 08/10] Revert "Add guisp_bg color option for fallback=='bg'" This reverts commit c3855773e2995f12eb131d53bc7c337ae9d18b55. --- colors/gruvbox.vim | 54 +++++++++++----------------------------------- 1 file changed, 13 insertions(+), 41 deletions(-) diff --git a/colors/gruvbox.vim b/colors/gruvbox.vim index 5055827b..8f95f497 100644 --- a/colors/gruvbox.vim +++ b/colors/gruvbox.vim @@ -45,8 +45,8 @@ if !exists('g:gruvbox_inverse') let g:gruvbox_inverse=1 endif -if !exists('g:gruvbox_guisp_fallback') - let g:gruvbox_guisp_fallback='NONE' +if !exists('g:gruvbox_guisp_fallback') || index(['fg', 'bg'], g:gruvbox_guisp_fallback) == -1 + let g:gruvbox_guisp_fallback='fg' endif if !exists('g:gruvbox_improved_strings') @@ -195,14 +195,6 @@ if s:is_dark let s:purple = s:gb.bright_purple let s:aqua = s:gb.bright_aqua let s:orange = s:gb.bright_orange - - let s:red_bg = s:gb.faded_red - let s:green_bg = s:gb.faded_green - let s:yellow_bg = s:gb.faded_yellow - let s:blue_bg = s:gb.faded_blue - let s:purple_bg = s:gb.faded_purple - let s:aqua_bg = s:gb.faded_aqua - let s:orange_bg = s:gb.faded_orange else let s:bg0 = s:gb.light0 if g:gruvbox_contrast_light == 'soft' @@ -233,14 +225,6 @@ else let s:purple = s:gb.faded_purple let s:aqua = s:gb.faded_aqua let s:orange = s:gb.faded_orange - - let s:red_bg = s:gb.bright_red - let s:green_bg = s:gb.bright_green - let s:yellow_bg = s:gb.bright_yellow - let s:blue_bg = s:gb.bright_blue - let s:purple_bg = s:gb.bright_purple - let s:aqua_bg = s:gb.bright_aqua - let s:orange_bg = s:gb.bright_orange endif " reset to 16 colors fallback @@ -282,14 +266,6 @@ let s:gb.purple = s:purple let s:gb.aqua = s:aqua let s:gb.orange = s:orange -let s:gb.red_bg = s:red_bg -let s:gb.green_bg = s:green_bg -let s:gb.yellow_bg = s:yellow_bg -let s:gb.blue_bg = s:blue_bg -let s:gb.purple_bg = s:purple_bg -let s:gb.aqua_bg = s:aqua_bg -let s:gb.orange_bg = s:orange_bg - " }}} " Overload Setting: {{{ @@ -362,7 +338,7 @@ endif " Highlighting Function: {{{ function! s:HL(group, fg, ...) - " Arguments: group, guifg, guibg, gui, guisp, guisp_bg + " Arguments: group, guifg, guibg, gui, guisp if type(a:fg) == 3 let fg = a:fg @@ -386,15 +362,11 @@ function! s:HL(group, fg, ...) let emstr = 'NONE' endif - if a:0 >= 3 && type(a:3) == 3 - if g:gruvbox_guisp_fallback == 'fg' + if a:0 >= 3 + if g:gruvbox_guisp_fallback == 'fg' && type(a:3) == 3 let fg = a:3 - elseif g:gruvbox_guisp_fallback == 'bg' - if a:0 >= 4 && type(a:4) == 3 - let bg = a:4 - else - let bg = a:3 - endif + elseif g:gruvbox_guisp_fallback == 'bg' && type(a:3) == 3 + let bg = a:3 endif endif @@ -629,16 +601,16 @@ call s:HL('DiffText', s:yellow, s:bg0, s:inverse) if has("spell") " Not capitalised word, or compile warnings if g:gruvbox_improved_warnings == 0 - call s:HL('SpellCap', 'NONE', 'NONE', s:undercurl, s:red, s:red_bg) + call s:HL('SpellCap', 'NONE', 'NONE', s:undercurl, s:red) else call s:HL('SpellCap', s:green, 'NONE', s:bold . s:italic) endif " Not recognized word - call s:HL('SpellBad', 'NONE', 'NONE', s:undercurl, s:blue, s:blue_bg) + call s:HL('SpellBad', 'NONE', 'NONE', s:undercurl, s:blue) " Wrong spelling for selected region - call s:HL('SpellLocal', 'NONE', 'NONE', s:undercurl, s:aqua, s:aqua_bg) + call s:HL('SpellLocal', 'NONE', 'NONE', s:undercurl, s:aqua) " Rare word - call s:HL('SpellRare', 'NONE', 'NONE', s:undercurl, s:purple, s:purple_bg) + call s:HL('SpellRare', 'NONE', 'NONE', s:undercurl, s:purple) endif " }}} @@ -735,8 +707,8 @@ call s:HL('SignifySignDelete', s:red, s:sign_column, s:invert_signs) " }}} " Syntastic: {{{ -call s:HL('SyntasticError', 'NONE', 'NONE', s:undercurl, s:red, s:red_bg) -call s:HL('SyntasticWarning', 'NONE', 'NONE', s:undercurl, s:yellow, s:yellow_bg) +call s:HL('SyntasticError', 'NONE', 'NONE', s:undercurl, s:red) +call s:HL('SyntasticWarning', 'NONE', 'NONE', s:undercurl, s:yellow) call s:HL('SyntasticErrorSign', s:red, s:sign_column, s:invert_signs) call s:HL('SyntasticWarningSign', s:yellow, s:sign_column, s:invert_signs) From 13f52ab26f4ff8436a4255dad109b8f0868e4ddf Mon Sep 17 00:00:00 2001 From: Pavel Pertsev Date: Fri, 4 Sep 2015 19:37:42 +0300 Subject: [PATCH 09/10] guisp_fallback == 'bg' should invert highlight actually --- colors/gruvbox.vim | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/colors/gruvbox.vim b/colors/gruvbox.vim index 8f95f497..025461c9 100644 --- a/colors/gruvbox.vim +++ b/colors/gruvbox.vim @@ -46,7 +46,7 @@ if !exists('g:gruvbox_inverse') endif if !exists('g:gruvbox_guisp_fallback') || index(['fg', 'bg'], g:gruvbox_guisp_fallback) == -1 - let g:gruvbox_guisp_fallback='fg' + let g:gruvbox_guisp_fallback='NONE' endif if !exists('g:gruvbox_improved_strings') @@ -340,6 +340,7 @@ endif function! s:HL(group, fg, ...) " Arguments: group, guifg, guibg, gui, guisp + " foreground if type(a:fg) == 3 let fg = a:fg elseif type(a:fg) == 1 && strlen(a:fg) @@ -348,6 +349,7 @@ function! s:HL(group, fg, ...) let fg = ['NONE', 'NONE'] endif + " background if a:0 >= 1 && type(a:1) == 3 let bg = a:1 elseif a:0 >= 1 && type(a:1) == 1 && strlen(a:1) @@ -356,17 +358,26 @@ function! s:HL(group, fg, ...) let bg = ['NONE', 'NONE'] endif + " emphasis if a:0 >= 2 && strlen(a:2) let emstr = a:2[:-2] else let emstr = 'NONE' endif - if a:0 >= 3 - if g:gruvbox_guisp_fallback == 'fg' && type(a:3) == 3 + " special fallback + if a:0 >= 3 && type(a:3) == 3 + if g:gruvbox_guisp_fallback != 'NONE' let fg = a:3 - elseif g:gruvbox_guisp_fallback == 'bg' && type(a:3) == 3 - let bg = a:3 + endif + + if g:gruvbox_guisp_fallback == 'bg' + " bg fallback mode should invert higlighting + if emstr == 'NONE' + let emstr = 'inverse' + else + let emstr .= ',inverse' + endif endif endif @@ -376,6 +387,7 @@ function! s:HL(group, fg, ...) \ 'gui=' . emstr, 'cterm=' . emstr \ ] + " special if a:0 >= 3 if type(a:3) == 3 let specl = a:3[0] From 6f10f00d609f18bec0de05294c483e0d9ef4b877 Mon Sep 17 00:00:00 2001 From: Pavel Pertsev Date: Fri, 4 Sep 2015 19:38:14 +0300 Subject: [PATCH 10/10] Revert "deprecate hls cursor functions" This reverts commit 6de3dc37938d31d91c121665f93d2cb92ff23374. --- autoload/gruvbox.vim | 22 ++++++++++++++++++++++ colors/gruvbox.vim | 10 ++++++++-- 2 files changed, 30 insertions(+), 2 deletions(-) diff --git a/autoload/gruvbox.vim b/autoload/gruvbox.vim index 2c52bc0e..44bec6e1 100644 --- a/autoload/gruvbox.vim +++ b/autoload/gruvbox.vim @@ -16,4 +16,26 @@ function! gruvbox#invert_signs_toggle() colorscheme gruvbox endfunction +" Search Highlighting {{{ + +function! gruvbox#hls_show() + set hlsearch + call GruvboxHlsShowCursor() +endfunction + +function! gruvbox#hls_hide() + set nohlsearch + call GruvboxHlsHideCursor() +endfunction + +function! gruvbox#hls_toggle() + if &hlsearch + call gruvbox#hls_hide() + else + call gruvbox#hls_show() + endif +endfunction + +" }}} + " vim: set sw=2 ts=2 sts=2 et tw=80 ft=vim fdm=marker: diff --git a/colors/gruvbox.vim b/colors/gruvbox.vim index 025461c9..7c34bab5 100644 --- a/colors/gruvbox.vim +++ b/colors/gruvbox.vim @@ -1182,11 +1182,17 @@ call s:HL('jsonString', s:fg1) " Search Highlighting Cursor {{{ function! GruvboxHlsShowCursor() - echo 'GruvboxHlsShowCursor is deprecated' + 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 function! GruvboxHlsHideCursor() - echo 'GruvboxHlsHideCursor is deprecated' + call s:HL('Cursor', 'NONE', 'NONE', s:inverse) + call s:HL('vCursor', 'NONE', 'NONE', s:inverse) + call s:HL('iCursor', 'NONE', 'NONE', s:inverse) + call s:HL('lCursor', 'NONE', 'NONE', s:inverse) endfunction " }}}