diff --git a/.vim/autoload/airline/themes/colorsbox.vim b/.vim/autoload/airline/themes/colorsbox.vim new file mode 100644 index 0000000..0f39b31 --- /dev/null +++ b/.vim/autoload/airline/themes/colorsbox.vim @@ -0,0 +1,92 @@ +" ----------------------------------------------------------------------------- +" File: colorsbox.vim +" ----------------------------------------------------------------------------- +function! s:getGruvColor(group) + let guiColor = synIDattr(hlID(a:group), "fg", "gui") + let termColor = synIDattr(hlID(a:group), "fg", "cterm") + return [ guiColor, termColor ] +endfunction + +let s:bg1 = s:getGruvColor('GruvboxBg1') +let s:bg2 = s:getGruvColor('GruvboxBg2') +let s:bg3 = s:getGruvColor('GruvboxBg3') +let s:bg4 = s:getGruvColor('GruvboxBg4') +let s:gray = s:getGruvColor('GruvboxGray') +let s:fg1 = s:getGruvColor('GruvboxFg1') +let s:fg2 = s:getGruvColor('GruvboxFg2') +let s:fg3 = s:getGruvColor('GruvboxFg3') +let s:fg4 = s:getGruvColor('GruvboxFg4') + +let s:red = s:getGruvColor('GruvboxRed') +let s:green = s:getGruvColor('GruvboxGreen') +let s:yellow = s:getGruvColor('GruvboxYellow') +let s:blue = s:getGruvColor('GruvboxBlue') +let s:purple = s:getGruvColor('GruvboxPurple') +let s:aqua = s:getGruvColor('GruvboxAqua') +let s:orange = s:getGruvColor('GruvboxOrange') + +let g:airline#themes#colorsbox#palette = {} + +function! airline#themes#colorsbox#refresh() + + let M0 = airline#themes#get_highlight('Identifier') + let modified_group = [M0[0], '', M0[2], '', ''] + let warning_group = airline#themes#get_highlight2(['DiffChange', 'bg'], ['Question', 'fg']) + + "let s:N1 = airline#themes#get_highlight2(['DiffChange', 'bg'], ['DiffChange', 'fg']) + let s:N1 = airline#themes#get_highlight2(['Normal', 'bg'], ['Normal', 'fg']) + let s:N2 = s:N1 + let s:N3 = s:N1 + "let s:N3 = airline#themes#get_highlight2(['Normal', 'bg'], ['StatusLineNc', 'bg']) + "let s:N3 = airline#themes#get_highlight2(['Normal', 'bg'], ['DiffChange', 'fg']) + let g:airline#themes#colorsbox#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) + let g:airline#themes#colorsbox#palette.normal_modified = { 'airline_c': modified_group } + let g:airline#themes#colorsbox#palette.normal.airline_warning = warning_group + let g:airline#themes#colorsbox#palette.normal_modified.airline_warning = warning_group + + let s:I1 = s:N1 + let s:I2 = s:N2 + let s:I3 = s:N3 + let g:airline#themes#colorsbox#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) + let g:airline#themes#colorsbox#palette.insert_modified = g:airline#themes#colorsbox#palette.normal_modified + let g:airline#themes#colorsbox#palette.insert.airline_warning = g:airline#themes#colorsbox#palette.normal.airline_warning + let g:airline#themes#colorsbox#palette.insert_modified.airline_warning = g:airline#themes#colorsbox#palette.normal_modified.airline_warning + + let s:R1 = s:I1 + let s:R2 = s:I2 + let s:R3 = s:I3 + let g:airline#themes#colorsbox#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) + let g:airline#themes#colorsbox#palette.replace_modified = g:airline#themes#colorsbox#palette.normal_modified + let g:airline#themes#colorsbox#palette.replace.airline_warning = g:airline#themes#colorsbox#palette.normal.airline_warning + let g:airline#themes#colorsbox#palette.replace_modified.airline_warning = g:airline#themes#colorsbox#palette.normal_modified.airline_warning + + let s:V1 = s:N1 + let s:V2 = s:N2 + let s:V3 = s:N3 + let g:airline#themes#colorsbox#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) + let g:airline#themes#colorsbox#palette.visual_modified = g:airline#themes#colorsbox#palette.normal_modified + let g:airline#themes#colorsbox#palette.visual.airline_warning = g:airline#themes#colorsbox#palette.normal.airline_warning + let g:airline#themes#colorsbox#palette.visual_modified.airline_warning = g:airline#themes#colorsbox#palette.normal_modified.airline_warning + + let s:IA = airline#themes#get_highlight2(['Normal', 'bg'], ['StatusLineNc', 'bg']) + let g:airline#themes#colorsbox#palette.inactive = airline#themes#generate_color_map(s:IA, s:IA, s:IA) + let g:airline#themes#colorsbox#palette.inactive_modified = { 'airline_c': modified_group } + + let accents_group = s:N1 + let g:airline#themes#colorsbox#palette.accents = { 'red': accents_group } + + let s:TF = s:N1 + let g:airline#themes#colorsbox#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#colorsbox#refresh() + +" vim: set sw=2 ts=2 sts=2 et tw=80 ft=vim fdm=marker: diff --git a/.vim/colors/colorsbox-faff.vim b/.vim/colors/colorsbox-faff.vim new file mode 100644 index 0000000..0c29f8a --- /dev/null +++ b/.vim/colors/colorsbox-faff.vim @@ -0,0 +1,1159 @@ +" ----------------------------------------------------------------------------- +" File: colorsbox.vim +" Description: Material color scheme using gruvbox as a skel +" Author: mkarmona +" Source: https://github.com/mkarmona/colorsbox +" Last Modified: 22 Oct 2015 +" ----------------------------------------------------------------------------- + +" Supporting code ------------------------------------------------------------- +" Initialisation: {{{ + +if version > 580 + hi clear + if exists("syntax_on") + syntax reset + endif +endif + +let g:colors_name='colorsbox-faff' + +if !has('gui_running') && &t_Co != 256 + finish +endif + +" }}} +" Global Settings: {{{ + +if !exists('g:colorsbox_bold') + let g:colorsbox_bold=1 +endif +if !exists('g:colorsbox_italic') + if has('gui_running') || $TERM_ITALICS == 'true' + let g:colorsbox_italic=1 + else + let g:colorsbox_italic=0 + endif +endif +if !exists('g:colorsbox_undercurl') + let g:colorsbox_undercurl=1 +endif +if !exists('g:colorsbox_underline') + let g:colorsbox_underline=1 +endif +if !exists('g:colorsbox_inverse') + let g:colorsbox_inverse=1 +endif + +if !exists('g:colorsbox_guisp_fallback') || index(['fg', 'bg'], g:colorsbox_guisp_fallback) == -1 + let g:colorsbox_guisp_fallback='NONE' +endif + +if !exists('g:colorsbox_improved_strings') + let g:colorsbox_improved_strings=0 +endif + +if !exists('g:colorsbox_improved_warnings') + let g:colorsbox_improved_warnings=0 +endif + +if !exists('g:colorsbox_termcolors') + let g:colorsbox_termcolors=256 +endif + +if !exists('g:colorsbox_invert_indent_guides') + let g:colorsbox_invert_indent_guides=0 +endif + +let s:is_dark=(&background == 'dark') + +" }}} +" Palette: {{{ + +" setup palette dictionary +let s:gb = {} + +" fill it with absolute colors +let s:gb.dark0_hard = ['#cdcdc1', 234] " 29-32-33 +let s:gb.dark0 = ['#cdcdc1', 235] " 40-40-40 +let s:gb.dark0_soft = ['#cdcdc1', 236] " 50-48-47 +let s:gb.dark1 = ['#b3b3a8', 237] " 60-56-54 +let s:gb.dark2 = ['#999990', 239] " 80-73-69 +let s:gb.dark3 = ['#808078', 241] " 102-92-84 +let s:gb.dark4 = ['#666660', 243] " 124-111-100 +let s:gb.dark4_256 = ['#666660', 243] " 124-111-100 + +let s:gb.gray_245 = ['#4d4d48', 245] " 146-131-116 dark + +let s:gb.light0_hard = ['#000000', 230] " 249-245-215 dark +let s:gb.light0 = ['#000000', 229] " 253-244-193 +let s:gb.light0_soft = ['#000000', 228] " 242-229-188 +let s:gb.light1 = ['#1a1a18', 223] " 235-219-178 +let s:gb.light2 = ['#4d4d48', 250] " 213-196-161 +let s:gb.light3 = ['#666660', 248] " 189-174-147 +let s:gb.light4 = ['#808078', 246] " 168-153-132 +let s:gb.light4_256 = ['#808078', 246] " 168-153-132 + +let s:gb.bright_red = ['#bb0000', 167] " 251-73-52 +let s:gb.bright_green = ['#006400', 142] " 184-187-38 +let s:gb.bright_yellow = ['#b57614', 214] " 250-189-47 +let s:gb.bright_blue = ['#1002cd', 109] " 131-165-152 +let s:gb.bright_purple = ['#9010b0', 175] " 211-134-155 +let s:gb.bright_aqua = ['#483d8d', 108] " 142-192-124 +let s:gb.bright_orange = ['#de935f', 208] " 254-128-25 + + +" }}} +" Setup Emphasis: {{{ + +let s:bold = 'bold,' +if g:colorsbox_bold == 0 + let s:bold = '' +endif + +let s:italic = 'italic,' +if g:colorsbox_italic == 0 + let s:italic = '' +endif + +let s:underline = 'underline,' +if g:colorsbox_underline == 0 + let s:underline = '' +endif + +let s:undercurl = 'undercurl,' +if g:colorsbox_undercurl == 0 + let s:undercurl = '' +endif + +let s:inverse = 'inverse,' +if g:colorsbox_inverse == 0 + let s:inverse = '' +endif + +" }}} +" Setup Colors: {{{ + +let s:vim_bg = ['bg', 'bg'] +let s:vim_fg = ['fg', 'fg'] +let s:none = ['NONE', 'NONE'] + +if !exists('g:colorsbox_contrast_dark') + let g:colorsbox_contrast_dark = 'medium' +endif + +" determine relative colors +let s:bg0 = s:gb.dark0 +if g:colorsbox_contrast_dark == 'soft' + let s:bg0 = s:gb.dark0_soft +elseif g:colorsbox_contrast_dark == 'hard' + let s:bg0 = s:gb.dark0_hard +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 + +" reset to 16 colors fallback +if g:colorsbox_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:colorsbox_hls_cursor') + let s:hls_cursor = get(s:gb, g:colorsbox_hls_cursor) +endif + +"let s:number_column = s:bg4 +let s:number_column = s:gray +let s:sign_column = s:bg1 + +if exists('g:gitgutter_override_sign_column_highlight') && + \ g:gitgutter_override_sign_column_highlight == 1 + let s:sign_column = s:number_column +else + let g:gitgutter_override_sign_column_highlight = 0 + + if exists('g:colorsbox_sign_column') + let s:sign_column = get(s:gb, g:colorsbox_sign_column) + endif +endif + +let s:color_column = s:bg1 +if exists('g:colorsbox_color_column') + let s:color_column = get(s:gb, g:colorsbox_color_column) +endif + +let s:vert_split = s:bg2 +if exists('g:colorsbox_vert_split') + let s:vert_split = get(s:gb, g:colorsbox_vert_split) +endif + +let s:invert_signs = '' +if exists('g:colorsbox_invert_signs') + if g:colorsbox_invert_signs == 1 + let s:invert_signs = s:inverse + endif +endif + +let s:invert_selection = s:inverse +if exists('g:colorsbox_invert_selection') + if g:colorsbox_invert_selection == 0 + let s:invert_selection = '' + endif +endif + +let s:invert_tabline = '' +if exists('g:colorsbox_invert_tabline') + if g:colorsbox_invert_tabline == 1 + let s:invert_tabline = s:inverse + endif +endif + +let s:italicize_comments = s:italic +if exists('g:colorsbox_italicize_comments') + if g:colorsbox_italicize_comments == 0 + let s:italicize_comments = '' + endif +endif + +let s:italicize_strings = '' +if exists('g:colorsbox_italicize_strings') + if g:colorsbox_italicize_strings == 1 + let s:italicize_strings = s:italic + endif +endif + +" }}} +" Highlighting Function: {{{ + +function! s:HL(group, fg, ...) + " Arguments: group, guifg, guibg, gui, guisp + + " foreground + let fg = a:fg + + " background + if a:0 >= 1 + let bg = a:1 + else + let bg = s:none + endif + + " emphasis + if a:0 >= 2 && strlen(a:2) + let emstr = a:2 + else + let emstr = 'NONE,' + endif + + " special fallback + if a:0 >= 3 + if g:colorsbox_guisp_fallback != 'NONE' + let fg = a:3 + endif + + " bg fallback mode should invert higlighting + if g:colorsbox_guisp_fallback == 'bg' + let emstr .= 'inverse,' + endif + endif + + let histring = [ 'hi', a:group, + \ 'guifg=' . fg[0], 'ctermfg=' . fg[1], + \ 'guibg=' . bg[0], 'ctermbg=' . bg[1], + \ 'gui=' . emstr[:-2], 'cterm=' . emstr[:-2] + \ ] + + " special + if a:0 >= 3 + call add(histring, 'guisp=' . a:3[0]) + endif + + execute join(histring, ' ') +endfunction + +" }}} +" colorsbox Hi Groups: {{{ + +" memoize common hi groups +call s:HL('colorsboxFg0', s:fg0) +call s:HL('colorsboxFg1', s:fg1) +call s:HL('colorsboxFg2', s:fg2) +call s:HL('colorsboxFg3', s:fg3) +call s:HL('colorsboxFg4', s:fg4) +call s:HL('colorsboxGray', s:gray) +call s:HL('colorsboxBg0', s:bg0) +call s:HL('colorsboxBg1', s:bg1) +call s:HL('colorsboxBg2', s:bg2) +call s:HL('colorsboxBg3', s:bg3) + +call s:HL('colorsboxRed', s:red) +call s:HL('colorsboxRedBold', s:red, s:none, s:bold) +call s:HL('colorsboxGreen', s:green) +call s:HL('colorsboxGreenBold', s:green, s:none, s:bold) +call s:HL('colorsboxYellow', s:yellow) +call s:HL('colorsboxYellowBold', s:yellow, s:none, s:bold) +call s:HL('colorsboxBlue', s:blue) +call s:HL('colorsboxBlueBold', s:blue, s:none, s:bold) +call s:HL('colorsboxPurple', s:purple) +call s:HL('colorsboxPurpleBold', s:purple, s:none, s:bold) +call s:HL('colorsboxAqua', s:aqua) +call s:HL('colorsboxAquaBold', s:aqua, s:none, s:bold) +call s:HL('colorsboxOrange', s:orange) +call s:HL('colorsboxOrangeBold', s:orange, s:none, s:bold) + +call s:HL('colorsboxRedSign', s:red, s:sign_column, s:invert_signs) +call s:HL('colorsboxGreenSign', s:green, s:sign_column, s:invert_signs) +call s:HL('colorsboxYellowSign', s:yellow, s:sign_column, s:invert_signs) +call s:HL('colorsboxBlueSign', s:blue, s:sign_column, s:invert_signs) +call s:HL('colorsboxPurpleSign', s:purple, s:sign_column, s:invert_signs) +call s:HL('colorsboxAquaSign', s:aqua, s:sign_column, s:invert_signs) + +" }}} + +" Vanilla colorscheme --------------------------------------------------------- +" General UI: {{{ + +" Normal text +call s:HL('Normal', s:fg0, s:bg0) + +" Correct background (see issue #7): +" --- Problem with changing between dark and light on 256 color terminal +" --- https://github.com/morhetz/colorsbox/issues/7 +if s:is_dark + set background=dark +else + set background=light +endif + +if version >= 700 + " Screen line that the cursor is + call s:HL('CursorLine', s:none, s:bg1) + " Screen column that the cursor is + hi! link CursorColumn CursorLine + + " Tab pages line filler + call s:HL('TabLineFill', s:bg4, s:vim_bg, s:invert_tabline) + " Active tab page label + call s:HL('TabLineSel', s:vim_bg, s:bg4, s:bold . s:invert_tabline) + " Not active tab page label + hi! link TabLine TabLineFill + + " Match paired bracket under the cursor + call s:HL('MatchParen', s:none, s:bg3, s:bold) +endif + +if version >= 703 + " Highlighted screen columns + call s:HL('ColorColumn', s:none, s:color_column) + + " Concealed element: \lambda → λ + call s:HL('Conceal', s:blue, s:none) + + " Line number of CursorLine + "call s:HL('CursorLineNr', s:yellow, s:bg1) + call s:HL('CursorLineNr', s:fg0, s:bg1) +endif + +hi! link NonText colorsboxBg2 +hi! link SpecialKey colorsboxBg2 + +call s:HL('Visual', s:none, s:bg3, s:invert_selection) +hi! link VisualNOS Visual + +call s:HL('Search', s:bg0, s:yellow) +call s:HL('IncSearch', s:bg0, s:hls_cursor) + +call s:HL('Underlined', s:blue, s:none, s:underline) + +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:fg4, s:vert_split) + +" Current match in wildmenu completion +call s:HL('WildMenu', s:blue, s:bg2, s:bold) + +" Directory names, special names in listing +hi! link Directory colorsboxGreenBold + +" Titles for output from :set all, :autocmd, etc. +hi! link Title colorsboxGreenBold + +" Error messages on the command line +call s:HL('ErrorMsg', s:vim_bg, s:red, s:bold) +" More prompt: -- More -- +hi! link MoreMsg colorsboxYellowBold +" Current mode message: -- INSERT -- +hi! link ModeMsg colorsboxYellowBold +" 'Press enter' prompt and yes/no questions +hi! link Question colorsboxOrangeBold +" Warning messages +hi! link WarningMsg colorsboxRedBold + +" }}} +" Gutter: {{{ + +" Line number for :number and :# commands +call s:HL('LineNr', s:number_column) + +" Column where signs are displayed +call s:HL('SignColumn', s:none, s:sign_column) + +" Line used for closed folds +call s:HL('Folded', s:gray, s:bg1, s:italic) +" Column where folds are displayed +call s:HL('FoldColumn', s:gray, s:bg1) + +" }}} +" Cursor: {{{ + +" Character under cursor +call s:HL('Cursor', s:none, s:none, s:inverse) +" Visual mode cursor, selection +hi! link vCursor Cursor +" Input moder cursor +hi! link iCursor Cursor +" Language mapping cursor +hi! link lCursor Cursor + +" }}} +" Syntax Highlighting: {{{ + +if g:colorsbox_improved_strings == 0 + hi! link Special colorsboxOrange +else + call s:HL('Special', s:bg1, s:orange, s:italic) +endif + +call s:HL('Comment', s:gray, s:none, s:italicize_comments) +call s:HL('Todo', s:vim_fg, s:vim_bg, s:bold . s:italic) +call s:HL('Error', s:red, s:vim_bg, s:bold . s:inverse) + +" Generic statement +hi! link Statement colorsboxRed +" if, then, else, endif, swicth, etc. +hi! link Conditional colorsboxRed +" for, do, while, etc. +hi! link Repeat colorsboxRed +" case, default, etc. +hi! link Label colorsboxRed +" try, catch, throw +hi! link Exception colorsboxRed +" sizeof, "+", "*", etc. +hi! link Operator Normal +" Any other keyword +hi! link Keyword colorsboxRed + +" Variable name +hi! link Identifier colorsboxBlue +" Function name +hi! link Function colorsboxGreenBold + +" Generic preprocessor +hi! link PreProc colorsboxAqua +" Preprocessor #include +hi! link Include colorsboxAqua +" Preprocessor #define +hi! link Define colorsboxAqua +" Same as Define +hi! link Macro colorsboxAqua +" Preprocessor #if, #else, #endif, etc. +hi! link PreCondit colorsboxAqua + +" Generic constant +hi! link Constant colorsboxPurple +" Character constant: 'c', '/n' +hi! link Character colorsboxPurple +" String constant: "this is a string" +if g:colorsbox_improved_strings == 0 + call s:HL('String', s:green, s:none, s:italicize_strings) +else + call s:HL('String', s:bg1, s:fg1, s:italicize_strings) +endif +" Boolean constant: TRUE, false +hi! link Boolean colorsboxPurple +" Number constant: 234, 0xff +hi! link Number colorsboxPurple +" Floating point constant: 2.3e10 +hi! link Float colorsboxPurple + +" Generic type +hi! link Type colorsboxYellow +" static, register, volatile, etc +hi! link StorageClass colorsboxOrange +" struct, union, enum, etc. +hi! link Structure colorsboxAqua +" typedef +hi! link Typedef colorsboxYellow + +" }}} +" Completion Menu: {{{ + +if version >= 700 + " Popup menu: normal item + call s:HL('Pmenu', s:fg1, s:bg2) + " Popup menu: selected item + call s:HL('PmenuSel', s:bg2, s:blue, s:bold) + " Popup menu: scrollbar + call s:HL('PmenuSbar', s:none, s:bg2) + " Popup menu: scrollbar thumb + call s:HL('PmenuThumb', s:none, s:bg4) +endif + +" }}} +" Diffs: {{{ + +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:bg0, s:inverse) +call s:HL('DiffText', s:yellow, s:bg0, s:inverse) + +" }}} +" Spelling: {{{ + +if has("spell") + " Not capitalised word, or compile warnings + if g:colorsbox_improved_warnings == 0 + call s:HL('SpellCap', s:none, s:none, s:undercurl, s:red) + else + call s:HL('SpellCap', s:green, s:none, s:bold . s:italic) + endif + " Not recognized word + call s:HL('SpellBad', s:none, s:none, s:undercurl, s:blue) + " Wrong spelling for selected region + call s:HL('SpellLocal', s:none, s:none, s:undercurl, s:aqua) + " Rare word + call s:HL('SpellRare', s:none, s:none, s:undercurl, s:purple) +endif + +" }}} + +" Plugin specific ------------------------------------------------------------- +" EasyMotion: {{{ + +hi! link EasyMotionTarget Search +hi! link EasyMotionShade Comment + +" }}} +" Sneak: {{{ + +hi! link SneakPluginTarget Search +hi! link SneakStreakTarget Search +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 +endif + +if g:indent_guides_auto_colors == 0 + if g:colorsbox_invert_indent_guides == 0 + call s:HL('IndentGuidesOdd', s:vim_bg, s:bg2) + call s:HL('IndentGuidesEven', s:vim_bg, s:bg1) + else + call s:HL('IndentGuidesOdd', s:vim_bg, s:bg2, s:inverse) + call s:HL('IndentGuidesEven', s:vim_bg, s:bg3, s:inverse) + endif +endif + +" }}} +" IndentLine: {{{ + +if !exists('g:indentLine_color_term') + let g:indentLine_color_term = s:bg2[1] +endif +if !exists('g:indentLine_color_gui') + let g:indentLine_color_gui = s:bg2[0] +endif + +" }}} +" Rainbow Parentheses: {{{ + +if !exists('g:rbpt_colorpairs') + let g:rbpt_colorpairs = + \ [ + \ ['blue', '#458588'], ['magenta', '#b16286'], + \ ['red', '#cc241d'], ['166', '#d65d0e'] + \ ] +endif + +let g:rainbow_guifgs = [ '#d65d0e', '#cc241d', '#b16286', '#458588' ] +let g:rainbow_ctermfgs = [ '166', 'red', 'magenta', 'blue' ] + +if !exists('g:rainbow_conf') + let g:rainbow_conf = {} +endif +if !has_key(g:rainbow_conf, 'guifgs') + let g:rainbow_conf['guifgs'] = g:rainbow_guifgs +endif +if !has_key(g:rainbow_conf, 'ctermfgs') + let g:rainbow_conf['ctermfgs'] = g:rainbow_ctermfgs +endif + +let g:niji_dark_colours = g:rbpt_colorpairs +let g:niji_light_colours = g:rbpt_colorpairs + +"}}} +" GitGutter: {{{ + +hi! link GitGutterAdd colorsboxGreenSign +hi! link GitGutterChange colorsboxAquaSign +hi! link GitGutterDelete colorsboxRedSign +hi! link GitGutterChangeDelete colorsboxAquaSign + +" }}} +" GitCommit: "{{{ + +hi! link gitcommitSelectedFile colorsboxGreen +hi! link gitcommitDiscardedFile colorsboxRed + +" }}} +" Signify: {{{ + +hi! link SignifySignAdd colorsboxGreenSign +hi! link SignifySignChange colorsboxAquaSign +hi! link SignifySignDelete colorsboxRedSign + +" }}} +" Syntastic: {{{ + +call s:HL('SyntasticError', s:none, s:none, s:undercurl, s:red) +call s:HL('SyntasticWarning', s:none, s:none, s:undercurl, s:yellow) + +hi! link SyntasticErrorSign colorsboxRedSign +hi! link SyntasticWarningSign colorsboxYellowSign + +" }}} +" Signature: {{{ + +hi! link SignatureMarkerText colorsboxPurpleSign +hi! link SignatureMarkText colorsboxBlueSign + +let g:SignatureMarkerTextHL='"SignatureMarkerText"' +let g:SignatureMarkTextHL='"SignatureMarkText"' + +" }}} +" ShowMarks: {{{ + +hi! link ShowMarksHLl colorsboxBlueSign +hi! link ShowMarksHLu colorsboxBlueSign +hi! link ShowMarksHLo colorsboxBlueSign +hi! link ShowMarksHLm colorsboxBlueSign + +" }}} +" CtrlP: {{{ + +hi! link CtrlPMatch colorsboxYellow +hi! link CtrlPNoEntries colorsboxRed +hi! link CtrlPPrtBase colorsboxBg2 +hi! link CtrlPPrtCursor colorsboxBlue +hi! link CtrlPLinePre colorsboxBg2 + +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: {{{ + +hi! link StartifyBracket colorsboxFg3 +hi! link StartifyFile colorsboxFg0 +hi! link StartifyNumber colorsboxBlue +hi! link StartifyPath colorsboxGray +hi! link StartifySlash colorsboxGray +hi! link StartifySection colorsboxYellow +hi! link StartifySpecial colorsboxBg2 +hi! link StartifyHeader colorsboxOrange +hi! link StartifyFooter colorsboxBg2 + +" }}} +" Vimshell: {{{ + +let g:vimshell_escape_colors = [ + \ 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] + \ ] + +" }}} + +" Filetype specific ----------------------------------------------------------- +" Diff: {{{ + +hi! link diffAdded colorsboxGreen +hi! link diffRemoved colorsboxRed +hi! link diffChanged colorsboxAqua + +hi! link diffFile colorsboxOrange +hi! link diffNewFile colorsboxYellow + +hi! link diffLine colorsboxBlue + +" }}} +" Html: {{{ + +hi! link htmlTag colorsboxBlue +hi! link htmlEndTag colorsboxBlue + +hi! link htmlTagName colorsboxAquaBold +hi! link htmlArg colorsboxAqua + +hi! link htmlScriptTag colorsboxPurple +hi! link htmlTagN colorsboxFg1 +hi! link htmlSpecialTagName colorsboxAquaBold + +call s:HL('htmlLink', s:fg4, s:none, s:underline) + +hi! link htmlSpecialChar colorsboxOrange + +call s:HL('htmlBold', s:vim_fg, s:vim_bg, s:bold) +call s:HL('htmlBoldUnderline', s:vim_fg, s:vim_bg, s:bold . s:underline) +call s:HL('htmlBoldItalic', s:vim_fg, s:vim_bg, s:bold . s:italic) +call s:HL('htmlBoldUnderlineItalic', s:vim_fg, s:vim_bg, s:bold . s:underline . s:italic) + +call s:HL('htmlUnderline', s:vim_fg, s:vim_bg, s:underline) +call s:HL('htmlUnderlineItalic', s:vim_fg, s:vim_bg, s:underline . s:italic) +call s:HL('htmlItalic', s:vim_fg, s:vim_bg, s:italic) + +" }}} +" Xml: {{{ + +hi! link xmlTag colorsboxBlue +hi! link xmlEndTag colorsboxBlue +hi! link xmlTagName colorsboxBlue +hi! link xmlEqual colorsboxBlue +hi! link docbkKeyword colorsboxAquaBold + +hi! link xmlDocTypeDecl colorsboxGray +hi! link xmlDocTypeKeyword colorsboxPurple +hi! link xmlCdataStart colorsboxGray +hi! link xmlCdataCdata colorsboxPurple +hi! link dtdFunction colorsboxGray +hi! link dtdTagName colorsboxPurple + +hi! link xmlAttrib colorsboxAqua +hi! link xmlProcessingDelim colorsboxGray +hi! link dtdParamEntityPunct colorsboxGray +hi! link dtdParamEntityDPunct colorsboxGray +hi! link xmlAttribPunct colorsboxGray + +hi! link xmlEntity colorsboxOrange +hi! link xmlEntityPunct colorsboxOrange +" }}} +" Vim: {{{ + +call s:HL('vimCommentTitle', s:fg4_256, s:none, s:bold . s:italicize_comments) + +hi! link vimNotation colorsboxOrange +hi! link vimBracket colorsboxOrange +hi! link vimMapModKey colorsboxOrange +hi! link vimFuncSID colorsboxFg3 +hi! link vimSetSep colorsboxFg3 +hi! link vimSep colorsboxFg3 +hi! link vimContinue colorsboxFg3 + +" }}} +" Clojure: {{{ + +hi! link clojureKeyword colorsboxBlue +hi! link clojureCond colorsboxOrange +hi! link clojureSpecial colorsboxOrange +hi! link clojureDefine colorsboxOrange + +hi! link clojureFunc colorsboxYellow +hi! link clojureRepeat colorsboxYellow +hi! link clojureCharacter colorsboxAqua +hi! link clojureStringEscape colorsboxAqua +hi! link clojureException colorsboxRed + +hi! link clojureRegexp colorsboxAqua +hi! link clojureRegexpEscape colorsboxAqua +call s:HL('clojureRegexpCharClass', s:fg3, s:none, s:bold) +hi! link clojureRegexpMod clojureRegexpCharClass +hi! link clojureRegexpQuantifier clojureRegexpCharClass + +hi! link clojureParen colorsboxFg3 +hi! link clojureAnonArg colorsboxYellow +hi! link clojureVariable colorsboxBlue +hi! link clojureMacro colorsboxOrange + +hi! link clojureMeta colorsboxYellow +hi! link clojureDeref colorsboxYellow +hi! link clojureQuote colorsboxYellow +hi! link clojureUnquote colorsboxYellow + +" }}} +" C: {{{ + +hi! link cOperator colorsboxPurple +hi! link cStructure colorsboxOrange + +" }}} +" Python: {{{ + +hi! link pythonBuiltin colorsboxOrange +hi! link pythonBuiltinObj colorsboxOrange +hi! link pythonBuiltinFunc colorsboxOrange +hi! link pythonFunction colorsboxAqua +hi! link pythonDecorator colorsboxRed +hi! link pythonInclude colorsboxBlue +hi! link pythonImport colorsboxBlue +hi! link pythonRun colorsboxBlue +hi! link pythonCoding colorsboxBlue +hi! link pythonOperator colorsboxRed +hi! link pythonExceptions colorsboxPurple +hi! link pythonBoolean colorsboxPurple +hi! link pythonDot colorsboxFg3 + +" }}} +" CSS: {{{ + +hi! link cssBraces colorsboxBlue +hi! link cssFunctionName colorsboxYellow +hi! link cssIdentifier colorsboxOrange +hi! link cssClassName colorsboxGreen +hi! link cssColor colorsboxBlue +hi! link cssSelectorOp colorsboxBlue +hi! link cssSelectorOp2 colorsboxBlue +hi! link cssImportant colorsboxGreen +hi! link cssVendor colorsboxFg1 + +hi! link cssTextProp colorsboxAqua +hi! link cssAnimationProp colorsboxAqua +hi! link cssUIProp colorsboxYellow +hi! link cssTransformProp colorsboxAqua +hi! link cssTransitionProp colorsboxAqua +hi! link cssPrintProp colorsboxAqua +hi! link cssPositioningProp colorsboxYellow +hi! link cssBoxProp colorsboxAqua +hi! link cssFontDescriptorProp colorsboxAqua +hi! link cssFlexibleBoxProp colorsboxAqua +hi! link cssBorderOutlineProp colorsboxAqua +hi! link cssBackgroundProp colorsboxAqua +hi! link cssMarginProp colorsboxAqua +hi! link cssListProp colorsboxAqua +hi! link cssTableProp colorsboxAqua +hi! link cssFontProp colorsboxAqua +hi! link cssPaddingProp colorsboxAqua +hi! link cssDimensionProp colorsboxAqua +hi! link cssRenderProp colorsboxAqua +hi! link cssColorProp colorsboxAqua +hi! link cssGeneratedContentProp colorsboxAqua + +" }}} +" JavaScript: {{{ + +hi! link javaScriptBraces colorsboxFg1 +hi! link javaScriptFunction colorsboxAqua +hi! link javaScriptIdentifier colorsboxRed +hi! link javaScriptMember colorsboxBlue +hi! link javaScriptNumber colorsboxPurple +hi! link javaScriptNull colorsboxPurple +hi! link javaScriptParens colorsboxFg3 + +" }}} +" YAJS: {{{ + +hi! link javascriptImport colorsboxAqua +hi! link javascriptExport colorsboxAqua +hi! link javascriptClassKeyword colorsboxAqua +hi! link javascriptClassExtends colorsboxAqua +hi! link javascriptDefault colorsboxAqua + +hi! link javascriptClassName colorsboxYellow +hi! link javascriptClassSuperName colorsboxYellow +hi! link javascriptGlobal colorsboxYellow + +hi! link javascriptEndColons colorsboxFg1 +hi! link javascriptFuncArg colorsboxFg1 +hi! link javascriptGlobalMethod colorsboxFg1 +hi! link javascriptNodeGlobal colorsboxFg1 + +" hi! link javascriptVariable colorsboxOrange +hi! link javascriptVariable colorsboxRed +" hi! link javascriptIdentifier colorsboxOrange +" hi! link javascriptClassSuper colorsboxOrange +hi! link javascriptIdentifier colorsboxOrange +hi! link javascriptClassSuper colorsboxOrange + +" hi! link javascriptFuncKeyword colorsboxOrange +" hi! link javascriptAsyncFunc colorsboxOrange +hi! link javascriptFuncKeyword colorsboxAqua +hi! link javascriptAsyncFunc colorsboxAqua +hi! link javascriptClassStatic colorsboxOrange + +hi! link javascriptOperator colorsboxRed +hi! link javascriptForOperator colorsboxRed +hi! link javascriptYield colorsboxRed +hi! link javascriptExceptions colorsboxRed +hi! link javascriptMessage colorsboxRed + +hi! link javascriptTemplateSB colorsboxAqua +hi! link javascriptTemplateSubstitution colorsboxFg1 + +" hi! link javascriptLabel colorsboxBlue +" hi! link javascriptObjectLabel colorsboxBlue +" hi! link javascriptPropertyName colorsboxBlue +hi! link javascriptLabel colorsboxFg1 +hi! link javascriptObjectLabel colorsboxFg1 +hi! link javascriptPropertyName colorsboxFg1 + +hi! link javascriptLogicSymbols colorsboxFg1 +hi! link javascriptArrowFunc colorsboxFg1 + +hi! link javascriptDocParamName colorsboxFg4 +hi! link javascriptDocTags colorsboxFg4 +hi! link javascriptDocNotation colorsboxFg4 +hi! link javascriptDocParamType colorsboxFg4 +hi! link javascriptDocNamedParamType colorsboxFg4 + +" }}} +" CoffeeScript: {{{ + +hi! link coffeeExtendedOp colorsboxFg3 +hi! link coffeeSpecialOp colorsboxFg3 +hi! link coffeeCurly colorsboxOrange +hi! link coffeeParen colorsboxFg3 +hi! link coffeeBracket colorsboxOrange + +" }}} +" Ruby: {{{ + +hi! link rubyStringDelimiter colorsboxGreen +hi! link rubyInterpolationDelimiter colorsboxAqua + +" }}} +" ObjectiveC: {{{ + +hi! link objcTypeModifier colorsboxRed +hi! link objcDirective colorsboxBlue + +" }}} +" Go: {{{ + +hi! link goDirective colorsboxAqua +hi! link goConstants colorsboxPurple +hi! link goDeclaration colorsboxRed +hi! link goDeclType colorsboxBlue +hi! link goBuiltins colorsboxOrange + +" }}} +" Lua: {{{ + +hi! link luaIn colorsboxRed +hi! link luaFunction colorsboxAqua +hi! link luaTable colorsboxOrange + +" }}} +" MoonScript: {{{ + +hi! link moonSpecialOp colorsboxFg3 +hi! link moonExtendedOp colorsboxFg3 +hi! link moonFunction colorsboxFg3 +hi! link moonObject colorsboxYellow + +" }}} +" Java: {{{ + +hi! link javaAnnotation colorsboxBlue +hi! link javaDocTags colorsboxAqua +hi! link javaCommentTitle vimCommentTitle +hi! link javaParen colorsboxFg3 +hi! link javaParen1 colorsboxFg3 +hi! link javaParen2 colorsboxFg3 +hi! link javaParen3 colorsboxFg3 +hi! link javaParen4 colorsboxFg3 +hi! link javaParen5 colorsboxFg3 +hi! link javaOperator colorsboxOrange + +hi! link javaVarArg colorsboxGreen + +" }}} +" Elixir: {{{ + +hi! link elixirDocString Comment + +hi! link elixirStringDelimiter colorsboxGreen +hi! link elixirInterpolationDelimiter colorsboxAqua + +" }}} +" Scala: {{{ + +" NB: scala vim syntax file is kinda horrible +hi! link scalaNameDefinition colorsboxFg1 +hi! link scalaCaseFollowing colorsboxFg1 +hi! link scalaCapitalWord colorsboxFg1 +hi! link scalaTypeExtension colorsboxFg1 + +hi! link scalaKeyword colorsboxRed +hi! link scalaKeywordModifier colorsboxRed + +hi! link scalaSpecial colorsboxAqua +hi! link scalaOperator colorsboxFg1 + +hi! link scalaTypeDeclaration colorsboxYellow +hi! link scalaTypeTypePostDeclaration colorsboxYellow + +hi! link scalaInstanceDeclaration colorsboxFg1 +hi! link scalaInterpolation colorsboxAqua + +" }}} +" Markdown: {{{ + +call s:HL('markdownItalic', s:fg3, s:none, s:italic) + +hi! link markdownH1 colorsboxGreenBold +hi! link markdownH2 colorsboxGreenBold +hi! link markdownH3 colorsboxYellowBold +hi! link markdownH4 colorsboxYellowBold +hi! link markdownH5 colorsboxYellow +hi! link markdownH6 colorsboxYellow + +hi! link markdownCode colorsboxAqua +hi! link markdownCodeBlock colorsboxAqua +hi! link markdownCodeDelimiter colorsboxAqua + +hi! link markdownBlockquote colorsboxGray +hi! link markdownListMarker colorsboxGray +hi! link markdownOrderedListMarker colorsboxGray +hi! link markdownRule colorsboxGray +hi! link markdownHeadingRule colorsboxGray + +hi! link markdownUrlDelimiter colorsboxFg3 +hi! link markdownLinkDelimiter colorsboxFg3 +hi! link markdownLinkTextDelimiter colorsboxFg3 + +hi! link markdownHeadingDelimiter colorsboxOrange +hi! link markdownUrl colorsboxPurple +hi! link markdownUrlTitleDelimiter colorsboxGreen + +call s:HL('markdownLinkText', s:gray, s:none, s:underline) +hi! link markdownIdDeclaration markdownLinkText + +" }}} +" Haskell: {{{ + +" hi! link haskellType colorsboxYellow +" hi! link haskellOperators colorsboxOrange +" hi! link haskellConditional colorsboxAqua +" hi! link haskellLet colorsboxOrange +" +hi! link haskellType colorsboxFg1 +hi! link haskellIdentifier colorsboxFg1 +hi! link haskellSeparator colorsboxFg1 +hi! link haskellDelimiter colorsboxFg4 +hi! link haskellOperators colorsboxBlue +" +hi! link haskellBacktick colorsboxOrange +hi! link haskellStatement colorsboxOrange +hi! link haskellConditional colorsboxOrange + +hi! link haskellLet colorsboxAqua +hi! link haskellDefault colorsboxAqua +hi! link haskellWhere colorsboxAqua +hi! link haskellBottom colorsboxAqua +hi! link haskellBlockKeywords colorsboxAqua +hi! link haskellImportKeywords colorsboxAqua +hi! link haskellDeclKeyword colorsboxAqua +hi! link haskellDeriving colorsboxAqua +hi! link haskellAssocType colorsboxAqua + +hi! link haskellNumber colorsboxPurple +hi! link haskellPragma colorsboxPurple + +hi! link haskellString colorsboxGreen +hi! link haskellChar colorsboxGreen + +" }}} +" Json: {{{ + +hi! link jsonKeyword colorsboxGreen +hi! link jsonQuote colorsboxGreen +hi! link jsonBraces colorsboxFg1 +hi! link jsonString colorsboxFg1 + +" }}} + + +" Functions ------------------------------------------------------------------- +" Search Highlighting Cursor {{{ + +function! ColorsboxHlsShowCursor() + call s:HL('Cursor', s:bg0, s:hls_cursor) +endfunction + +function! ColorsboxHlsHideCursor() + call s:HL('Cursor', s:none, s:none, s:inverse) +endfunction + +" }}} + +" vim: set sw=2 ts=2 sts=2 et tw=80 ft=vim fdm=marker: diff --git a/.vim/colors/colorsbox-greenish.vim b/.vim/colors/colorsbox-greenish.vim new file mode 100644 index 0000000..4bd80f4 --- /dev/null +++ b/.vim/colors/colorsbox-greenish.vim @@ -0,0 +1,1159 @@ +" ----------------------------------------------------------------------------- +" File: colorsbox.vim +" Description: Material color scheme using gruvbox as a skel +" Author: mkarmona +" Source: https://github.com/mkarmona/colorsbox +" Last Modified: 22 Oct 2015 +" ----------------------------------------------------------------------------- + +" Supporting code ------------------------------------------------------------- +" Initialisation: {{{ + +if version > 580 + hi clear + if exists("syntax_on") + syntax reset + endif +endif + +let g:colors_name='colorsbox-greenish' + +if !has('gui_running') && &t_Co != 256 + finish +endif + +" }}} +" Global Settings: {{{ + +if !exists('g:colorsbox_bold') + let g:colorsbox_bold=1 +endif +if !exists('g:colorsbox_italic') + if has('gui_running') || $TERM_ITALICS == 'true' + let g:colorsbox_italic=1 + else + let g:colorsbox_italic=0 + endif +endif +if !exists('g:colorsbox_undercurl') + let g:colorsbox_undercurl=1 +endif +if !exists('g:colorsbox_underline') + let g:colorsbox_underline=1 +endif +if !exists('g:colorsbox_inverse') + let g:colorsbox_inverse=1 +endif + +if !exists('g:colorsbox_guisp_fallback') || index(['fg', 'bg'], g:colorsbox_guisp_fallback) == -1 + let g:colorsbox_guisp_fallback='NONE' +endif + +if !exists('g:colorsbox_improved_strings') + let g:colorsbox_improved_strings=0 +endif + +if !exists('g:colorsbox_improved_warnings') + let g:colorsbox_improved_warnings=0 +endif + +if !exists('g:colorsbox_termcolors') + let g:colorsbox_termcolors=256 +endif + +if !exists('g:colorsbox_invert_indent_guides') + let g:colorsbox_invert_indent_guides=0 +endif + +let s:is_dark=(&background == 'dark') + +" }}} +" Palette: {{{ + +" setup palette dictionary +let s:gb = {} + +" fill it with absolute colors +let s:gb.dark0_hard = ['#BBC4A2', 234] " 29-32-33 +let s:gb.dark0 = ['#BBC4A2', 235] " 40-40-40 +let s:gb.dark0_soft = ['#BBC4A2', 236] " 50-48-47 +let s:gb.dark1 = ['#C6CEB1', 237] " 60-56-54 +let s:gb.dark2 = ['#D1D7C1', 239] " 80-73-69 +let s:gb.dark3 = ['#DDE1D0', 241] " 102-92-84 +let s:gb.dark4 = ['#E8EBE0', 243] " 124-111-100 +let s:gb.dark4_256 = ['#E8EBE0', 243] " 124-111-100 + +let s:gb.gray_245 = ['#717D4F', 245] " 146-131-116 dark + +let s:gb.light0_hard = ['#2A2F1E', 230] " 249-245-215 dark +let s:gb.light0 = ['#2A2F1E', 229] " 253-244-193 +let s:gb.light0_soft = ['#2A2F1E', 228] " 242-229-188 +let s:gb.light1 = ['#464E31', 223] " 235-219-178 +let s:gb.light2 = ['#555E3B', 250] " 213-196-161 +let s:gb.light3 = ['#636D45', 248] " 189-174-147 +let s:gb.light4 = ['#717D4F', 246] " 168-153-132 +let s:gb.light4_256 = ['#717D4F', 246] " 168-153-132 + +let s:gb.bright_red = ['#990000', 167] " 251-73-52 +let s:gb.bright_green = ['#1E8000', 142] " 184-187-38 +let s:gb.bright_yellow = ['#807700', 214] " 250-189-47 +let s:gb.bright_blue = ['#002499', 109] " 131-165-152 +let s:gb.bright_purple = ['#8C008F', 175] " 211-134-155 +let s:gb.bright_aqua = ['#007099', 108] " 142-192-124 +let s:gb.bright_orange = ['#804800', 208] " 254-128-25 + + +" }}} +" Setup Emphasis: {{{ + +let s:bold = 'bold,' +if g:colorsbox_bold == 0 + let s:bold = '' +endif + +let s:italic = 'italic,' +if g:colorsbox_italic == 0 + let s:italic = '' +endif + +let s:underline = 'underline,' +if g:colorsbox_underline == 0 + let s:underline = '' +endif + +let s:undercurl = 'undercurl,' +if g:colorsbox_undercurl == 0 + let s:undercurl = '' +endif + +let s:inverse = 'inverse,' +if g:colorsbox_inverse == 0 + let s:inverse = '' +endif + +" }}} +" Setup Colors: {{{ + +let s:vim_bg = ['bg', 'bg'] +let s:vim_fg = ['fg', 'fg'] +let s:none = ['NONE', 'NONE'] + +if !exists('g:colorsbox_contrast_dark') + let g:colorsbox_contrast_dark = 'medium' +endif + +" determine relative colors +let s:bg0 = s:gb.dark0 +if g:colorsbox_contrast_dark == 'soft' + let s:bg0 = s:gb.dark0_soft +elseif g:colorsbox_contrast_dark == 'hard' + let s:bg0 = s:gb.dark0_hard +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 + +" reset to 16 colors fallback +if g:colorsbox_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:colorsbox_hls_cursor') + let s:hls_cursor = get(s:gb, g:colorsbox_hls_cursor) +endif + +"let s:number_column = s:bg4 +let s:number_column = s:gray +let s:sign_column = s:bg1 + +if exists('g:gitgutter_override_sign_column_highlight') && + \ g:gitgutter_override_sign_column_highlight == 1 + let s:sign_column = s:number_column +else + let g:gitgutter_override_sign_column_highlight = 0 + + if exists('g:colorsbox_sign_column') + let s:sign_column = get(s:gb, g:colorsbox_sign_column) + endif +endif + +let s:color_column = s:bg1 +if exists('g:colorsbox_color_column') + let s:color_column = get(s:gb, g:colorsbox_color_column) +endif + +let s:vert_split = s:bg2 +if exists('g:colorsbox_vert_split') + let s:vert_split = get(s:gb, g:colorsbox_vert_split) +endif + +let s:invert_signs = '' +if exists('g:colorsbox_invert_signs') + if g:colorsbox_invert_signs == 1 + let s:invert_signs = s:inverse + endif +endif + +let s:invert_selection = s:inverse +if exists('g:colorsbox_invert_selection') + if g:colorsbox_invert_selection == 0 + let s:invert_selection = '' + endif +endif + +let s:invert_tabline = '' +if exists('g:colorsbox_invert_tabline') + if g:colorsbox_invert_tabline == 1 + let s:invert_tabline = s:inverse + endif +endif + +let s:italicize_comments = s:italic +if exists('g:colorsbox_italicize_comments') + if g:colorsbox_italicize_comments == 0 + let s:italicize_comments = '' + endif +endif + +let s:italicize_strings = '' +if exists('g:colorsbox_italicize_strings') + if g:colorsbox_italicize_strings == 1 + let s:italicize_strings = s:italic + endif +endif + +" }}} +" Highlighting Function: {{{ + +function! s:HL(group, fg, ...) + " Arguments: group, guifg, guibg, gui, guisp + + " foreground + let fg = a:fg + + " background + if a:0 >= 1 + let bg = a:1 + else + let bg = s:none + endif + + " emphasis + if a:0 >= 2 && strlen(a:2) + let emstr = a:2 + else + let emstr = 'NONE,' + endif + + " special fallback + if a:0 >= 3 + if g:colorsbox_guisp_fallback != 'NONE' + let fg = a:3 + endif + + " bg fallback mode should invert higlighting + if g:colorsbox_guisp_fallback == 'bg' + let emstr .= 'inverse,' + endif + endif + + let histring = [ 'hi', a:group, + \ 'guifg=' . fg[0], 'ctermfg=' . fg[1], + \ 'guibg=' . bg[0], 'ctermbg=' . bg[1], + \ 'gui=' . emstr[:-2], 'cterm=' . emstr[:-2] + \ ] + + " special + if a:0 >= 3 + call add(histring, 'guisp=' . a:3[0]) + endif + + execute join(histring, ' ') +endfunction + +" }}} +" colorsbox Hi Groups: {{{ + +" memoize common hi groups +call s:HL('colorsboxFg0', s:fg0) +call s:HL('colorsboxFg1', s:fg1) +call s:HL('colorsboxFg2', s:fg2) +call s:HL('colorsboxFg3', s:fg3) +call s:HL('colorsboxFg4', s:fg4) +call s:HL('colorsboxGray', s:gray) +call s:HL('colorsboxBg0', s:bg0) +call s:HL('colorsboxBg1', s:bg1) +call s:HL('colorsboxBg2', s:bg2) +call s:HL('colorsboxBg3', s:bg3) + +call s:HL('colorsboxRed', s:red) +call s:HL('colorsboxRedBold', s:red, s:none, s:bold) +call s:HL('colorsboxGreen', s:green) +call s:HL('colorsboxGreenBold', s:green, s:none, s:bold) +call s:HL('colorsboxYellow', s:yellow) +call s:HL('colorsboxYellowBold', s:yellow, s:none, s:bold) +call s:HL('colorsboxBlue', s:blue) +call s:HL('colorsboxBlueBold', s:blue, s:none, s:bold) +call s:HL('colorsboxPurple', s:purple) +call s:HL('colorsboxPurpleBold', s:purple, s:none, s:bold) +call s:HL('colorsboxAqua', s:aqua) +call s:HL('colorsboxAquaBold', s:aqua, s:none, s:bold) +call s:HL('colorsboxOrange', s:orange) +call s:HL('colorsboxOrangeBold', s:orange, s:none, s:bold) + +call s:HL('colorsboxRedSign', s:red, s:sign_column, s:invert_signs) +call s:HL('colorsboxGreenSign', s:green, s:sign_column, s:invert_signs) +call s:HL('colorsboxYellowSign', s:yellow, s:sign_column, s:invert_signs) +call s:HL('colorsboxBlueSign', s:blue, s:sign_column, s:invert_signs) +call s:HL('colorsboxPurpleSign', s:purple, s:sign_column, s:invert_signs) +call s:HL('colorsboxAquaSign', s:aqua, s:sign_column, s:invert_signs) + +" }}} + +" Vanilla colorscheme --------------------------------------------------------- +" General UI: {{{ + +" Normal text +call s:HL('Normal', s:fg0, s:bg0) + +" Correct background (see issue #7): +" --- Problem with changing between dark and light on 256 color terminal +" --- https://github.com/morhetz/colorsbox/issues/7 +if s:is_dark + set background=dark +else + set background=light +endif + +if version >= 700 + " Screen line that the cursor is + call s:HL('CursorLine', s:none, s:bg1) + " Screen column that the cursor is + hi! link CursorColumn CursorLine + + " Tab pages line filler + call s:HL('TabLineFill', s:bg4, s:vim_bg, s:invert_tabline) + " Active tab page label + call s:HL('TabLineSel', s:vim_bg, s:bg4, s:bold . s:invert_tabline) + " Not active tab page label + hi! link TabLine TabLineFill + + " Match paired bracket under the cursor + call s:HL('MatchParen', s:none, s:bg3, s:bold) +endif + +if version >= 703 + " Highlighted screen columns + call s:HL('ColorColumn', s:none, s:color_column) + + " Concealed element: \lambda → λ + call s:HL('Conceal', s:blue, s:none) + + " Line number of CursorLine + "call s:HL('CursorLineNr', s:yellow, s:bg1) + call s:HL('CursorLineNr', s:fg0, s:bg1) +endif + +hi! link NonText colorsboxBg2 +hi! link SpecialKey colorsboxBg2 + +call s:HL('Visual', s:none, s:bg3, s:invert_selection) +hi! link VisualNOS Visual + +call s:HL('Search', s:bg0, s:yellow) +call s:HL('IncSearch', s:bg0, s:hls_cursor) + +call s:HL('Underlined', s:blue, s:none, s:underline) + +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:fg4, s:vert_split) + +" Current match in wildmenu completion +call s:HL('WildMenu', s:blue, s:bg2, s:bold) + +" Directory names, special names in listing +hi! link Directory colorsboxGreenBold + +" Titles for output from :set all, :autocmd, etc. +hi! link Title colorsboxGreenBold + +" Error messages on the command line +call s:HL('ErrorMsg', s:vim_bg, s:red, s:bold) +" More prompt: -- More -- +hi! link MoreMsg colorsboxYellowBold +" Current mode message: -- INSERT -- +hi! link ModeMsg colorsboxYellowBold +" 'Press enter' prompt and yes/no questions +hi! link Question colorsboxOrangeBold +" Warning messages +hi! link WarningMsg colorsboxRedBold + +" }}} +" Gutter: {{{ + +" Line number for :number and :# commands +call s:HL('LineNr', s:number_column) + +" Column where signs are displayed +call s:HL('SignColumn', s:none, s:sign_column) + +" Line used for closed folds +call s:HL('Folded', s:gray, s:bg1, s:italic) +" Column where folds are displayed +call s:HL('FoldColumn', s:gray, s:bg1) + +" }}} +" Cursor: {{{ + +" Character under cursor +call s:HL('Cursor', s:none, s:none, s:inverse) +" Visual mode cursor, selection +hi! link vCursor Cursor +" Input moder cursor +hi! link iCursor Cursor +" Language mapping cursor +hi! link lCursor Cursor + +" }}} +" Syntax Highlighting: {{{ + +if g:colorsbox_improved_strings == 0 + hi! link Special colorsboxOrange +else + call s:HL('Special', s:bg1, s:orange, s:italic) +endif + +call s:HL('Comment', s:gray, s:none, s:italicize_comments) +call s:HL('Todo', s:vim_fg, s:vim_bg, s:bold . s:italic) +call s:HL('Error', s:red, s:vim_bg, s:bold . s:inverse) + +" Generic statement +hi! link Statement colorsboxRed +" if, then, else, endif, swicth, etc. +hi! link Conditional colorsboxRed +" for, do, while, etc. +hi! link Repeat colorsboxRed +" case, default, etc. +hi! link Label colorsboxRed +" try, catch, throw +hi! link Exception colorsboxRed +" sizeof, "+", "*", etc. +hi! link Operator Normal +" Any other keyword +hi! link Keyword colorsboxRed + +" Variable name +hi! link Identifier colorsboxBlue +" Function name +hi! link Function colorsboxGreenBold + +" Generic preprocessor +hi! link PreProc colorsboxAqua +" Preprocessor #include +hi! link Include colorsboxAqua +" Preprocessor #define +hi! link Define colorsboxAqua +" Same as Define +hi! link Macro colorsboxAqua +" Preprocessor #if, #else, #endif, etc. +hi! link PreCondit colorsboxAqua + +" Generic constant +hi! link Constant colorsboxPurple +" Character constant: 'c', '/n' +hi! link Character colorsboxPurple +" String constant: "this is a string" +if g:colorsbox_improved_strings == 0 + call s:HL('String', s:green, s:none, s:italicize_strings) +else + call s:HL('String', s:bg1, s:fg1, s:italicize_strings) +endif +" Boolean constant: TRUE, false +hi! link Boolean colorsboxPurple +" Number constant: 234, 0xff +hi! link Number colorsboxPurple +" Floating point constant: 2.3e10 +hi! link Float colorsboxPurple + +" Generic type +hi! link Type colorsboxYellow +" static, register, volatile, etc +hi! link StorageClass colorsboxOrange +" struct, union, enum, etc. +hi! link Structure colorsboxAqua +" typedef +hi! link Typedef colorsboxYellow + +" }}} +" Completion Menu: {{{ + +if version >= 700 + " Popup menu: normal item + call s:HL('Pmenu', s:fg1, s:bg2) + " Popup menu: selected item + call s:HL('PmenuSel', s:bg2, s:blue, s:bold) + " Popup menu: scrollbar + call s:HL('PmenuSbar', s:none, s:bg2) + " Popup menu: scrollbar thumb + call s:HL('PmenuThumb', s:none, s:bg4) +endif + +" }}} +" Diffs: {{{ + +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:bg0, s:inverse) +call s:HL('DiffText', s:yellow, s:bg0, s:inverse) + +" }}} +" Spelling: {{{ + +if has("spell") + " Not capitalised word, or compile warnings + if g:colorsbox_improved_warnings == 0 + call s:HL('SpellCap', s:none, s:none, s:undercurl, s:red) + else + call s:HL('SpellCap', s:green, s:none, s:bold . s:italic) + endif + " Not recognized word + call s:HL('SpellBad', s:none, s:none, s:undercurl, s:blue) + " Wrong spelling for selected region + call s:HL('SpellLocal', s:none, s:none, s:undercurl, s:aqua) + " Rare word + call s:HL('SpellRare', s:none, s:none, s:undercurl, s:purple) +endif + +" }}} + +" Plugin specific ------------------------------------------------------------- +" EasyMotion: {{{ + +hi! link EasyMotionTarget Search +hi! link EasyMotionShade Comment + +" }}} +" Sneak: {{{ + +hi! link SneakPluginTarget Search +hi! link SneakStreakTarget Search +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 +endif + +if g:indent_guides_auto_colors == 0 + if g:colorsbox_invert_indent_guides == 0 + call s:HL('IndentGuidesOdd', s:vim_bg, s:bg2) + call s:HL('IndentGuidesEven', s:vim_bg, s:bg1) + else + call s:HL('IndentGuidesOdd', s:vim_bg, s:bg2, s:inverse) + call s:HL('IndentGuidesEven', s:vim_bg, s:bg3, s:inverse) + endif +endif + +" }}} +" IndentLine: {{{ + +if !exists('g:indentLine_color_term') + let g:indentLine_color_term = s:bg2[1] +endif +if !exists('g:indentLine_color_gui') + let g:indentLine_color_gui = s:bg2[0] +endif + +" }}} +" Rainbow Parentheses: {{{ + +if !exists('g:rbpt_colorpairs') + let g:rbpt_colorpairs = + \ [ + \ ['blue', '#458588'], ['magenta', '#b16286'], + \ ['red', '#cc241d'], ['166', '#d65d0e'] + \ ] +endif + +let g:rainbow_guifgs = [ '#d65d0e', '#cc241d', '#b16286', '#458588' ] +let g:rainbow_ctermfgs = [ '166', 'red', 'magenta', 'blue' ] + +if !exists('g:rainbow_conf') + let g:rainbow_conf = {} +endif +if !has_key(g:rainbow_conf, 'guifgs') + let g:rainbow_conf['guifgs'] = g:rainbow_guifgs +endif +if !has_key(g:rainbow_conf, 'ctermfgs') + let g:rainbow_conf['ctermfgs'] = g:rainbow_ctermfgs +endif + +let g:niji_dark_colours = g:rbpt_colorpairs +let g:niji_light_colours = g:rbpt_colorpairs + +"}}} +" GitGutter: {{{ + +hi! link GitGutterAdd colorsboxGreenSign +hi! link GitGutterChange colorsboxAquaSign +hi! link GitGutterDelete colorsboxRedSign +hi! link GitGutterChangeDelete colorsboxAquaSign + +" }}} +" GitCommit: "{{{ + +hi! link gitcommitSelectedFile colorsboxGreen +hi! link gitcommitDiscardedFile colorsboxRed + +" }}} +" Signify: {{{ + +hi! link SignifySignAdd colorsboxGreenSign +hi! link SignifySignChange colorsboxAquaSign +hi! link SignifySignDelete colorsboxRedSign + +" }}} +" Syntastic: {{{ + +call s:HL('SyntasticError', s:none, s:none, s:undercurl, s:red) +call s:HL('SyntasticWarning', s:none, s:none, s:undercurl, s:yellow) + +hi! link SyntasticErrorSign colorsboxRedSign +hi! link SyntasticWarningSign colorsboxYellowSign + +" }}} +" Signature: {{{ + +hi! link SignatureMarkerText colorsboxPurpleSign +hi! link SignatureMarkText colorsboxBlueSign + +let g:SignatureMarkerTextHL='"SignatureMarkerText"' +let g:SignatureMarkTextHL='"SignatureMarkText"' + +" }}} +" ShowMarks: {{{ + +hi! link ShowMarksHLl colorsboxBlueSign +hi! link ShowMarksHLu colorsboxBlueSign +hi! link ShowMarksHLo colorsboxBlueSign +hi! link ShowMarksHLm colorsboxBlueSign + +" }}} +" CtrlP: {{{ + +hi! link CtrlPMatch colorsboxYellow +hi! link CtrlPNoEntries colorsboxRed +hi! link CtrlPPrtBase colorsboxBg2 +hi! link CtrlPPrtCursor colorsboxBlue +hi! link CtrlPLinePre colorsboxBg2 + +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: {{{ + +hi! link StartifyBracket colorsboxFg3 +hi! link StartifyFile colorsboxFg0 +hi! link StartifyNumber colorsboxBlue +hi! link StartifyPath colorsboxGray +hi! link StartifySlash colorsboxGray +hi! link StartifySection colorsboxYellow +hi! link StartifySpecial colorsboxBg2 +hi! link StartifyHeader colorsboxOrange +hi! link StartifyFooter colorsboxBg2 + +" }}} +" Vimshell: {{{ + +let g:vimshell_escape_colors = [ + \ 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] + \ ] + +" }}} + +" Filetype specific ----------------------------------------------------------- +" Diff: {{{ + +hi! link diffAdded colorsboxGreen +hi! link diffRemoved colorsboxRed +hi! link diffChanged colorsboxAqua + +hi! link diffFile colorsboxOrange +hi! link diffNewFile colorsboxYellow + +hi! link diffLine colorsboxBlue + +" }}} +" Html: {{{ + +hi! link htmlTag colorsboxBlue +hi! link htmlEndTag colorsboxBlue + +hi! link htmlTagName colorsboxAquaBold +hi! link htmlArg colorsboxAqua + +hi! link htmlScriptTag colorsboxPurple +hi! link htmlTagN colorsboxFg1 +hi! link htmlSpecialTagName colorsboxAquaBold + +call s:HL('htmlLink', s:fg4, s:none, s:underline) + +hi! link htmlSpecialChar colorsboxOrange + +call s:HL('htmlBold', s:vim_fg, s:vim_bg, s:bold) +call s:HL('htmlBoldUnderline', s:vim_fg, s:vim_bg, s:bold . s:underline) +call s:HL('htmlBoldItalic', s:vim_fg, s:vim_bg, s:bold . s:italic) +call s:HL('htmlBoldUnderlineItalic', s:vim_fg, s:vim_bg, s:bold . s:underline . s:italic) + +call s:HL('htmlUnderline', s:vim_fg, s:vim_bg, s:underline) +call s:HL('htmlUnderlineItalic', s:vim_fg, s:vim_bg, s:underline . s:italic) +call s:HL('htmlItalic', s:vim_fg, s:vim_bg, s:italic) + +" }}} +" Xml: {{{ + +hi! link xmlTag colorsboxBlue +hi! link xmlEndTag colorsboxBlue +hi! link xmlTagName colorsboxBlue +hi! link xmlEqual colorsboxBlue +hi! link docbkKeyword colorsboxAquaBold + +hi! link xmlDocTypeDecl colorsboxGray +hi! link xmlDocTypeKeyword colorsboxPurple +hi! link xmlCdataStart colorsboxGray +hi! link xmlCdataCdata colorsboxPurple +hi! link dtdFunction colorsboxGray +hi! link dtdTagName colorsboxPurple + +hi! link xmlAttrib colorsboxAqua +hi! link xmlProcessingDelim colorsboxGray +hi! link dtdParamEntityPunct colorsboxGray +hi! link dtdParamEntityDPunct colorsboxGray +hi! link xmlAttribPunct colorsboxGray + +hi! link xmlEntity colorsboxOrange +hi! link xmlEntityPunct colorsboxOrange +" }}} +" Vim: {{{ + +call s:HL('vimCommentTitle', s:fg4_256, s:none, s:bold . s:italicize_comments) + +hi! link vimNotation colorsboxOrange +hi! link vimBracket colorsboxOrange +hi! link vimMapModKey colorsboxOrange +hi! link vimFuncSID colorsboxFg3 +hi! link vimSetSep colorsboxFg3 +hi! link vimSep colorsboxFg3 +hi! link vimContinue colorsboxFg3 + +" }}} +" Clojure: {{{ + +hi! link clojureKeyword colorsboxBlue +hi! link clojureCond colorsboxOrange +hi! link clojureSpecial colorsboxOrange +hi! link clojureDefine colorsboxOrange + +hi! link clojureFunc colorsboxYellow +hi! link clojureRepeat colorsboxYellow +hi! link clojureCharacter colorsboxAqua +hi! link clojureStringEscape colorsboxAqua +hi! link clojureException colorsboxRed + +hi! link clojureRegexp colorsboxAqua +hi! link clojureRegexpEscape colorsboxAqua +call s:HL('clojureRegexpCharClass', s:fg3, s:none, s:bold) +hi! link clojureRegexpMod clojureRegexpCharClass +hi! link clojureRegexpQuantifier clojureRegexpCharClass + +hi! link clojureParen colorsboxFg3 +hi! link clojureAnonArg colorsboxYellow +hi! link clojureVariable colorsboxBlue +hi! link clojureMacro colorsboxOrange + +hi! link clojureMeta colorsboxYellow +hi! link clojureDeref colorsboxYellow +hi! link clojureQuote colorsboxYellow +hi! link clojureUnquote colorsboxYellow + +" }}} +" C: {{{ + +hi! link cOperator colorsboxPurple +hi! link cStructure colorsboxOrange + +" }}} +" Python: {{{ + +hi! link pythonBuiltin colorsboxOrange +hi! link pythonBuiltinObj colorsboxOrange +hi! link pythonBuiltinFunc colorsboxOrange +hi! link pythonFunction colorsboxAqua +hi! link pythonDecorator colorsboxRed +hi! link pythonInclude colorsboxBlue +hi! link pythonImport colorsboxBlue +hi! link pythonRun colorsboxBlue +hi! link pythonCoding colorsboxBlue +hi! link pythonOperator colorsboxRed +hi! link pythonExceptions colorsboxPurple +hi! link pythonBoolean colorsboxPurple +hi! link pythonDot colorsboxFg3 + +" }}} +" CSS: {{{ + +hi! link cssBraces colorsboxBlue +hi! link cssFunctionName colorsboxYellow +hi! link cssIdentifier colorsboxOrange +hi! link cssClassName colorsboxGreen +hi! link cssColor colorsboxBlue +hi! link cssSelectorOp colorsboxBlue +hi! link cssSelectorOp2 colorsboxBlue +hi! link cssImportant colorsboxGreen +hi! link cssVendor colorsboxFg1 + +hi! link cssTextProp colorsboxAqua +hi! link cssAnimationProp colorsboxAqua +hi! link cssUIProp colorsboxYellow +hi! link cssTransformProp colorsboxAqua +hi! link cssTransitionProp colorsboxAqua +hi! link cssPrintProp colorsboxAqua +hi! link cssPositioningProp colorsboxYellow +hi! link cssBoxProp colorsboxAqua +hi! link cssFontDescriptorProp colorsboxAqua +hi! link cssFlexibleBoxProp colorsboxAqua +hi! link cssBorderOutlineProp colorsboxAqua +hi! link cssBackgroundProp colorsboxAqua +hi! link cssMarginProp colorsboxAqua +hi! link cssListProp colorsboxAqua +hi! link cssTableProp colorsboxAqua +hi! link cssFontProp colorsboxAqua +hi! link cssPaddingProp colorsboxAqua +hi! link cssDimensionProp colorsboxAqua +hi! link cssRenderProp colorsboxAqua +hi! link cssColorProp colorsboxAqua +hi! link cssGeneratedContentProp colorsboxAqua + +" }}} +" JavaScript: {{{ + +hi! link javaScriptBraces colorsboxFg1 +hi! link javaScriptFunction colorsboxAqua +hi! link javaScriptIdentifier colorsboxRed +hi! link javaScriptMember colorsboxBlue +hi! link javaScriptNumber colorsboxPurple +hi! link javaScriptNull colorsboxPurple +hi! link javaScriptParens colorsboxFg3 + +" }}} +" YAJS: {{{ + +hi! link javascriptImport colorsboxAqua +hi! link javascriptExport colorsboxAqua +hi! link javascriptClassKeyword colorsboxAqua +hi! link javascriptClassExtends colorsboxAqua +hi! link javascriptDefault colorsboxAqua + +hi! link javascriptClassName colorsboxYellow +hi! link javascriptClassSuperName colorsboxYellow +hi! link javascriptGlobal colorsboxYellow + +hi! link javascriptEndColons colorsboxFg1 +hi! link javascriptFuncArg colorsboxFg1 +hi! link javascriptGlobalMethod colorsboxFg1 +hi! link javascriptNodeGlobal colorsboxFg1 + +" hi! link javascriptVariable colorsboxOrange +hi! link javascriptVariable colorsboxRed +" hi! link javascriptIdentifier colorsboxOrange +" hi! link javascriptClassSuper colorsboxOrange +hi! link javascriptIdentifier colorsboxOrange +hi! link javascriptClassSuper colorsboxOrange + +" hi! link javascriptFuncKeyword colorsboxOrange +" hi! link javascriptAsyncFunc colorsboxOrange +hi! link javascriptFuncKeyword colorsboxAqua +hi! link javascriptAsyncFunc colorsboxAqua +hi! link javascriptClassStatic colorsboxOrange + +hi! link javascriptOperator colorsboxRed +hi! link javascriptForOperator colorsboxRed +hi! link javascriptYield colorsboxRed +hi! link javascriptExceptions colorsboxRed +hi! link javascriptMessage colorsboxRed + +hi! link javascriptTemplateSB colorsboxAqua +hi! link javascriptTemplateSubstitution colorsboxFg1 + +" hi! link javascriptLabel colorsboxBlue +" hi! link javascriptObjectLabel colorsboxBlue +" hi! link javascriptPropertyName colorsboxBlue +hi! link javascriptLabel colorsboxFg1 +hi! link javascriptObjectLabel colorsboxFg1 +hi! link javascriptPropertyName colorsboxFg1 + +hi! link javascriptLogicSymbols colorsboxFg1 +hi! link javascriptArrowFunc colorsboxFg1 + +hi! link javascriptDocParamName colorsboxFg4 +hi! link javascriptDocTags colorsboxFg4 +hi! link javascriptDocNotation colorsboxFg4 +hi! link javascriptDocParamType colorsboxFg4 +hi! link javascriptDocNamedParamType colorsboxFg4 + +" }}} +" CoffeeScript: {{{ + +hi! link coffeeExtendedOp colorsboxFg3 +hi! link coffeeSpecialOp colorsboxFg3 +hi! link coffeeCurly colorsboxOrange +hi! link coffeeParen colorsboxFg3 +hi! link coffeeBracket colorsboxOrange + +" }}} +" Ruby: {{{ + +hi! link rubyStringDelimiter colorsboxGreen +hi! link rubyInterpolationDelimiter colorsboxAqua + +" }}} +" ObjectiveC: {{{ + +hi! link objcTypeModifier colorsboxRed +hi! link objcDirective colorsboxBlue + +" }}} +" Go: {{{ + +hi! link goDirective colorsboxAqua +hi! link goConstants colorsboxPurple +hi! link goDeclaration colorsboxRed +hi! link goDeclType colorsboxBlue +hi! link goBuiltins colorsboxOrange + +" }}} +" Lua: {{{ + +hi! link luaIn colorsboxRed +hi! link luaFunction colorsboxAqua +hi! link luaTable colorsboxOrange + +" }}} +" MoonScript: {{{ + +hi! link moonSpecialOp colorsboxFg3 +hi! link moonExtendedOp colorsboxFg3 +hi! link moonFunction colorsboxFg3 +hi! link moonObject colorsboxYellow + +" }}} +" Java: {{{ + +hi! link javaAnnotation colorsboxBlue +hi! link javaDocTags colorsboxAqua +hi! link javaCommentTitle vimCommentTitle +hi! link javaParen colorsboxFg3 +hi! link javaParen1 colorsboxFg3 +hi! link javaParen2 colorsboxFg3 +hi! link javaParen3 colorsboxFg3 +hi! link javaParen4 colorsboxFg3 +hi! link javaParen5 colorsboxFg3 +hi! link javaOperator colorsboxOrange + +hi! link javaVarArg colorsboxGreen + +" }}} +" Elixir: {{{ + +hi! link elixirDocString Comment + +hi! link elixirStringDelimiter colorsboxGreen +hi! link elixirInterpolationDelimiter colorsboxAqua + +" }}} +" Scala: {{{ + +" NB: scala vim syntax file is kinda horrible +hi! link scalaNameDefinition colorsboxFg1 +hi! link scalaCaseFollowing colorsboxFg1 +hi! link scalaCapitalWord colorsboxFg1 +hi! link scalaTypeExtension colorsboxFg1 + +hi! link scalaKeyword colorsboxRed +hi! link scalaKeywordModifier colorsboxRed + +hi! link scalaSpecial colorsboxAqua +hi! link scalaOperator colorsboxFg1 + +hi! link scalaTypeDeclaration colorsboxYellow +hi! link scalaTypeTypePostDeclaration colorsboxYellow + +hi! link scalaInstanceDeclaration colorsboxFg1 +hi! link scalaInterpolation colorsboxAqua + +" }}} +" Markdown: {{{ + +call s:HL('markdownItalic', s:fg3, s:none, s:italic) + +hi! link markdownH1 colorsboxGreenBold +hi! link markdownH2 colorsboxGreenBold +hi! link markdownH3 colorsboxYellowBold +hi! link markdownH4 colorsboxYellowBold +hi! link markdownH5 colorsboxYellow +hi! link markdownH6 colorsboxYellow + +hi! link markdownCode colorsboxAqua +hi! link markdownCodeBlock colorsboxAqua +hi! link markdownCodeDelimiter colorsboxAqua + +hi! link markdownBlockquote colorsboxGray +hi! link markdownListMarker colorsboxGray +hi! link markdownOrderedListMarker colorsboxGray +hi! link markdownRule colorsboxGray +hi! link markdownHeadingRule colorsboxGray + +hi! link markdownUrlDelimiter colorsboxFg3 +hi! link markdownLinkDelimiter colorsboxFg3 +hi! link markdownLinkTextDelimiter colorsboxFg3 + +hi! link markdownHeadingDelimiter colorsboxOrange +hi! link markdownUrl colorsboxPurple +hi! link markdownUrlTitleDelimiter colorsboxGreen + +call s:HL('markdownLinkText', s:gray, s:none, s:underline) +hi! link markdownIdDeclaration markdownLinkText + +" }}} +" Haskell: {{{ + +" hi! link haskellType colorsboxYellow +" hi! link haskellOperators colorsboxOrange +" hi! link haskellConditional colorsboxAqua +" hi! link haskellLet colorsboxOrange +" +hi! link haskellType colorsboxFg1 +hi! link haskellIdentifier colorsboxFg1 +hi! link haskellSeparator colorsboxFg1 +hi! link haskellDelimiter colorsboxFg4 +hi! link haskellOperators colorsboxBlue +" +hi! link haskellBacktick colorsboxOrange +hi! link haskellStatement colorsboxOrange +hi! link haskellConditional colorsboxOrange + +hi! link haskellLet colorsboxAqua +hi! link haskellDefault colorsboxAqua +hi! link haskellWhere colorsboxAqua +hi! link haskellBottom colorsboxAqua +hi! link haskellBlockKeywords colorsboxAqua +hi! link haskellImportKeywords colorsboxAqua +hi! link haskellDeclKeyword colorsboxAqua +hi! link haskellDeriving colorsboxAqua +hi! link haskellAssocType colorsboxAqua + +hi! link haskellNumber colorsboxPurple +hi! link haskellPragma colorsboxPurple + +hi! link haskellString colorsboxGreen +hi! link haskellChar colorsboxGreen + +" }}} +" Json: {{{ + +hi! link jsonKeyword colorsboxGreen +hi! link jsonQuote colorsboxGreen +hi! link jsonBraces colorsboxFg1 +hi! link jsonString colorsboxFg1 + +" }}} + + +" Functions ------------------------------------------------------------------- +" Search Highlighting Cursor {{{ + +function! ColorsboxHlsShowCursor() + call s:HL('Cursor', s:bg0, s:hls_cursor) +endfunction + +function! ColorsboxHlsHideCursor() + call s:HL('Cursor', s:none, s:none, s:inverse) +endfunction + +" }}} + +" vim: set sw=2 ts=2 sts=2 et tw=80 ft=vim fdm=marker: diff --git a/.vim/colors/colorsbox-material.vim b/.vim/colors/colorsbox-material.vim new file mode 100644 index 0000000..028057f --- /dev/null +++ b/.vim/colors/colorsbox-material.vim @@ -0,0 +1,1159 @@ +" ----------------------------------------------------------------------------- +" File: colorsbox.vim +" Description: Material color scheme using gruvbox as a skel +" Author: mkarmona +" Source: https://github.com/mkarmona/colorsbox +" Last Modified: 22 Oct 2015 +" ----------------------------------------------------------------------------- + +" Supporting code ------------------------------------------------------------- +" Initialisation: {{{ + +if version > 580 + hi clear + if exists("syntax_on") + syntax reset + endif +endif + +let g:colors_name='colorsbox-material' + +if !has('gui_running') && &t_Co != 256 + finish +endif + +" }}} +" Global Settings: {{{ + +if !exists('g:colorsbox_bold') + let g:colorsbox_bold=1 +endif +if !exists('g:colorsbox_italic') + if has('gui_running') || $TERM_ITALICS == 'true' + let g:colorsbox_italic=1 + else + let g:colorsbox_italic=0 + endif +endif +if !exists('g:colorsbox_undercurl') + let g:colorsbox_undercurl=1 +endif +if !exists('g:colorsbox_underline') + let g:colorsbox_underline=1 +endif +if !exists('g:colorsbox_inverse') + let g:colorsbox_inverse=1 +endif + +if !exists('g:colorsbox_guisp_fallback') || index(['fg', 'bg'], g:colorsbox_guisp_fallback) == -1 + let g:colorsbox_guisp_fallback='NONE' +endif + +if !exists('g:colorsbox_improved_strings') + let g:colorsbox_improved_strings=0 +endif + +if !exists('g:colorsbox_improved_warnings') + let g:colorsbox_improved_warnings=0 +endif + +if !exists('g:colorsbox_termcolors') + let g:colorsbox_termcolors=256 +endif + +if !exists('g:colorsbox_invert_indent_guides') + let g:colorsbox_invert_indent_guides=0 +endif + +let s:is_dark=(&background == 'dark') + +" }}} +" Palette: {{{ + +" setup palette dictionary +let s:gb = {} + +" fill it with absolute colors +let s:gb.dark0_hard = ['#1d272b', 234] " 29-32-33 +let s:gb.dark0 = ['#263238', 235] " 40-40-40 +let s:gb.dark0_soft = ['#2f3d45', 236] " 50-48-47 +let s:gb.dark1 = ['#37474F', 237] " 60-56-54 +let s:gb.dark2 = ['#455a64', 239] " 80-73-69 +let s:gb.dark3 = ['#546e7a', 241] " 102-92-84 +let s:gb.dark4 = ['#607d8b', 243] " 124-111-100 +let s:gb.dark4_256 = ['#607d8b', 243] " 124-111-100 + +let s:gb.gray_245 = ['#90A4AE', 245] " 146-131-116 dark + +let s:gb.light0_hard = ['#fafdff', 230] " 249-245-215 dark +let s:gb.light0 = ['#eceff1', 229] " 253-244-193 +let s:gb.light0_soft = ['#e1e4e6', 228] " 242-229-188 +let s:gb.light1 = ['#cfd8dc', 223] " 235-219-178 +let s:gb.light2 = ['#b0bec5', 250] " 213-196-161 +let s:gb.light3 = ['#90a4ae', 248] " 189-174-147 +let s:gb.light4 = ['#78909c', 246] " 168-153-132 +let s:gb.light4_256 = ['#78909c', 246] " 168-153-132 + +let s:gb.bright_red = ['#e57373', 167] " 251-73-52 +let s:gb.bright_green = ['#81c784', 142] " 184-187-38 +let s:gb.bright_yellow = ['#FFF176', 214] " 250-189-47 +let s:gb.bright_blue = ['#64b5f6', 109] " 131-165-152 +let s:gb.bright_purple = ['#CE93D8', 175] " 211-134-155 +let s:gb.bright_aqua = ['#C5CAE9', 108] " 142-192-124 +let s:gb.bright_orange = ['#ffb74d', 208] " 254-128-25 + + +" }}} +" Setup Emphasis: {{{ + +let s:bold = 'bold,' +if g:colorsbox_bold == 0 + let s:bold = '' +endif + +let s:italic = 'italic,' +if g:colorsbox_italic == 0 + let s:italic = '' +endif + +let s:underline = 'underline,' +if g:colorsbox_underline == 0 + let s:underline = '' +endif + +let s:undercurl = 'undercurl,' +if g:colorsbox_undercurl == 0 + let s:undercurl = '' +endif + +let s:inverse = 'inverse,' +if g:colorsbox_inverse == 0 + let s:inverse = '' +endif + +" }}} +" Setup Colors: {{{ + +let s:vim_bg = ['bg', 'bg'] +let s:vim_fg = ['fg', 'fg'] +let s:none = ['NONE', 'NONE'] + +if !exists('g:colorsbox_contrast_dark') + let g:colorsbox_contrast_dark = 'medium' +endif + +" determine relative colors +let s:bg0 = s:gb.dark0 +if g:colorsbox_contrast_dark == 'soft' + let s:bg0 = s:gb.dark0_soft +elseif g:colorsbox_contrast_dark == 'hard' + let s:bg0 = s:gb.dark0_hard +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 + +" reset to 16 colors fallback +if g:colorsbox_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:colorsbox_hls_cursor') + let s:hls_cursor = get(s:gb, g:colorsbox_hls_cursor) +endif + +"let s:number_column = s:bg4 +let s:number_column = s:gray +let s:sign_column = s:bg1 + +if exists('g:gitgutter_override_sign_column_highlight') && + \ g:gitgutter_override_sign_column_highlight == 1 + let s:sign_column = s:number_column +else + let g:gitgutter_override_sign_column_highlight = 0 + + if exists('g:colorsbox_sign_column') + let s:sign_column = get(s:gb, g:colorsbox_sign_column) + endif +endif + +let s:color_column = s:bg1 +if exists('g:colorsbox_color_column') + let s:color_column = get(s:gb, g:colorsbox_color_column) +endif + +let s:vert_split = s:bg2 +if exists('g:colorsbox_vert_split') + let s:vert_split = get(s:gb, g:colorsbox_vert_split) +endif + +let s:invert_signs = '' +if exists('g:colorsbox_invert_signs') + if g:colorsbox_invert_signs == 1 + let s:invert_signs = s:inverse + endif +endif + +let s:invert_selection = s:inverse +if exists('g:colorsbox_invert_selection') + if g:colorsbox_invert_selection == 0 + let s:invert_selection = '' + endif +endif + +let s:invert_tabline = '' +if exists('g:colorsbox_invert_tabline') + if g:colorsbox_invert_tabline == 1 + let s:invert_tabline = s:inverse + endif +endif + +let s:italicize_comments = s:italic +if exists('g:colorsbox_italicize_comments') + if g:colorsbox_italicize_comments == 0 + let s:italicize_comments = '' + endif +endif + +let s:italicize_strings = '' +if exists('g:colorsbox_italicize_strings') + if g:colorsbox_italicize_strings == 1 + let s:italicize_strings = s:italic + endif +endif + +" }}} +" Highlighting Function: {{{ + +function! s:HL(group, fg, ...) + " Arguments: group, guifg, guibg, gui, guisp + + " foreground + let fg = a:fg + + " background + if a:0 >= 1 + let bg = a:1 + else + let bg = s:none + endif + + " emphasis + if a:0 >= 2 && strlen(a:2) + let emstr = a:2 + else + let emstr = 'NONE,' + endif + + " special fallback + if a:0 >= 3 + if g:colorsbox_guisp_fallback != 'NONE' + let fg = a:3 + endif + + " bg fallback mode should invert higlighting + if g:colorsbox_guisp_fallback == 'bg' + let emstr .= 'inverse,' + endif + endif + + let histring = [ 'hi', a:group, + \ 'guifg=' . fg[0], 'ctermfg=' . fg[1], + \ 'guibg=' . bg[0], 'ctermbg=' . bg[1], + \ 'gui=' . emstr[:-2], 'cterm=' . emstr[:-2] + \ ] + + " special + if a:0 >= 3 + call add(histring, 'guisp=' . a:3[0]) + endif + + execute join(histring, ' ') +endfunction + +" }}} +" colorsbox Hi Groups: {{{ + +" memoize common hi groups +call s:HL('colorsboxFg0', s:fg0) +call s:HL('colorsboxFg1', s:fg1) +call s:HL('colorsboxFg2', s:fg2) +call s:HL('colorsboxFg3', s:fg3) +call s:HL('colorsboxFg4', s:fg4) +call s:HL('colorsboxGray', s:gray) +call s:HL('colorsboxBg0', s:bg0) +call s:HL('colorsboxBg1', s:bg1) +call s:HL('colorsboxBg2', s:bg2) +call s:HL('colorsboxBg3', s:bg3) + +call s:HL('colorsboxRed', s:red) +call s:HL('colorsboxRedBold', s:red, s:none, s:bold) +call s:HL('colorsboxGreen', s:green) +call s:HL('colorsboxGreenBold', s:green, s:none, s:bold) +call s:HL('colorsboxYellow', s:yellow) +call s:HL('colorsboxYellowBold', s:yellow, s:none, s:bold) +call s:HL('colorsboxBlue', s:blue) +call s:HL('colorsboxBlueBold', s:blue, s:none, s:bold) +call s:HL('colorsboxPurple', s:purple) +call s:HL('colorsboxPurpleBold', s:purple, s:none, s:bold) +call s:HL('colorsboxAqua', s:aqua) +call s:HL('colorsboxAquaBold', s:aqua, s:none, s:bold) +call s:HL('colorsboxOrange', s:orange) +call s:HL('colorsboxOrangeBold', s:orange, s:none, s:bold) + +call s:HL('colorsboxRedSign', s:red, s:sign_column, s:invert_signs) +call s:HL('colorsboxGreenSign', s:green, s:sign_column, s:invert_signs) +call s:HL('colorsboxYellowSign', s:yellow, s:sign_column, s:invert_signs) +call s:HL('colorsboxBlueSign', s:blue, s:sign_column, s:invert_signs) +call s:HL('colorsboxPurpleSign', s:purple, s:sign_column, s:invert_signs) +call s:HL('colorsboxAquaSign', s:aqua, s:sign_column, s:invert_signs) + +" }}} + +" Vanilla colorscheme --------------------------------------------------------- +" General UI: {{{ + +" Normal text +call s:HL('Normal', s:fg0, s:bg0) + +" Correct background (see issue #7): +" --- Problem with changing between dark and light on 256 color terminal +" --- https://github.com/morhetz/colorsbox/issues/7 +if s:is_dark + set background=dark +else + set background=light +endif + +if version >= 700 + " Screen line that the cursor is + call s:HL('CursorLine', s:none, s:bg1) + " Screen column that the cursor is + hi! link CursorColumn CursorLine + + " Tab pages line filler + call s:HL('TabLineFill', s:bg4, s:vim_bg, s:invert_tabline) + " Active tab page label + call s:HL('TabLineSel', s:vim_bg, s:bg4, s:bold . s:invert_tabline) + " Not active tab page label + hi! link TabLine TabLineFill + + " Match paired bracket under the cursor + call s:HL('MatchParen', s:none, s:bg3, s:bold) +endif + +if version >= 703 + " Highlighted screen columns + call s:HL('ColorColumn', s:none, s:color_column) + + " Concealed element: \lambda → λ + call s:HL('Conceal', s:blue, s:none) + + " Line number of CursorLine + "call s:HL('CursorLineNr', s:yellow, s:bg1) + call s:HL('CursorLineNr', s:fg0, s:bg1) +endif + +hi! link NonText colorsboxBg2 +hi! link SpecialKey colorsboxBg2 + +call s:HL('Visual', s:none, s:bg3, s:invert_selection) +hi! link VisualNOS Visual + +call s:HL('Search', s:bg0, s:yellow) +call s:HL('IncSearch', s:bg0, s:hls_cursor) + +call s:HL('Underlined', s:blue, s:none, s:underline) + +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:fg4, s:vert_split) + +" Current match in wildmenu completion +call s:HL('WildMenu', s:blue, s:bg2, s:bold) + +" Directory names, special names in listing +hi! link Directory colorsboxGreenBold + +" Titles for output from :set all, :autocmd, etc. +hi! link Title colorsboxGreenBold + +" Error messages on the command line +call s:HL('ErrorMsg', s:vim_bg, s:red, s:bold) +" More prompt: -- More -- +hi! link MoreMsg colorsboxYellowBold +" Current mode message: -- INSERT -- +hi! link ModeMsg colorsboxYellowBold +" 'Press enter' prompt and yes/no questions +hi! link Question colorsboxOrangeBold +" Warning messages +hi! link WarningMsg colorsboxRedBold + +" }}} +" Gutter: {{{ + +" Line number for :number and :# commands +call s:HL('LineNr', s:number_column) + +" Column where signs are displayed +call s:HL('SignColumn', s:none, s:sign_column) + +" Line used for closed folds +call s:HL('Folded', s:gray, s:bg1, s:italic) +" Column where folds are displayed +call s:HL('FoldColumn', s:gray, s:bg1) + +" }}} +" Cursor: {{{ + +" Character under cursor +call s:HL('Cursor', s:none, s:none, s:inverse) +" Visual mode cursor, selection +hi! link vCursor Cursor +" Input moder cursor +hi! link iCursor Cursor +" Language mapping cursor +hi! link lCursor Cursor + +" }}} +" Syntax Highlighting: {{{ + +if g:colorsbox_improved_strings == 0 + hi! link Special colorsboxOrange +else + call s:HL('Special', s:bg1, s:orange, s:italic) +endif + +call s:HL('Comment', s:gray, s:none, s:italicize_comments) +call s:HL('Todo', s:vim_fg, s:vim_bg, s:bold . s:italic) +call s:HL('Error', s:red, s:vim_bg, s:bold . s:inverse) + +" Generic statement +hi! link Statement colorsboxRed +" if, then, else, endif, swicth, etc. +hi! link Conditional colorsboxRed +" for, do, while, etc. +hi! link Repeat colorsboxRed +" case, default, etc. +hi! link Label colorsboxRed +" try, catch, throw +hi! link Exception colorsboxRed +" sizeof, "+", "*", etc. +hi! link Operator Normal +" Any other keyword +hi! link Keyword colorsboxRed + +" Variable name +hi! link Identifier colorsboxBlue +" Function name +hi! link Function colorsboxGreenBold + +" Generic preprocessor +hi! link PreProc colorsboxAqua +" Preprocessor #include +hi! link Include colorsboxAqua +" Preprocessor #define +hi! link Define colorsboxAqua +" Same as Define +hi! link Macro colorsboxAqua +" Preprocessor #if, #else, #endif, etc. +hi! link PreCondit colorsboxAqua + +" Generic constant +hi! link Constant colorsboxPurple +" Character constant: 'c', '/n' +hi! link Character colorsboxPurple +" String constant: "this is a string" +if g:colorsbox_improved_strings == 0 + call s:HL('String', s:green, s:none, s:italicize_strings) +else + call s:HL('String', s:bg1, s:fg1, s:italicize_strings) +endif +" Boolean constant: TRUE, false +hi! link Boolean colorsboxPurple +" Number constant: 234, 0xff +hi! link Number colorsboxPurple +" Floating point constant: 2.3e10 +hi! link Float colorsboxPurple + +" Generic type +hi! link Type colorsboxYellow +" static, register, volatile, etc +hi! link StorageClass colorsboxOrange +" struct, union, enum, etc. +hi! link Structure colorsboxAqua +" typedef +hi! link Typedef colorsboxYellow + +" }}} +" Completion Menu: {{{ + +if version >= 700 + " Popup menu: normal item + call s:HL('Pmenu', s:fg1, s:bg2) + " Popup menu: selected item + call s:HL('PmenuSel', s:bg2, s:blue, s:bold) + " Popup menu: scrollbar + call s:HL('PmenuSbar', s:none, s:bg2) + " Popup menu: scrollbar thumb + call s:HL('PmenuThumb', s:none, s:bg4) +endif + +" }}} +" Diffs: {{{ + +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:bg0, s:inverse) +call s:HL('DiffText', s:yellow, s:bg0, s:inverse) + +" }}} +" Spelling: {{{ + +if has("spell") + " Not capitalised word, or compile warnings + if g:colorsbox_improved_warnings == 0 + call s:HL('SpellCap', s:none, s:none, s:undercurl, s:red) + else + call s:HL('SpellCap', s:green, s:none, s:bold . s:italic) + endif + " Not recognized word + call s:HL('SpellBad', s:none, s:none, s:undercurl, s:blue) + " Wrong spelling for selected region + call s:HL('SpellLocal', s:none, s:none, s:undercurl, s:aqua) + " Rare word + call s:HL('SpellRare', s:none, s:none, s:undercurl, s:purple) +endif + +" }}} + +" Plugin specific ------------------------------------------------------------- +" EasyMotion: {{{ + +hi! link EasyMotionTarget Search +hi! link EasyMotionShade Comment + +" }}} +" Sneak: {{{ + +hi! link SneakPluginTarget Search +hi! link SneakStreakTarget Search +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 +endif + +if g:indent_guides_auto_colors == 0 + if g:colorsbox_invert_indent_guides == 0 + call s:HL('IndentGuidesOdd', s:vim_bg, s:bg2) + call s:HL('IndentGuidesEven', s:vim_bg, s:bg1) + else + call s:HL('IndentGuidesOdd', s:vim_bg, s:bg2, s:inverse) + call s:HL('IndentGuidesEven', s:vim_bg, s:bg3, s:inverse) + endif +endif + +" }}} +" IndentLine: {{{ + +if !exists('g:indentLine_color_term') + let g:indentLine_color_term = s:bg2[1] +endif +if !exists('g:indentLine_color_gui') + let g:indentLine_color_gui = s:bg2[0] +endif + +" }}} +" Rainbow Parentheses: {{{ + +if !exists('g:rbpt_colorpairs') + let g:rbpt_colorpairs = + \ [ + \ ['blue', '#458588'], ['magenta', '#b16286'], + \ ['red', '#cc241d'], ['166', '#d65d0e'] + \ ] +endif + +let g:rainbow_guifgs = [ '#d65d0e', '#cc241d', '#b16286', '#458588' ] +let g:rainbow_ctermfgs = [ '166', 'red', 'magenta', 'blue' ] + +if !exists('g:rainbow_conf') + let g:rainbow_conf = {} +endif +if !has_key(g:rainbow_conf, 'guifgs') + let g:rainbow_conf['guifgs'] = g:rainbow_guifgs +endif +if !has_key(g:rainbow_conf, 'ctermfgs') + let g:rainbow_conf['ctermfgs'] = g:rainbow_ctermfgs +endif + +let g:niji_dark_colours = g:rbpt_colorpairs +let g:niji_light_colours = g:rbpt_colorpairs + +"}}} +" GitGutter: {{{ + +hi! link GitGutterAdd colorsboxGreenSign +hi! link GitGutterChange colorsboxAquaSign +hi! link GitGutterDelete colorsboxRedSign +hi! link GitGutterChangeDelete colorsboxAquaSign + +" }}} +" GitCommit: "{{{ + +hi! link gitcommitSelectedFile colorsboxGreen +hi! link gitcommitDiscardedFile colorsboxRed + +" }}} +" Signify: {{{ + +hi! link SignifySignAdd colorsboxGreenSign +hi! link SignifySignChange colorsboxAquaSign +hi! link SignifySignDelete colorsboxRedSign + +" }}} +" Syntastic: {{{ + +call s:HL('SyntasticError', s:none, s:none, s:undercurl, s:red) +call s:HL('SyntasticWarning', s:none, s:none, s:undercurl, s:yellow) + +hi! link SyntasticErrorSign colorsboxRedSign +hi! link SyntasticWarningSign colorsboxYellowSign + +" }}} +" Signature: {{{ + +hi! link SignatureMarkerText colorsboxPurpleSign +hi! link SignatureMarkText colorsboxBlueSign + +let g:SignatureMarkerTextHL='"SignatureMarkerText"' +let g:SignatureMarkTextHL='"SignatureMarkText"' + +" }}} +" ShowMarks: {{{ + +hi! link ShowMarksHLl colorsboxBlueSign +hi! link ShowMarksHLu colorsboxBlueSign +hi! link ShowMarksHLo colorsboxBlueSign +hi! link ShowMarksHLm colorsboxBlueSign + +" }}} +" CtrlP: {{{ + +hi! link CtrlPMatch colorsboxYellow +hi! link CtrlPNoEntries colorsboxRed +hi! link CtrlPPrtBase colorsboxBg2 +hi! link CtrlPPrtCursor colorsboxBlue +hi! link CtrlPLinePre colorsboxBg2 + +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: {{{ + +hi! link StartifyBracket colorsboxFg3 +hi! link StartifyFile colorsboxFg0 +hi! link StartifyNumber colorsboxBlue +hi! link StartifyPath colorsboxGray +hi! link StartifySlash colorsboxGray +hi! link StartifySection colorsboxYellow +hi! link StartifySpecial colorsboxBg2 +hi! link StartifyHeader colorsboxOrange +hi! link StartifyFooter colorsboxBg2 + +" }}} +" Vimshell: {{{ + +let g:vimshell_escape_colors = [ + \ 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] + \ ] + +" }}} + +" Filetype specific ----------------------------------------------------------- +" Diff: {{{ + +hi! link diffAdded colorsboxGreen +hi! link diffRemoved colorsboxRed +hi! link diffChanged colorsboxAqua + +hi! link diffFile colorsboxOrange +hi! link diffNewFile colorsboxYellow + +hi! link diffLine colorsboxBlue + +" }}} +" Html: {{{ + +hi! link htmlTag colorsboxBlue +hi! link htmlEndTag colorsboxBlue + +hi! link htmlTagName colorsboxAquaBold +hi! link htmlArg colorsboxAqua + +hi! link htmlScriptTag colorsboxPurple +hi! link htmlTagN colorsboxFg1 +hi! link htmlSpecialTagName colorsboxAquaBold + +call s:HL('htmlLink', s:fg4, s:none, s:underline) + +hi! link htmlSpecialChar colorsboxOrange + +call s:HL('htmlBold', s:vim_fg, s:vim_bg, s:bold) +call s:HL('htmlBoldUnderline', s:vim_fg, s:vim_bg, s:bold . s:underline) +call s:HL('htmlBoldItalic', s:vim_fg, s:vim_bg, s:bold . s:italic) +call s:HL('htmlBoldUnderlineItalic', s:vim_fg, s:vim_bg, s:bold . s:underline . s:italic) + +call s:HL('htmlUnderline', s:vim_fg, s:vim_bg, s:underline) +call s:HL('htmlUnderlineItalic', s:vim_fg, s:vim_bg, s:underline . s:italic) +call s:HL('htmlItalic', s:vim_fg, s:vim_bg, s:italic) + +" }}} +" Xml: {{{ + +hi! link xmlTag colorsboxBlue +hi! link xmlEndTag colorsboxBlue +hi! link xmlTagName colorsboxBlue +hi! link xmlEqual colorsboxBlue +hi! link docbkKeyword colorsboxAquaBold + +hi! link xmlDocTypeDecl colorsboxGray +hi! link xmlDocTypeKeyword colorsboxPurple +hi! link xmlCdataStart colorsboxGray +hi! link xmlCdataCdata colorsboxPurple +hi! link dtdFunction colorsboxGray +hi! link dtdTagName colorsboxPurple + +hi! link xmlAttrib colorsboxAqua +hi! link xmlProcessingDelim colorsboxGray +hi! link dtdParamEntityPunct colorsboxGray +hi! link dtdParamEntityDPunct colorsboxGray +hi! link xmlAttribPunct colorsboxGray + +hi! link xmlEntity colorsboxOrange +hi! link xmlEntityPunct colorsboxOrange +" }}} +" Vim: {{{ + +call s:HL('vimCommentTitle', s:fg4_256, s:none, s:bold . s:italicize_comments) + +hi! link vimNotation colorsboxOrange +hi! link vimBracket colorsboxOrange +hi! link vimMapModKey colorsboxOrange +hi! link vimFuncSID colorsboxFg3 +hi! link vimSetSep colorsboxFg3 +hi! link vimSep colorsboxFg3 +hi! link vimContinue colorsboxFg3 + +" }}} +" Clojure: {{{ + +hi! link clojureKeyword colorsboxBlue +hi! link clojureCond colorsboxOrange +hi! link clojureSpecial colorsboxOrange +hi! link clojureDefine colorsboxOrange + +hi! link clojureFunc colorsboxYellow +hi! link clojureRepeat colorsboxYellow +hi! link clojureCharacter colorsboxAqua +hi! link clojureStringEscape colorsboxAqua +hi! link clojureException colorsboxRed + +hi! link clojureRegexp colorsboxAqua +hi! link clojureRegexpEscape colorsboxAqua +call s:HL('clojureRegexpCharClass', s:fg3, s:none, s:bold) +hi! link clojureRegexpMod clojureRegexpCharClass +hi! link clojureRegexpQuantifier clojureRegexpCharClass + +hi! link clojureParen colorsboxFg3 +hi! link clojureAnonArg colorsboxYellow +hi! link clojureVariable colorsboxBlue +hi! link clojureMacro colorsboxOrange + +hi! link clojureMeta colorsboxYellow +hi! link clojureDeref colorsboxYellow +hi! link clojureQuote colorsboxYellow +hi! link clojureUnquote colorsboxYellow + +" }}} +" C: {{{ + +hi! link cOperator colorsboxPurple +hi! link cStructure colorsboxOrange + +" }}} +" Python: {{{ + +hi! link pythonBuiltin colorsboxOrange +hi! link pythonBuiltinObj colorsboxOrange +hi! link pythonBuiltinFunc colorsboxOrange +hi! link pythonFunction colorsboxAqua +hi! link pythonDecorator colorsboxRed +hi! link pythonInclude colorsboxBlue +hi! link pythonImport colorsboxBlue +hi! link pythonRun colorsboxBlue +hi! link pythonCoding colorsboxBlue +hi! link pythonOperator colorsboxRed +hi! link pythonExceptions colorsboxPurple +hi! link pythonBoolean colorsboxPurple +hi! link pythonDot colorsboxFg3 + +" }}} +" CSS: {{{ + +hi! link cssBraces colorsboxBlue +hi! link cssFunctionName colorsboxYellow +hi! link cssIdentifier colorsboxOrange +hi! link cssClassName colorsboxGreen +hi! link cssColor colorsboxBlue +hi! link cssSelectorOp colorsboxBlue +hi! link cssSelectorOp2 colorsboxBlue +hi! link cssImportant colorsboxGreen +hi! link cssVendor colorsboxFg1 + +hi! link cssTextProp colorsboxAqua +hi! link cssAnimationProp colorsboxAqua +hi! link cssUIProp colorsboxYellow +hi! link cssTransformProp colorsboxAqua +hi! link cssTransitionProp colorsboxAqua +hi! link cssPrintProp colorsboxAqua +hi! link cssPositioningProp colorsboxYellow +hi! link cssBoxProp colorsboxAqua +hi! link cssFontDescriptorProp colorsboxAqua +hi! link cssFlexibleBoxProp colorsboxAqua +hi! link cssBorderOutlineProp colorsboxAqua +hi! link cssBackgroundProp colorsboxAqua +hi! link cssMarginProp colorsboxAqua +hi! link cssListProp colorsboxAqua +hi! link cssTableProp colorsboxAqua +hi! link cssFontProp colorsboxAqua +hi! link cssPaddingProp colorsboxAqua +hi! link cssDimensionProp colorsboxAqua +hi! link cssRenderProp colorsboxAqua +hi! link cssColorProp colorsboxAqua +hi! link cssGeneratedContentProp colorsboxAqua + +" }}} +" JavaScript: {{{ + +hi! link javaScriptBraces colorsboxFg1 +hi! link javaScriptFunction colorsboxAqua +hi! link javaScriptIdentifier colorsboxRed +hi! link javaScriptMember colorsboxBlue +hi! link javaScriptNumber colorsboxPurple +hi! link javaScriptNull colorsboxPurple +hi! link javaScriptParens colorsboxFg3 + +" }}} +" YAJS: {{{ + +hi! link javascriptImport colorsboxAqua +hi! link javascriptExport colorsboxAqua +hi! link javascriptClassKeyword colorsboxAqua +hi! link javascriptClassExtends colorsboxAqua +hi! link javascriptDefault colorsboxAqua + +hi! link javascriptClassName colorsboxYellow +hi! link javascriptClassSuperName colorsboxYellow +hi! link javascriptGlobal colorsboxYellow + +hi! link javascriptEndColons colorsboxFg1 +hi! link javascriptFuncArg colorsboxFg1 +hi! link javascriptGlobalMethod colorsboxFg1 +hi! link javascriptNodeGlobal colorsboxFg1 + +" hi! link javascriptVariable colorsboxOrange +hi! link javascriptVariable colorsboxRed +" hi! link javascriptIdentifier colorsboxOrange +" hi! link javascriptClassSuper colorsboxOrange +hi! link javascriptIdentifier colorsboxOrange +hi! link javascriptClassSuper colorsboxOrange + +" hi! link javascriptFuncKeyword colorsboxOrange +" hi! link javascriptAsyncFunc colorsboxOrange +hi! link javascriptFuncKeyword colorsboxAqua +hi! link javascriptAsyncFunc colorsboxAqua +hi! link javascriptClassStatic colorsboxOrange + +hi! link javascriptOperator colorsboxRed +hi! link javascriptForOperator colorsboxRed +hi! link javascriptYield colorsboxRed +hi! link javascriptExceptions colorsboxRed +hi! link javascriptMessage colorsboxRed + +hi! link javascriptTemplateSB colorsboxAqua +hi! link javascriptTemplateSubstitution colorsboxFg1 + +" hi! link javascriptLabel colorsboxBlue +" hi! link javascriptObjectLabel colorsboxBlue +" hi! link javascriptPropertyName colorsboxBlue +hi! link javascriptLabel colorsboxFg1 +hi! link javascriptObjectLabel colorsboxFg1 +hi! link javascriptPropertyName colorsboxFg1 + +hi! link javascriptLogicSymbols colorsboxFg1 +hi! link javascriptArrowFunc colorsboxFg1 + +hi! link javascriptDocParamName colorsboxFg4 +hi! link javascriptDocTags colorsboxFg4 +hi! link javascriptDocNotation colorsboxFg4 +hi! link javascriptDocParamType colorsboxFg4 +hi! link javascriptDocNamedParamType colorsboxFg4 + +" }}} +" CoffeeScript: {{{ + +hi! link coffeeExtendedOp colorsboxFg3 +hi! link coffeeSpecialOp colorsboxFg3 +hi! link coffeeCurly colorsboxOrange +hi! link coffeeParen colorsboxFg3 +hi! link coffeeBracket colorsboxOrange + +" }}} +" Ruby: {{{ + +hi! link rubyStringDelimiter colorsboxGreen +hi! link rubyInterpolationDelimiter colorsboxAqua + +" }}} +" ObjectiveC: {{{ + +hi! link objcTypeModifier colorsboxRed +hi! link objcDirective colorsboxBlue + +" }}} +" Go: {{{ + +hi! link goDirective colorsboxAqua +hi! link goConstants colorsboxPurple +hi! link goDeclaration colorsboxRed +hi! link goDeclType colorsboxBlue +hi! link goBuiltins colorsboxOrange + +" }}} +" Lua: {{{ + +hi! link luaIn colorsboxRed +hi! link luaFunction colorsboxAqua +hi! link luaTable colorsboxOrange + +" }}} +" MoonScript: {{{ + +hi! link moonSpecialOp colorsboxFg3 +hi! link moonExtendedOp colorsboxFg3 +hi! link moonFunction colorsboxFg3 +hi! link moonObject colorsboxYellow + +" }}} +" Java: {{{ + +hi! link javaAnnotation colorsboxBlue +hi! link javaDocTags colorsboxAqua +hi! link javaCommentTitle vimCommentTitle +hi! link javaParen colorsboxFg3 +hi! link javaParen1 colorsboxFg3 +hi! link javaParen2 colorsboxFg3 +hi! link javaParen3 colorsboxFg3 +hi! link javaParen4 colorsboxFg3 +hi! link javaParen5 colorsboxFg3 +hi! link javaOperator colorsboxOrange + +hi! link javaVarArg colorsboxGreen + +" }}} +" Elixir: {{{ + +hi! link elixirDocString Comment + +hi! link elixirStringDelimiter colorsboxGreen +hi! link elixirInterpolationDelimiter colorsboxAqua + +" }}} +" Scala: {{{ + +" NB: scala vim syntax file is kinda horrible +hi! link scalaNameDefinition colorsboxFg1 +hi! link scalaCaseFollowing colorsboxFg1 +hi! link scalaCapitalWord colorsboxFg1 +hi! link scalaTypeExtension colorsboxFg1 + +hi! link scalaKeyword colorsboxRed +hi! link scalaKeywordModifier colorsboxRed + +hi! link scalaSpecial colorsboxAqua +hi! link scalaOperator colorsboxFg1 + +hi! link scalaTypeDeclaration colorsboxYellow +hi! link scalaTypeTypePostDeclaration colorsboxYellow + +hi! link scalaInstanceDeclaration colorsboxFg1 +hi! link scalaInterpolation colorsboxAqua + +" }}} +" Markdown: {{{ + +call s:HL('markdownItalic', s:fg3, s:none, s:italic) + +hi! link markdownH1 colorsboxGreenBold +hi! link markdownH2 colorsboxGreenBold +hi! link markdownH3 colorsboxYellowBold +hi! link markdownH4 colorsboxYellowBold +hi! link markdownH5 colorsboxYellow +hi! link markdownH6 colorsboxYellow + +hi! link markdownCode colorsboxAqua +hi! link markdownCodeBlock colorsboxAqua +hi! link markdownCodeDelimiter colorsboxAqua + +hi! link markdownBlockquote colorsboxGray +hi! link markdownListMarker colorsboxGray +hi! link markdownOrderedListMarker colorsboxGray +hi! link markdownRule colorsboxGray +hi! link markdownHeadingRule colorsboxGray + +hi! link markdownUrlDelimiter colorsboxFg3 +hi! link markdownLinkDelimiter colorsboxFg3 +hi! link markdownLinkTextDelimiter colorsboxFg3 + +hi! link markdownHeadingDelimiter colorsboxOrange +hi! link markdownUrl colorsboxPurple +hi! link markdownUrlTitleDelimiter colorsboxGreen + +call s:HL('markdownLinkText', s:gray, s:none, s:underline) +hi! link markdownIdDeclaration markdownLinkText + +" }}} +" Haskell: {{{ + +" hi! link haskellType colorsboxYellow +" hi! link haskellOperators colorsboxOrange +" hi! link haskellConditional colorsboxAqua +" hi! link haskellLet colorsboxOrange +" +hi! link haskellType colorsboxFg1 +hi! link haskellIdentifier colorsboxFg1 +hi! link haskellSeparator colorsboxFg1 +hi! link haskellDelimiter colorsboxFg4 +hi! link haskellOperators colorsboxBlue +" +hi! link haskellBacktick colorsboxOrange +hi! link haskellStatement colorsboxOrange +hi! link haskellConditional colorsboxOrange + +hi! link haskellLet colorsboxAqua +hi! link haskellDefault colorsboxAqua +hi! link haskellWhere colorsboxAqua +hi! link haskellBottom colorsboxAqua +hi! link haskellBlockKeywords colorsboxAqua +hi! link haskellImportKeywords colorsboxAqua +hi! link haskellDeclKeyword colorsboxAqua +hi! link haskellDeriving colorsboxAqua +hi! link haskellAssocType colorsboxAqua + +hi! link haskellNumber colorsboxPurple +hi! link haskellPragma colorsboxPurple + +hi! link haskellString colorsboxGreen +hi! link haskellChar colorsboxGreen + +" }}} +" Json: {{{ + +hi! link jsonKeyword colorsboxGreen +hi! link jsonQuote colorsboxGreen +hi! link jsonBraces colorsboxFg1 +hi! link jsonString colorsboxFg1 + +" }}} + + +" Functions ------------------------------------------------------------------- +" Search Highlighting Cursor {{{ + +function! ColorsboxHlsShowCursor() + call s:HL('Cursor', s:bg0, s:hls_cursor) +endfunction + +function! ColorsboxHlsHideCursor() + call s:HL('Cursor', s:none, s:none, s:inverse) +endfunction + +" }}} + +" vim: set sw=2 ts=2 sts=2 et tw=80 ft=vim fdm=marker: diff --git a/.vim/colors/colorsbox-stblue.vim b/.vim/colors/colorsbox-stblue.vim new file mode 100644 index 0000000..5f7f5a0 --- /dev/null +++ b/.vim/colors/colorsbox-stblue.vim @@ -0,0 +1,1159 @@ +" ----------------------------------------------------------------------------- +" File: colorsbox.vim +" Description: Material color scheme using gruvbox as a skel +" Author: mkarmona +" Source: https://github.com/mkarmona/colorsbox +" Last Modified: 22 Oct 2015 +" ----------------------------------------------------------------------------- + +" Supporting code ------------------------------------------------------------- +" Initialisation: {{{ + +if version > 580 + hi clear + if exists("syntax_on") + syntax reset + endif +endif + +let g:colors_name='colorsbox-stblue' + +if !has('gui_running') && &t_Co != 256 + finish +endif + +" }}} +" Global Settings: {{{ + +if !exists('g:colorsbox_bold') + let g:colorsbox_bold=1 +endif +if !exists('g:colorsbox_italic') + if has('gui_running') || $TERM_ITALICS == 'true' + let g:colorsbox_italic=1 + else + let g:colorsbox_italic=0 + endif +endif +if !exists('g:colorsbox_undercurl') + let g:colorsbox_undercurl=1 +endif +if !exists('g:colorsbox_underline') + let g:colorsbox_underline=1 +endif +if !exists('g:colorsbox_inverse') + let g:colorsbox_inverse=1 +endif + +if !exists('g:colorsbox_guisp_fallback') || index(['fg', 'bg'], g:colorsbox_guisp_fallback) == -1 + let g:colorsbox_guisp_fallback='NONE' +endif + +if !exists('g:colorsbox_improved_strings') + let g:colorsbox_improved_strings=0 +endif + +if !exists('g:colorsbox_improved_warnings') + let g:colorsbox_improved_warnings=0 +endif + +if !exists('g:colorsbox_termcolors') + let g:colorsbox_termcolors=256 +endif + +if !exists('g:colorsbox_invert_indent_guides') + let g:colorsbox_invert_indent_guides=0 +endif + +let s:is_dark=(&background == 'dark') + +" }}} +" Palette: {{{ + +" setup palette dictionary +let s:gb = {} + +" fill it with absolute colors +let s:gb.dark0_hard = ['#001f45', 234] " 29-32-33 +let s:gb.dark0 = ['#002451', 235] " 40-40-40 +let s:gb.dark0_soft = ['#002a5e', 236] " 50-48-47 +let s:gb.dark1 = ['#00306b', 237] " 60-56-54 +let s:gb.dark2 = ['#003b85', 239] " 80-73-69 +let s:gb.dark3 = ['#00469e', 241] " 102-92-84 +let s:gb.dark4 = ['#0052b8', 243] " 124-111-100 +let s:gb.dark4_256 = ['#0052b8', 243] " 124-111-100 + +let s:gb.gray_245 = ['#a0c1eb', 245] " 146-131-116 dark + +let s:gb.light0_hard = ['#ffffff', 230] " 249-245-215 dark +let s:gb.light0 = ['#ffffff', 229] " 253-244-193 +let s:gb.light0_soft = ['#ffffff', 228] " 242-229-188 +let s:gb.light1 = ['#cedbeb', 223] " 235-219-178 +let s:gb.light2 = ['#b7ceeb', 250] " 213-196-161 +let s:gb.light3 = ['#a0c1eb', 248] " 189-174-147 +let s:gb.light4 = ['#88b4eb', 246] " 168-153-132 +let s:gb.light4_256 = ['#88b4eb', 246] " 168-153-132 + +let s:gb.bright_red = ['#ff9da4', 167] " 251-73-52 +let s:gb.bright_green = ['#d1f1a9', 142] " 184-187-38 +let s:gb.bright_yellow = ['#ffeead', 214] " 250-189-47 +let s:gb.bright_blue = ['#bbdaff', 109] " 131-165-152 +let s:gb.bright_purple = ['#ebbbff', 175] " 211-134-155 +let s:gb.bright_aqua = ['#99ffff', 108] " 142-192-124 +let s:gb.bright_orange = ['#ffc58f', 208] " 254-128-25 + + +" }}} +" Setup Emphasis: {{{ + +let s:bold = 'bold,' +if g:colorsbox_bold == 0 + let s:bold = '' +endif + +let s:italic = 'italic,' +if g:colorsbox_italic == 0 + let s:italic = '' +endif + +let s:underline = 'underline,' +if g:colorsbox_underline == 0 + let s:underline = '' +endif + +let s:undercurl = 'undercurl,' +if g:colorsbox_undercurl == 0 + let s:undercurl = '' +endif + +let s:inverse = 'inverse,' +if g:colorsbox_inverse == 0 + let s:inverse = '' +endif + +" }}} +" Setup Colors: {{{ + +let s:vim_bg = ['bg', 'bg'] +let s:vim_fg = ['fg', 'fg'] +let s:none = ['NONE', 'NONE'] + +if !exists('g:colorsbox_contrast_dark') + let g:colorsbox_contrast_dark = 'medium' +endif + +" determine relative colors +let s:bg0 = s:gb.dark0 +if g:colorsbox_contrast_dark == 'soft' + let s:bg0 = s:gb.dark0_soft +elseif g:colorsbox_contrast_dark == 'hard' + let s:bg0 = s:gb.dark0_hard +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 + +" reset to 16 colors fallback +if g:colorsbox_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:colorsbox_hls_cursor') + let s:hls_cursor = get(s:gb, g:colorsbox_hls_cursor) +endif + +"let s:number_column = s:bg4 +let s:number_column = s:gray +let s:sign_column = s:bg1 + +if exists('g:gitgutter_override_sign_column_highlight') && + \ g:gitgutter_override_sign_column_highlight == 1 + let s:sign_column = s:number_column +else + let g:gitgutter_override_sign_column_highlight = 0 + + if exists('g:colorsbox_sign_column') + let s:sign_column = get(s:gb, g:colorsbox_sign_column) + endif +endif + +let s:color_column = s:bg1 +if exists('g:colorsbox_color_column') + let s:color_column = get(s:gb, g:colorsbox_color_column) +endif + +let s:vert_split = s:bg2 +if exists('g:colorsbox_vert_split') + let s:vert_split = get(s:gb, g:colorsbox_vert_split) +endif + +let s:invert_signs = '' +if exists('g:colorsbox_invert_signs') + if g:colorsbox_invert_signs == 1 + let s:invert_signs = s:inverse + endif +endif + +let s:invert_selection = s:inverse +if exists('g:colorsbox_invert_selection') + if g:colorsbox_invert_selection == 0 + let s:invert_selection = '' + endif +endif + +let s:invert_tabline = '' +if exists('g:colorsbox_invert_tabline') + if g:colorsbox_invert_tabline == 1 + let s:invert_tabline = s:inverse + endif +endif + +let s:italicize_comments = s:italic +if exists('g:colorsbox_italicize_comments') + if g:colorsbox_italicize_comments == 0 + let s:italicize_comments = '' + endif +endif + +let s:italicize_strings = '' +if exists('g:colorsbox_italicize_strings') + if g:colorsbox_italicize_strings == 1 + let s:italicize_strings = s:italic + endif +endif + +" }}} +" Highlighting Function: {{{ + +function! s:HL(group, fg, ...) + " Arguments: group, guifg, guibg, gui, guisp + + " foreground + let fg = a:fg + + " background + if a:0 >= 1 + let bg = a:1 + else + let bg = s:none + endif + + " emphasis + if a:0 >= 2 && strlen(a:2) + let emstr = a:2 + else + let emstr = 'NONE,' + endif + + " special fallback + if a:0 >= 3 + if g:colorsbox_guisp_fallback != 'NONE' + let fg = a:3 + endif + + " bg fallback mode should invert higlighting + if g:colorsbox_guisp_fallback == 'bg' + let emstr .= 'inverse,' + endif + endif + + let histring = [ 'hi', a:group, + \ 'guifg=' . fg[0], 'ctermfg=' . fg[1], + \ 'guibg=' . bg[0], 'ctermbg=' . bg[1], + \ 'gui=' . emstr[:-2], 'cterm=' . emstr[:-2] + \ ] + + " special + if a:0 >= 3 + call add(histring, 'guisp=' . a:3[0]) + endif + + execute join(histring, ' ') +endfunction + +" }}} +" colorsbox Hi Groups: {{{ + +" memoize common hi groups +call s:HL('colorsboxFg0', s:fg0) +call s:HL('colorsboxFg1', s:fg1) +call s:HL('colorsboxFg2', s:fg2) +call s:HL('colorsboxFg3', s:fg3) +call s:HL('colorsboxFg4', s:fg4) +call s:HL('colorsboxGray', s:gray) +call s:HL('colorsboxBg0', s:bg0) +call s:HL('colorsboxBg1', s:bg1) +call s:HL('colorsboxBg2', s:bg2) +call s:HL('colorsboxBg3', s:bg3) + +call s:HL('colorsboxRed', s:red) +call s:HL('colorsboxRedBold', s:red, s:none, s:bold) +call s:HL('colorsboxGreen', s:green) +call s:HL('colorsboxGreenBold', s:green, s:none, s:bold) +call s:HL('colorsboxYellow', s:yellow) +call s:HL('colorsboxYellowBold', s:yellow, s:none, s:bold) +call s:HL('colorsboxBlue', s:blue) +call s:HL('colorsboxBlueBold', s:blue, s:none, s:bold) +call s:HL('colorsboxPurple', s:purple) +call s:HL('colorsboxPurpleBold', s:purple, s:none, s:bold) +call s:HL('colorsboxAqua', s:aqua) +call s:HL('colorsboxAquaBold', s:aqua, s:none, s:bold) +call s:HL('colorsboxOrange', s:orange) +call s:HL('colorsboxOrangeBold', s:orange, s:none, s:bold) + +call s:HL('colorsboxRedSign', s:red, s:sign_column, s:invert_signs) +call s:HL('colorsboxGreenSign', s:green, s:sign_column, s:invert_signs) +call s:HL('colorsboxYellowSign', s:yellow, s:sign_column, s:invert_signs) +call s:HL('colorsboxBlueSign', s:blue, s:sign_column, s:invert_signs) +call s:HL('colorsboxPurpleSign', s:purple, s:sign_column, s:invert_signs) +call s:HL('colorsboxAquaSign', s:aqua, s:sign_column, s:invert_signs) + +" }}} + +" Vanilla colorscheme --------------------------------------------------------- +" General UI: {{{ + +" Normal text +call s:HL('Normal', s:fg0, s:bg0) + +" Correct background (see issue #7): +" --- Problem with changing between dark and light on 256 color terminal +" --- https://github.com/morhetz/colorsbox/issues/7 +if s:is_dark + set background=dark +else + set background=light +endif + +if version >= 700 + " Screen line that the cursor is + call s:HL('CursorLine', s:none, s:bg1) + " Screen column that the cursor is + hi! link CursorColumn CursorLine + + " Tab pages line filler + call s:HL('TabLineFill', s:bg4, s:vim_bg, s:invert_tabline) + " Active tab page label + call s:HL('TabLineSel', s:vim_bg, s:bg4, s:bold . s:invert_tabline) + " Not active tab page label + hi! link TabLine TabLineFill + + " Match paired bracket under the cursor + call s:HL('MatchParen', s:none, s:bg3, s:bold) +endif + +if version >= 703 + " Highlighted screen columns + call s:HL('ColorColumn', s:none, s:color_column) + + " Concealed element: \lambda → λ + call s:HL('Conceal', s:blue, s:none) + + " Line number of CursorLine + "call s:HL('CursorLineNr', s:yellow, s:bg1) + call s:HL('CursorLineNr', s:fg0, s:bg1) +endif + +hi! link NonText colorsboxBg2 +hi! link SpecialKey colorsboxBg2 + +call s:HL('Visual', s:none, s:bg3, s:invert_selection) +hi! link VisualNOS Visual + +call s:HL('Search', s:bg0, s:yellow) +call s:HL('IncSearch', s:bg0, s:hls_cursor) + +call s:HL('Underlined', s:blue, s:none, s:underline) + +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:fg4, s:vert_split) + +" Current match in wildmenu completion +call s:HL('WildMenu', s:blue, s:bg2, s:bold) + +" Directory names, special names in listing +hi! link Directory colorsboxGreenBold + +" Titles for output from :set all, :autocmd, etc. +hi! link Title colorsboxGreenBold + +" Error messages on the command line +call s:HL('ErrorMsg', s:vim_bg, s:red, s:bold) +" More prompt: -- More -- +hi! link MoreMsg colorsboxYellowBold +" Current mode message: -- INSERT -- +hi! link ModeMsg colorsboxYellowBold +" 'Press enter' prompt and yes/no questions +hi! link Question colorsboxOrangeBold +" Warning messages +hi! link WarningMsg colorsboxRedBold + +" }}} +" Gutter: {{{ + +" Line number for :number and :# commands +call s:HL('LineNr', s:number_column) + +" Column where signs are displayed +call s:HL('SignColumn', s:none, s:sign_column) + +" Line used for closed folds +call s:HL('Folded', s:gray, s:bg1, s:italic) +" Column where folds are displayed +call s:HL('FoldColumn', s:gray, s:bg1) + +" }}} +" Cursor: {{{ + +" Character under cursor +call s:HL('Cursor', s:none, s:none, s:inverse) +" Visual mode cursor, selection +hi! link vCursor Cursor +" Input moder cursor +hi! link iCursor Cursor +" Language mapping cursor +hi! link lCursor Cursor + +" }}} +" Syntax Highlighting: {{{ + +if g:colorsbox_improved_strings == 0 + hi! link Special colorsboxOrange +else + call s:HL('Special', s:bg1, s:orange, s:italic) +endif + +call s:HL('Comment', s:gray, s:none, s:italicize_comments) +call s:HL('Todo', s:vim_fg, s:vim_bg, s:bold . s:italic) +call s:HL('Error', s:red, s:vim_bg, s:bold . s:inverse) + +" Generic statement +hi! link Statement colorsboxRed +" if, then, else, endif, swicth, etc. +hi! link Conditional colorsboxRed +" for, do, while, etc. +hi! link Repeat colorsboxRed +" case, default, etc. +hi! link Label colorsboxRed +" try, catch, throw +hi! link Exception colorsboxRed +" sizeof, "+", "*", etc. +hi! link Operator Normal +" Any other keyword +hi! link Keyword colorsboxRed + +" Variable name +hi! link Identifier colorsboxBlue +" Function name +hi! link Function colorsboxGreenBold + +" Generic preprocessor +hi! link PreProc colorsboxAqua +" Preprocessor #include +hi! link Include colorsboxAqua +" Preprocessor #define +hi! link Define colorsboxAqua +" Same as Define +hi! link Macro colorsboxAqua +" Preprocessor #if, #else, #endif, etc. +hi! link PreCondit colorsboxAqua + +" Generic constant +hi! link Constant colorsboxPurple +" Character constant: 'c', '/n' +hi! link Character colorsboxPurple +" String constant: "this is a string" +if g:colorsbox_improved_strings == 0 + call s:HL('String', s:green, s:none, s:italicize_strings) +else + call s:HL('String', s:bg1, s:fg1, s:italicize_strings) +endif +" Boolean constant: TRUE, false +hi! link Boolean colorsboxPurple +" Number constant: 234, 0xff +hi! link Number colorsboxPurple +" Floating point constant: 2.3e10 +hi! link Float colorsboxPurple + +" Generic type +hi! link Type colorsboxYellow +" static, register, volatile, etc +hi! link StorageClass colorsboxOrange +" struct, union, enum, etc. +hi! link Structure colorsboxAqua +" typedef +hi! link Typedef colorsboxYellow + +" }}} +" Completion Menu: {{{ + +if version >= 700 + " Popup menu: normal item + call s:HL('Pmenu', s:fg1, s:bg2) + " Popup menu: selected item + call s:HL('PmenuSel', s:bg2, s:blue, s:bold) + " Popup menu: scrollbar + call s:HL('PmenuSbar', s:none, s:bg2) + " Popup menu: scrollbar thumb + call s:HL('PmenuThumb', s:none, s:bg4) +endif + +" }}} +" Diffs: {{{ + +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:bg0, s:inverse) +call s:HL('DiffText', s:yellow, s:bg0, s:inverse) + +" }}} +" Spelling: {{{ + +if has("spell") + " Not capitalised word, or compile warnings + if g:colorsbox_improved_warnings == 0 + call s:HL('SpellCap', s:none, s:none, s:undercurl, s:red) + else + call s:HL('SpellCap', s:green, s:none, s:bold . s:italic) + endif + " Not recognized word + call s:HL('SpellBad', s:none, s:none, s:undercurl, s:blue) + " Wrong spelling for selected region + call s:HL('SpellLocal', s:none, s:none, s:undercurl, s:aqua) + " Rare word + call s:HL('SpellRare', s:none, s:none, s:undercurl, s:purple) +endif + +" }}} + +" Plugin specific ------------------------------------------------------------- +" EasyMotion: {{{ + +hi! link EasyMotionTarget Search +hi! link EasyMotionShade Comment + +" }}} +" Sneak: {{{ + +hi! link SneakPluginTarget Search +hi! link SneakStreakTarget Search +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 +endif + +if g:indent_guides_auto_colors == 0 + if g:colorsbox_invert_indent_guides == 0 + call s:HL('IndentGuidesOdd', s:vim_bg, s:bg2) + call s:HL('IndentGuidesEven', s:vim_bg, s:bg1) + else + call s:HL('IndentGuidesOdd', s:vim_bg, s:bg2, s:inverse) + call s:HL('IndentGuidesEven', s:vim_bg, s:bg3, s:inverse) + endif +endif + +" }}} +" IndentLine: {{{ + +if !exists('g:indentLine_color_term') + let g:indentLine_color_term = s:bg2[1] +endif +if !exists('g:indentLine_color_gui') + let g:indentLine_color_gui = s:bg2[0] +endif + +" }}} +" Rainbow Parentheses: {{{ + +if !exists('g:rbpt_colorpairs') + let g:rbpt_colorpairs = + \ [ + \ ['blue', '#458588'], ['magenta', '#b16286'], + \ ['red', '#cc241d'], ['166', '#d65d0e'] + \ ] +endif + +let g:rainbow_guifgs = [ '#d65d0e', '#cc241d', '#b16286', '#458588' ] +let g:rainbow_ctermfgs = [ '166', 'red', 'magenta', 'blue' ] + +if !exists('g:rainbow_conf') + let g:rainbow_conf = {} +endif +if !has_key(g:rainbow_conf, 'guifgs') + let g:rainbow_conf['guifgs'] = g:rainbow_guifgs +endif +if !has_key(g:rainbow_conf, 'ctermfgs') + let g:rainbow_conf['ctermfgs'] = g:rainbow_ctermfgs +endif + +let g:niji_dark_colours = g:rbpt_colorpairs +let g:niji_light_colours = g:rbpt_colorpairs + +"}}} +" GitGutter: {{{ + +hi! link GitGutterAdd colorsboxGreenSign +hi! link GitGutterChange colorsboxAquaSign +hi! link GitGutterDelete colorsboxRedSign +hi! link GitGutterChangeDelete colorsboxAquaSign + +" }}} +" GitCommit: "{{{ + +hi! link gitcommitSelectedFile colorsboxGreen +hi! link gitcommitDiscardedFile colorsboxRed + +" }}} +" Signify: {{{ + +hi! link SignifySignAdd colorsboxGreenSign +hi! link SignifySignChange colorsboxAquaSign +hi! link SignifySignDelete colorsboxRedSign + +" }}} +" Syntastic: {{{ + +call s:HL('SyntasticError', s:none, s:none, s:undercurl, s:red) +call s:HL('SyntasticWarning', s:none, s:none, s:undercurl, s:yellow) + +hi! link SyntasticErrorSign colorsboxRedSign +hi! link SyntasticWarningSign colorsboxYellowSign + +" }}} +" Signature: {{{ + +hi! link SignatureMarkerText colorsboxPurpleSign +hi! link SignatureMarkText colorsboxBlueSign + +let g:SignatureMarkerTextHL='"SignatureMarkerText"' +let g:SignatureMarkTextHL='"SignatureMarkText"' + +" }}} +" ShowMarks: {{{ + +hi! link ShowMarksHLl colorsboxBlueSign +hi! link ShowMarksHLu colorsboxBlueSign +hi! link ShowMarksHLo colorsboxBlueSign +hi! link ShowMarksHLm colorsboxBlueSign + +" }}} +" CtrlP: {{{ + +hi! link CtrlPMatch colorsboxYellow +hi! link CtrlPNoEntries colorsboxRed +hi! link CtrlPPrtBase colorsboxBg2 +hi! link CtrlPPrtCursor colorsboxBlue +hi! link CtrlPLinePre colorsboxBg2 + +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: {{{ + +hi! link StartifyBracket colorsboxFg3 +hi! link StartifyFile colorsboxFg0 +hi! link StartifyNumber colorsboxBlue +hi! link StartifyPath colorsboxGray +hi! link StartifySlash colorsboxGray +hi! link StartifySection colorsboxYellow +hi! link StartifySpecial colorsboxBg2 +hi! link StartifyHeader colorsboxOrange +hi! link StartifyFooter colorsboxBg2 + +" }}} +" Vimshell: {{{ + +let g:vimshell_escape_colors = [ + \ 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] + \ ] + +" }}} + +" Filetype specific ----------------------------------------------------------- +" Diff: {{{ + +hi! link diffAdded colorsboxGreen +hi! link diffRemoved colorsboxRed +hi! link diffChanged colorsboxAqua + +hi! link diffFile colorsboxOrange +hi! link diffNewFile colorsboxYellow + +hi! link diffLine colorsboxBlue + +" }}} +" Html: {{{ + +hi! link htmlTag colorsboxBlue +hi! link htmlEndTag colorsboxBlue + +hi! link htmlTagName colorsboxAquaBold +hi! link htmlArg colorsboxAqua + +hi! link htmlScriptTag colorsboxPurple +hi! link htmlTagN colorsboxFg1 +hi! link htmlSpecialTagName colorsboxAquaBold + +call s:HL('htmlLink', s:fg4, s:none, s:underline) + +hi! link htmlSpecialChar colorsboxOrange + +call s:HL('htmlBold', s:vim_fg, s:vim_bg, s:bold) +call s:HL('htmlBoldUnderline', s:vim_fg, s:vim_bg, s:bold . s:underline) +call s:HL('htmlBoldItalic', s:vim_fg, s:vim_bg, s:bold . s:italic) +call s:HL('htmlBoldUnderlineItalic', s:vim_fg, s:vim_bg, s:bold . s:underline . s:italic) + +call s:HL('htmlUnderline', s:vim_fg, s:vim_bg, s:underline) +call s:HL('htmlUnderlineItalic', s:vim_fg, s:vim_bg, s:underline . s:italic) +call s:HL('htmlItalic', s:vim_fg, s:vim_bg, s:italic) + +" }}} +" Xml: {{{ + +hi! link xmlTag colorsboxBlue +hi! link xmlEndTag colorsboxBlue +hi! link xmlTagName colorsboxBlue +hi! link xmlEqual colorsboxBlue +hi! link docbkKeyword colorsboxAquaBold + +hi! link xmlDocTypeDecl colorsboxGray +hi! link xmlDocTypeKeyword colorsboxPurple +hi! link xmlCdataStart colorsboxGray +hi! link xmlCdataCdata colorsboxPurple +hi! link dtdFunction colorsboxGray +hi! link dtdTagName colorsboxPurple + +hi! link xmlAttrib colorsboxAqua +hi! link xmlProcessingDelim colorsboxGray +hi! link dtdParamEntityPunct colorsboxGray +hi! link dtdParamEntityDPunct colorsboxGray +hi! link xmlAttribPunct colorsboxGray + +hi! link xmlEntity colorsboxOrange +hi! link xmlEntityPunct colorsboxOrange +" }}} +" Vim: {{{ + +call s:HL('vimCommentTitle', s:fg4_256, s:none, s:bold . s:italicize_comments) + +hi! link vimNotation colorsboxOrange +hi! link vimBracket colorsboxOrange +hi! link vimMapModKey colorsboxOrange +hi! link vimFuncSID colorsboxFg3 +hi! link vimSetSep colorsboxFg3 +hi! link vimSep colorsboxFg3 +hi! link vimContinue colorsboxFg3 + +" }}} +" Clojure: {{{ + +hi! link clojureKeyword colorsboxBlue +hi! link clojureCond colorsboxOrange +hi! link clojureSpecial colorsboxOrange +hi! link clojureDefine colorsboxOrange + +hi! link clojureFunc colorsboxYellow +hi! link clojureRepeat colorsboxYellow +hi! link clojureCharacter colorsboxAqua +hi! link clojureStringEscape colorsboxAqua +hi! link clojureException colorsboxRed + +hi! link clojureRegexp colorsboxAqua +hi! link clojureRegexpEscape colorsboxAqua +call s:HL('clojureRegexpCharClass', s:fg3, s:none, s:bold) +hi! link clojureRegexpMod clojureRegexpCharClass +hi! link clojureRegexpQuantifier clojureRegexpCharClass + +hi! link clojureParen colorsboxFg3 +hi! link clojureAnonArg colorsboxYellow +hi! link clojureVariable colorsboxBlue +hi! link clojureMacro colorsboxOrange + +hi! link clojureMeta colorsboxYellow +hi! link clojureDeref colorsboxYellow +hi! link clojureQuote colorsboxYellow +hi! link clojureUnquote colorsboxYellow + +" }}} +" C: {{{ + +hi! link cOperator colorsboxPurple +hi! link cStructure colorsboxOrange + +" }}} +" Python: {{{ + +hi! link pythonBuiltin colorsboxOrange +hi! link pythonBuiltinObj colorsboxOrange +hi! link pythonBuiltinFunc colorsboxOrange +hi! link pythonFunction colorsboxAqua +hi! link pythonDecorator colorsboxRed +hi! link pythonInclude colorsboxBlue +hi! link pythonImport colorsboxBlue +hi! link pythonRun colorsboxBlue +hi! link pythonCoding colorsboxBlue +hi! link pythonOperator colorsboxRed +hi! link pythonExceptions colorsboxPurple +hi! link pythonBoolean colorsboxPurple +hi! link pythonDot colorsboxFg3 + +" }}} +" CSS: {{{ + +hi! link cssBraces colorsboxBlue +hi! link cssFunctionName colorsboxYellow +hi! link cssIdentifier colorsboxOrange +hi! link cssClassName colorsboxGreen +hi! link cssColor colorsboxBlue +hi! link cssSelectorOp colorsboxBlue +hi! link cssSelectorOp2 colorsboxBlue +hi! link cssImportant colorsboxGreen +hi! link cssVendor colorsboxFg1 + +hi! link cssTextProp colorsboxAqua +hi! link cssAnimationProp colorsboxAqua +hi! link cssUIProp colorsboxYellow +hi! link cssTransformProp colorsboxAqua +hi! link cssTransitionProp colorsboxAqua +hi! link cssPrintProp colorsboxAqua +hi! link cssPositioningProp colorsboxYellow +hi! link cssBoxProp colorsboxAqua +hi! link cssFontDescriptorProp colorsboxAqua +hi! link cssFlexibleBoxProp colorsboxAqua +hi! link cssBorderOutlineProp colorsboxAqua +hi! link cssBackgroundProp colorsboxAqua +hi! link cssMarginProp colorsboxAqua +hi! link cssListProp colorsboxAqua +hi! link cssTableProp colorsboxAqua +hi! link cssFontProp colorsboxAqua +hi! link cssPaddingProp colorsboxAqua +hi! link cssDimensionProp colorsboxAqua +hi! link cssRenderProp colorsboxAqua +hi! link cssColorProp colorsboxAqua +hi! link cssGeneratedContentProp colorsboxAqua + +" }}} +" JavaScript: {{{ + +hi! link javaScriptBraces colorsboxFg1 +hi! link javaScriptFunction colorsboxAqua +hi! link javaScriptIdentifier colorsboxRed +hi! link javaScriptMember colorsboxBlue +hi! link javaScriptNumber colorsboxPurple +hi! link javaScriptNull colorsboxPurple +hi! link javaScriptParens colorsboxFg3 + +" }}} +" YAJS: {{{ + +hi! link javascriptImport colorsboxAqua +hi! link javascriptExport colorsboxAqua +hi! link javascriptClassKeyword colorsboxAqua +hi! link javascriptClassExtends colorsboxAqua +hi! link javascriptDefault colorsboxAqua + +hi! link javascriptClassName colorsboxYellow +hi! link javascriptClassSuperName colorsboxYellow +hi! link javascriptGlobal colorsboxYellow + +hi! link javascriptEndColons colorsboxFg1 +hi! link javascriptFuncArg colorsboxFg1 +hi! link javascriptGlobalMethod colorsboxFg1 +hi! link javascriptNodeGlobal colorsboxFg1 + +" hi! link javascriptVariable colorsboxOrange +hi! link javascriptVariable colorsboxRed +" hi! link javascriptIdentifier colorsboxOrange +" hi! link javascriptClassSuper colorsboxOrange +hi! link javascriptIdentifier colorsboxOrange +hi! link javascriptClassSuper colorsboxOrange + +" hi! link javascriptFuncKeyword colorsboxOrange +" hi! link javascriptAsyncFunc colorsboxOrange +hi! link javascriptFuncKeyword colorsboxAqua +hi! link javascriptAsyncFunc colorsboxAqua +hi! link javascriptClassStatic colorsboxOrange + +hi! link javascriptOperator colorsboxRed +hi! link javascriptForOperator colorsboxRed +hi! link javascriptYield colorsboxRed +hi! link javascriptExceptions colorsboxRed +hi! link javascriptMessage colorsboxRed + +hi! link javascriptTemplateSB colorsboxAqua +hi! link javascriptTemplateSubstitution colorsboxFg1 + +" hi! link javascriptLabel colorsboxBlue +" hi! link javascriptObjectLabel colorsboxBlue +" hi! link javascriptPropertyName colorsboxBlue +hi! link javascriptLabel colorsboxFg1 +hi! link javascriptObjectLabel colorsboxFg1 +hi! link javascriptPropertyName colorsboxFg1 + +hi! link javascriptLogicSymbols colorsboxFg1 +hi! link javascriptArrowFunc colorsboxFg1 + +hi! link javascriptDocParamName colorsboxFg4 +hi! link javascriptDocTags colorsboxFg4 +hi! link javascriptDocNotation colorsboxFg4 +hi! link javascriptDocParamType colorsboxFg4 +hi! link javascriptDocNamedParamType colorsboxFg4 + +" }}} +" CoffeeScript: {{{ + +hi! link coffeeExtendedOp colorsboxFg3 +hi! link coffeeSpecialOp colorsboxFg3 +hi! link coffeeCurly colorsboxOrange +hi! link coffeeParen colorsboxFg3 +hi! link coffeeBracket colorsboxOrange + +" }}} +" Ruby: {{{ + +hi! link rubyStringDelimiter colorsboxGreen +hi! link rubyInterpolationDelimiter colorsboxAqua + +" }}} +" ObjectiveC: {{{ + +hi! link objcTypeModifier colorsboxRed +hi! link objcDirective colorsboxBlue + +" }}} +" Go: {{{ + +hi! link goDirective colorsboxAqua +hi! link goConstants colorsboxPurple +hi! link goDeclaration colorsboxRed +hi! link goDeclType colorsboxBlue +hi! link goBuiltins colorsboxOrange + +" }}} +" Lua: {{{ + +hi! link luaIn colorsboxRed +hi! link luaFunction colorsboxAqua +hi! link luaTable colorsboxOrange + +" }}} +" MoonScript: {{{ + +hi! link moonSpecialOp colorsboxFg3 +hi! link moonExtendedOp colorsboxFg3 +hi! link moonFunction colorsboxFg3 +hi! link moonObject colorsboxYellow + +" }}} +" Java: {{{ + +hi! link javaAnnotation colorsboxBlue +hi! link javaDocTags colorsboxAqua +hi! link javaCommentTitle vimCommentTitle +hi! link javaParen colorsboxFg3 +hi! link javaParen1 colorsboxFg3 +hi! link javaParen2 colorsboxFg3 +hi! link javaParen3 colorsboxFg3 +hi! link javaParen4 colorsboxFg3 +hi! link javaParen5 colorsboxFg3 +hi! link javaOperator colorsboxOrange + +hi! link javaVarArg colorsboxGreen + +" }}} +" Elixir: {{{ + +hi! link elixirDocString Comment + +hi! link elixirStringDelimiter colorsboxGreen +hi! link elixirInterpolationDelimiter colorsboxAqua + +" }}} +" Scala: {{{ + +" NB: scala vim syntax file is kinda horrible +hi! link scalaNameDefinition colorsboxFg1 +hi! link scalaCaseFollowing colorsboxFg1 +hi! link scalaCapitalWord colorsboxFg1 +hi! link scalaTypeExtension colorsboxFg1 + +hi! link scalaKeyword colorsboxRed +hi! link scalaKeywordModifier colorsboxRed + +hi! link scalaSpecial colorsboxAqua +hi! link scalaOperator colorsboxFg1 + +hi! link scalaTypeDeclaration colorsboxYellow +hi! link scalaTypeTypePostDeclaration colorsboxYellow + +hi! link scalaInstanceDeclaration colorsboxFg1 +hi! link scalaInterpolation colorsboxAqua + +" }}} +" Markdown: {{{ + +call s:HL('markdownItalic', s:fg3, s:none, s:italic) + +hi! link markdownH1 colorsboxGreenBold +hi! link markdownH2 colorsboxGreenBold +hi! link markdownH3 colorsboxYellowBold +hi! link markdownH4 colorsboxYellowBold +hi! link markdownH5 colorsboxYellow +hi! link markdownH6 colorsboxYellow + +hi! link markdownCode colorsboxAqua +hi! link markdownCodeBlock colorsboxAqua +hi! link markdownCodeDelimiter colorsboxAqua + +hi! link markdownBlockquote colorsboxGray +hi! link markdownListMarker colorsboxGray +hi! link markdownOrderedListMarker colorsboxGray +hi! link markdownRule colorsboxGray +hi! link markdownHeadingRule colorsboxGray + +hi! link markdownUrlDelimiter colorsboxFg3 +hi! link markdownLinkDelimiter colorsboxFg3 +hi! link markdownLinkTextDelimiter colorsboxFg3 + +hi! link markdownHeadingDelimiter colorsboxOrange +hi! link markdownUrl colorsboxPurple +hi! link markdownUrlTitleDelimiter colorsboxGreen + +call s:HL('markdownLinkText', s:gray, s:none, s:underline) +hi! link markdownIdDeclaration markdownLinkText + +" }}} +" Haskell: {{{ + +" hi! link haskellType colorsboxYellow +" hi! link haskellOperators colorsboxOrange +" hi! link haskellConditional colorsboxAqua +" hi! link haskellLet colorsboxOrange +" +hi! link haskellType colorsboxFg1 +hi! link haskellIdentifier colorsboxFg1 +hi! link haskellSeparator colorsboxFg1 +hi! link haskellDelimiter colorsboxFg4 +hi! link haskellOperators colorsboxBlue +" +hi! link haskellBacktick colorsboxOrange +hi! link haskellStatement colorsboxOrange +hi! link haskellConditional colorsboxOrange + +hi! link haskellLet colorsboxAqua +hi! link haskellDefault colorsboxAqua +hi! link haskellWhere colorsboxAqua +hi! link haskellBottom colorsboxAqua +hi! link haskellBlockKeywords colorsboxAqua +hi! link haskellImportKeywords colorsboxAqua +hi! link haskellDeclKeyword colorsboxAqua +hi! link haskellDeriving colorsboxAqua +hi! link haskellAssocType colorsboxAqua + +hi! link haskellNumber colorsboxPurple +hi! link haskellPragma colorsboxPurple + +hi! link haskellString colorsboxGreen +hi! link haskellChar colorsboxGreen + +" }}} +" Json: {{{ + +hi! link jsonKeyword colorsboxGreen +hi! link jsonQuote colorsboxGreen +hi! link jsonBraces colorsboxFg1 +hi! link jsonString colorsboxFg1 + +" }}} + + +" Functions ------------------------------------------------------------------- +" Search Highlighting Cursor {{{ + +function! ColorsboxHlsShowCursor() + call s:HL('Cursor', s:bg0, s:hls_cursor) +endfunction + +function! ColorsboxHlsHideCursor() + call s:HL('Cursor', s:none, s:none, s:inverse) +endfunction + +" }}} + +" vim: set sw=2 ts=2 sts=2 et tw=80 ft=vim fdm=marker: diff --git a/.vim/colors/colorsbox-stbright.vim b/.vim/colors/colorsbox-stbright.vim new file mode 100644 index 0000000..6565f8f --- /dev/null +++ b/.vim/colors/colorsbox-stbright.vim @@ -0,0 +1,1159 @@ +" ----------------------------------------------------------------------------- +" File: colorsbox.vim +" Description: Material color scheme using gruvbox as a skel +" Author: mkarmona +" Source: https://github.com/mkarmona/colorsbox +" Last Modified: 22 Oct 2015 +" ----------------------------------------------------------------------------- + +" Supporting code ------------------------------------------------------------- +" Initialisation: {{{ + +if version > 580 + hi clear + if exists("syntax_on") + syntax reset + endif +endif + +let g:colors_name='colorsbox-stbright' + +if !has('gui_running') && &t_Co != 256 + finish +endif + +" }}} +" Global Settings: {{{ + +if !exists('g:colorsbox_bold') + let g:colorsbox_bold=1 +endif +if !exists('g:colorsbox_italic') + if has('gui_running') || $TERM_ITALICS == 'true' + let g:colorsbox_italic=1 + else + let g:colorsbox_italic=0 + endif +endif +if !exists('g:colorsbox_undercurl') + let g:colorsbox_undercurl=1 +endif +if !exists('g:colorsbox_underline') + let g:colorsbox_underline=1 +endif +if !exists('g:colorsbox_inverse') + let g:colorsbox_inverse=1 +endif + +if !exists('g:colorsbox_guisp_fallback') || index(['fg', 'bg'], g:colorsbox_guisp_fallback) == -1 + let g:colorsbox_guisp_fallback='NONE' +endif + +if !exists('g:colorsbox_improved_strings') + let g:colorsbox_improved_strings=0 +endif + +if !exists('g:colorsbox_improved_warnings') + let g:colorsbox_improved_warnings=0 +endif + +if !exists('g:colorsbox_termcolors') + let g:colorsbox_termcolors=256 +endif + +if !exists('g:colorsbox_invert_indent_guides') + let g:colorsbox_invert_indent_guides=0 +endif + +let s:is_dark=(&background == 'dark') + +" }}} +" Palette: {{{ + +" setup palette dictionary +let s:gb = {} + +" fill it with absolute colors +let s:gb.dark0_hard = ['#070708', 234] " 29-32-33 +let s:gb.dark0 = ['#121314', 235] " 40-40-40 +let s:gb.dark0_soft = ['#1e1f21', 236] " 50-48-47 +let s:gb.dark1 = ['#292c2e', 237] " 60-56-54 +let s:gb.dark2 = ['#404447', 239] " 80-73-69 +let s:gb.dark3 = ['#575c61', 241] " 102-92-84 +let s:gb.dark4 = ['#6e747a', 243] " 124-111-100 +let s:gb.dark4_256 = ['#6e747a', 243] " 124-111-100 + +let s:gb.gray_245 = ['#9ea19f', 245] " 146-131-116 dark + +let s:gb.light0_hard = ['#eaedeb', 230] " 249-245-215 dark +let s:gb.light0 = ['#eaedeb', 229] " 253-244-193 +let s:gb.light0_soft = ['#eaedeb', 228] " 242-229-188 +let s:gb.light1 = ['#d1d4d2', 223] " 235-219-178 +let s:gb.light2 = ['#b8bab8', 250] " 213-196-161 +let s:gb.light3 = ['#9ea19f', 248] " 189-174-147 +let s:gb.light4 = ['#858786', 246] " 168-153-132 +let s:gb.light4_256 = ['#858786', 246] " 168-153-132 + +let s:gb.bright_red = ['#d54e53', 167] " 251-73-52 +let s:gb.bright_green = ['#b9ca4a', 142] " 184-187-38 +let s:gb.bright_yellow = ['#e7c547', 214] " 250-189-47 +let s:gb.bright_blue = ['#7aa6da', 109] " 131-165-152 +let s:gb.bright_purple = ['#c397d8', 175] " 211-134-155 +let s:gb.bright_aqua = ['#70c0b1', 108] " 142-192-124 +let s:gb.bright_orange = ['#e78c45', 208] " 254-128-25 + + +" }}} +" Setup Emphasis: {{{ + +let s:bold = 'bold,' +if g:colorsbox_bold == 0 + let s:bold = '' +endif + +let s:italic = 'italic,' +if g:colorsbox_italic == 0 + let s:italic = '' +endif + +let s:underline = 'underline,' +if g:colorsbox_underline == 0 + let s:underline = '' +endif + +let s:undercurl = 'undercurl,' +if g:colorsbox_undercurl == 0 + let s:undercurl = '' +endif + +let s:inverse = 'inverse,' +if g:colorsbox_inverse == 0 + let s:inverse = '' +endif + +" }}} +" Setup Colors: {{{ + +let s:vim_bg = ['bg', 'bg'] +let s:vim_fg = ['fg', 'fg'] +let s:none = ['NONE', 'NONE'] + +if !exists('g:colorsbox_contrast_dark') + let g:colorsbox_contrast_dark = 'medium' +endif + +" determine relative colors +let s:bg0 = s:gb.dark0 +if g:colorsbox_contrast_dark == 'soft' + let s:bg0 = s:gb.dark0_soft +elseif g:colorsbox_contrast_dark == 'hard' + let s:bg0 = s:gb.dark0_hard +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 + +" reset to 16 colors fallback +if g:colorsbox_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:colorsbox_hls_cursor') + let s:hls_cursor = get(s:gb, g:colorsbox_hls_cursor) +endif + +"let s:number_column = s:bg4 +let s:number_column = s:gray +let s:sign_column = s:bg1 + +if exists('g:gitgutter_override_sign_column_highlight') && + \ g:gitgutter_override_sign_column_highlight == 1 + let s:sign_column = s:number_column +else + let g:gitgutter_override_sign_column_highlight = 0 + + if exists('g:colorsbox_sign_column') + let s:sign_column = get(s:gb, g:colorsbox_sign_column) + endif +endif + +let s:color_column = s:bg1 +if exists('g:colorsbox_color_column') + let s:color_column = get(s:gb, g:colorsbox_color_column) +endif + +let s:vert_split = s:bg2 +if exists('g:colorsbox_vert_split') + let s:vert_split = get(s:gb, g:colorsbox_vert_split) +endif + +let s:invert_signs = '' +if exists('g:colorsbox_invert_signs') + if g:colorsbox_invert_signs == 1 + let s:invert_signs = s:inverse + endif +endif + +let s:invert_selection = s:inverse +if exists('g:colorsbox_invert_selection') + if g:colorsbox_invert_selection == 0 + let s:invert_selection = '' + endif +endif + +let s:invert_tabline = '' +if exists('g:colorsbox_invert_tabline') + if g:colorsbox_invert_tabline == 1 + let s:invert_tabline = s:inverse + endif +endif + +let s:italicize_comments = s:italic +if exists('g:colorsbox_italicize_comments') + if g:colorsbox_italicize_comments == 0 + let s:italicize_comments = '' + endif +endif + +let s:italicize_strings = '' +if exists('g:colorsbox_italicize_strings') + if g:colorsbox_italicize_strings == 1 + let s:italicize_strings = s:italic + endif +endif + +" }}} +" Highlighting Function: {{{ + +function! s:HL(group, fg, ...) + " Arguments: group, guifg, guibg, gui, guisp + + " foreground + let fg = a:fg + + " background + if a:0 >= 1 + let bg = a:1 + else + let bg = s:none + endif + + " emphasis + if a:0 >= 2 && strlen(a:2) + let emstr = a:2 + else + let emstr = 'NONE,' + endif + + " special fallback + if a:0 >= 3 + if g:colorsbox_guisp_fallback != 'NONE' + let fg = a:3 + endif + + " bg fallback mode should invert higlighting + if g:colorsbox_guisp_fallback == 'bg' + let emstr .= 'inverse,' + endif + endif + + let histring = [ 'hi', a:group, + \ 'guifg=' . fg[0], 'ctermfg=' . fg[1], + \ 'guibg=' . bg[0], 'ctermbg=' . bg[1], + \ 'gui=' . emstr[:-2], 'cterm=' . emstr[:-2] + \ ] + + " special + if a:0 >= 3 + call add(histring, 'guisp=' . a:3[0]) + endif + + execute join(histring, ' ') +endfunction + +" }}} +" colorsbox Hi Groups: {{{ + +" memoize common hi groups +call s:HL('colorsboxFg0', s:fg0) +call s:HL('colorsboxFg1', s:fg1) +call s:HL('colorsboxFg2', s:fg2) +call s:HL('colorsboxFg3', s:fg3) +call s:HL('colorsboxFg4', s:fg4) +call s:HL('colorsboxGray', s:gray) +call s:HL('colorsboxBg0', s:bg0) +call s:HL('colorsboxBg1', s:bg1) +call s:HL('colorsboxBg2', s:bg2) +call s:HL('colorsboxBg3', s:bg3) + +call s:HL('colorsboxRed', s:red) +call s:HL('colorsboxRedBold', s:red, s:none, s:bold) +call s:HL('colorsboxGreen', s:green) +call s:HL('colorsboxGreenBold', s:green, s:none, s:bold) +call s:HL('colorsboxYellow', s:yellow) +call s:HL('colorsboxYellowBold', s:yellow, s:none, s:bold) +call s:HL('colorsboxBlue', s:blue) +call s:HL('colorsboxBlueBold', s:blue, s:none, s:bold) +call s:HL('colorsboxPurple', s:purple) +call s:HL('colorsboxPurpleBold', s:purple, s:none, s:bold) +call s:HL('colorsboxAqua', s:aqua) +call s:HL('colorsboxAquaBold', s:aqua, s:none, s:bold) +call s:HL('colorsboxOrange', s:orange) +call s:HL('colorsboxOrangeBold', s:orange, s:none, s:bold) + +call s:HL('colorsboxRedSign', s:red, s:sign_column, s:invert_signs) +call s:HL('colorsboxGreenSign', s:green, s:sign_column, s:invert_signs) +call s:HL('colorsboxYellowSign', s:yellow, s:sign_column, s:invert_signs) +call s:HL('colorsboxBlueSign', s:blue, s:sign_column, s:invert_signs) +call s:HL('colorsboxPurpleSign', s:purple, s:sign_column, s:invert_signs) +call s:HL('colorsboxAquaSign', s:aqua, s:sign_column, s:invert_signs) + +" }}} + +" Vanilla colorscheme --------------------------------------------------------- +" General UI: {{{ + +" Normal text +call s:HL('Normal', s:fg0, s:bg0) + +" Correct background (see issue #7): +" --- Problem with changing between dark and light on 256 color terminal +" --- https://github.com/morhetz/colorsbox/issues/7 +if s:is_dark + set background=dark +else + set background=light +endif + +if version >= 700 + " Screen line that the cursor is + call s:HL('CursorLine', s:none, s:bg1) + " Screen column that the cursor is + hi! link CursorColumn CursorLine + + " Tab pages line filler + call s:HL('TabLineFill', s:bg4, s:vim_bg, s:invert_tabline) + " Active tab page label + call s:HL('TabLineSel', s:vim_bg, s:bg4, s:bold . s:invert_tabline) + " Not active tab page label + hi! link TabLine TabLineFill + + " Match paired bracket under the cursor + call s:HL('MatchParen', s:none, s:bg3, s:bold) +endif + +if version >= 703 + " Highlighted screen columns + call s:HL('ColorColumn', s:none, s:color_column) + + " Concealed element: \lambda → λ + call s:HL('Conceal', s:blue, s:none) + + " Line number of CursorLine + "call s:HL('CursorLineNr', s:yellow, s:bg1) + call s:HL('CursorLineNr', s:fg0, s:bg1) +endif + +hi! link NonText colorsboxBg2 +hi! link SpecialKey colorsboxBg2 + +call s:HL('Visual', s:none, s:bg3, s:invert_selection) +hi! link VisualNOS Visual + +call s:HL('Search', s:bg0, s:yellow) +call s:HL('IncSearch', s:bg0, s:hls_cursor) + +call s:HL('Underlined', s:blue, s:none, s:underline) + +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:fg4, s:vert_split) + +" Current match in wildmenu completion +call s:HL('WildMenu', s:blue, s:bg2, s:bold) + +" Directory names, special names in listing +hi! link Directory colorsboxGreenBold + +" Titles for output from :set all, :autocmd, etc. +hi! link Title colorsboxGreenBold + +" Error messages on the command line +call s:HL('ErrorMsg', s:vim_bg, s:red, s:bold) +" More prompt: -- More -- +hi! link MoreMsg colorsboxYellowBold +" Current mode message: -- INSERT -- +hi! link ModeMsg colorsboxYellowBold +" 'Press enter' prompt and yes/no questions +hi! link Question colorsboxOrangeBold +" Warning messages +hi! link WarningMsg colorsboxRedBold + +" }}} +" Gutter: {{{ + +" Line number for :number and :# commands +call s:HL('LineNr', s:number_column) + +" Column where signs are displayed +call s:HL('SignColumn', s:none, s:sign_column) + +" Line used for closed folds +call s:HL('Folded', s:gray, s:bg1, s:italic) +" Column where folds are displayed +call s:HL('FoldColumn', s:gray, s:bg1) + +" }}} +" Cursor: {{{ + +" Character under cursor +call s:HL('Cursor', s:none, s:none, s:inverse) +" Visual mode cursor, selection +hi! link vCursor Cursor +" Input moder cursor +hi! link iCursor Cursor +" Language mapping cursor +hi! link lCursor Cursor + +" }}} +" Syntax Highlighting: {{{ + +if g:colorsbox_improved_strings == 0 + hi! link Special colorsboxOrange +else + call s:HL('Special', s:bg1, s:orange, s:italic) +endif + +call s:HL('Comment', s:gray, s:none, s:italicize_comments) +call s:HL('Todo', s:vim_fg, s:vim_bg, s:bold . s:italic) +call s:HL('Error', s:red, s:vim_bg, s:bold . s:inverse) + +" Generic statement +hi! link Statement colorsboxRed +" if, then, else, endif, swicth, etc. +hi! link Conditional colorsboxRed +" for, do, while, etc. +hi! link Repeat colorsboxRed +" case, default, etc. +hi! link Label colorsboxRed +" try, catch, throw +hi! link Exception colorsboxRed +" sizeof, "+", "*", etc. +hi! link Operator Normal +" Any other keyword +hi! link Keyword colorsboxRed + +" Variable name +hi! link Identifier colorsboxBlue +" Function name +hi! link Function colorsboxGreenBold + +" Generic preprocessor +hi! link PreProc colorsboxAqua +" Preprocessor #include +hi! link Include colorsboxAqua +" Preprocessor #define +hi! link Define colorsboxAqua +" Same as Define +hi! link Macro colorsboxAqua +" Preprocessor #if, #else, #endif, etc. +hi! link PreCondit colorsboxAqua + +" Generic constant +hi! link Constant colorsboxPurple +" Character constant: 'c', '/n' +hi! link Character colorsboxPurple +" String constant: "this is a string" +if g:colorsbox_improved_strings == 0 + call s:HL('String', s:green, s:none, s:italicize_strings) +else + call s:HL('String', s:bg1, s:fg1, s:italicize_strings) +endif +" Boolean constant: TRUE, false +hi! link Boolean colorsboxPurple +" Number constant: 234, 0xff +hi! link Number colorsboxPurple +" Floating point constant: 2.3e10 +hi! link Float colorsboxPurple + +" Generic type +hi! link Type colorsboxYellow +" static, register, volatile, etc +hi! link StorageClass colorsboxOrange +" struct, union, enum, etc. +hi! link Structure colorsboxAqua +" typedef +hi! link Typedef colorsboxYellow + +" }}} +" Completion Menu: {{{ + +if version >= 700 + " Popup menu: normal item + call s:HL('Pmenu', s:fg1, s:bg2) + " Popup menu: selected item + call s:HL('PmenuSel', s:bg2, s:blue, s:bold) + " Popup menu: scrollbar + call s:HL('PmenuSbar', s:none, s:bg2) + " Popup menu: scrollbar thumb + call s:HL('PmenuThumb', s:none, s:bg4) +endif + +" }}} +" Diffs: {{{ + +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:bg0, s:inverse) +call s:HL('DiffText', s:yellow, s:bg0, s:inverse) + +" }}} +" Spelling: {{{ + +if has("spell") + " Not capitalised word, or compile warnings + if g:colorsbox_improved_warnings == 0 + call s:HL('SpellCap', s:none, s:none, s:undercurl, s:red) + else + call s:HL('SpellCap', s:green, s:none, s:bold . s:italic) + endif + " Not recognized word + call s:HL('SpellBad', s:none, s:none, s:undercurl, s:blue) + " Wrong spelling for selected region + call s:HL('SpellLocal', s:none, s:none, s:undercurl, s:aqua) + " Rare word + call s:HL('SpellRare', s:none, s:none, s:undercurl, s:purple) +endif + +" }}} + +" Plugin specific ------------------------------------------------------------- +" EasyMotion: {{{ + +hi! link EasyMotionTarget Search +hi! link EasyMotionShade Comment + +" }}} +" Sneak: {{{ + +hi! link SneakPluginTarget Search +hi! link SneakStreakTarget Search +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 +endif + +if g:indent_guides_auto_colors == 0 + if g:colorsbox_invert_indent_guides == 0 + call s:HL('IndentGuidesOdd', s:vim_bg, s:bg2) + call s:HL('IndentGuidesEven', s:vim_bg, s:bg1) + else + call s:HL('IndentGuidesOdd', s:vim_bg, s:bg2, s:inverse) + call s:HL('IndentGuidesEven', s:vim_bg, s:bg3, s:inverse) + endif +endif + +" }}} +" IndentLine: {{{ + +if !exists('g:indentLine_color_term') + let g:indentLine_color_term = s:bg2[1] +endif +if !exists('g:indentLine_color_gui') + let g:indentLine_color_gui = s:bg2[0] +endif + +" }}} +" Rainbow Parentheses: {{{ + +if !exists('g:rbpt_colorpairs') + let g:rbpt_colorpairs = + \ [ + \ ['blue', '#458588'], ['magenta', '#b16286'], + \ ['red', '#cc241d'], ['166', '#d65d0e'] + \ ] +endif + +let g:rainbow_guifgs = [ '#d65d0e', '#cc241d', '#b16286', '#458588' ] +let g:rainbow_ctermfgs = [ '166', 'red', 'magenta', 'blue' ] + +if !exists('g:rainbow_conf') + let g:rainbow_conf = {} +endif +if !has_key(g:rainbow_conf, 'guifgs') + let g:rainbow_conf['guifgs'] = g:rainbow_guifgs +endif +if !has_key(g:rainbow_conf, 'ctermfgs') + let g:rainbow_conf['ctermfgs'] = g:rainbow_ctermfgs +endif + +let g:niji_dark_colours = g:rbpt_colorpairs +let g:niji_light_colours = g:rbpt_colorpairs + +"}}} +" GitGutter: {{{ + +hi! link GitGutterAdd colorsboxGreenSign +hi! link GitGutterChange colorsboxAquaSign +hi! link GitGutterDelete colorsboxRedSign +hi! link GitGutterChangeDelete colorsboxAquaSign + +" }}} +" GitCommit: "{{{ + +hi! link gitcommitSelectedFile colorsboxGreen +hi! link gitcommitDiscardedFile colorsboxRed + +" }}} +" Signify: {{{ + +hi! link SignifySignAdd colorsboxGreenSign +hi! link SignifySignChange colorsboxAquaSign +hi! link SignifySignDelete colorsboxRedSign + +" }}} +" Syntastic: {{{ + +call s:HL('SyntasticError', s:none, s:none, s:undercurl, s:red) +call s:HL('SyntasticWarning', s:none, s:none, s:undercurl, s:yellow) + +hi! link SyntasticErrorSign colorsboxRedSign +hi! link SyntasticWarningSign colorsboxYellowSign + +" }}} +" Signature: {{{ + +hi! link SignatureMarkerText colorsboxPurpleSign +hi! link SignatureMarkText colorsboxBlueSign + +let g:SignatureMarkerTextHL='"SignatureMarkerText"' +let g:SignatureMarkTextHL='"SignatureMarkText"' + +" }}} +" ShowMarks: {{{ + +hi! link ShowMarksHLl colorsboxBlueSign +hi! link ShowMarksHLu colorsboxBlueSign +hi! link ShowMarksHLo colorsboxBlueSign +hi! link ShowMarksHLm colorsboxBlueSign + +" }}} +" CtrlP: {{{ + +hi! link CtrlPMatch colorsboxYellow +hi! link CtrlPNoEntries colorsboxRed +hi! link CtrlPPrtBase colorsboxBg2 +hi! link CtrlPPrtCursor colorsboxBlue +hi! link CtrlPLinePre colorsboxBg2 + +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: {{{ + +hi! link StartifyBracket colorsboxFg3 +hi! link StartifyFile colorsboxFg0 +hi! link StartifyNumber colorsboxBlue +hi! link StartifyPath colorsboxGray +hi! link StartifySlash colorsboxGray +hi! link StartifySection colorsboxYellow +hi! link StartifySpecial colorsboxBg2 +hi! link StartifyHeader colorsboxOrange +hi! link StartifyFooter colorsboxBg2 + +" }}} +" Vimshell: {{{ + +let g:vimshell_escape_colors = [ + \ 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] + \ ] + +" }}} + +" Filetype specific ----------------------------------------------------------- +" Diff: {{{ + +hi! link diffAdded colorsboxGreen +hi! link diffRemoved colorsboxRed +hi! link diffChanged colorsboxAqua + +hi! link diffFile colorsboxOrange +hi! link diffNewFile colorsboxYellow + +hi! link diffLine colorsboxBlue + +" }}} +" Html: {{{ + +hi! link htmlTag colorsboxBlue +hi! link htmlEndTag colorsboxBlue + +hi! link htmlTagName colorsboxAquaBold +hi! link htmlArg colorsboxAqua + +hi! link htmlScriptTag colorsboxPurple +hi! link htmlTagN colorsboxFg1 +hi! link htmlSpecialTagName colorsboxAquaBold + +call s:HL('htmlLink', s:fg4, s:none, s:underline) + +hi! link htmlSpecialChar colorsboxOrange + +call s:HL('htmlBold', s:vim_fg, s:vim_bg, s:bold) +call s:HL('htmlBoldUnderline', s:vim_fg, s:vim_bg, s:bold . s:underline) +call s:HL('htmlBoldItalic', s:vim_fg, s:vim_bg, s:bold . s:italic) +call s:HL('htmlBoldUnderlineItalic', s:vim_fg, s:vim_bg, s:bold . s:underline . s:italic) + +call s:HL('htmlUnderline', s:vim_fg, s:vim_bg, s:underline) +call s:HL('htmlUnderlineItalic', s:vim_fg, s:vim_bg, s:underline . s:italic) +call s:HL('htmlItalic', s:vim_fg, s:vim_bg, s:italic) + +" }}} +" Xml: {{{ + +hi! link xmlTag colorsboxBlue +hi! link xmlEndTag colorsboxBlue +hi! link xmlTagName colorsboxBlue +hi! link xmlEqual colorsboxBlue +hi! link docbkKeyword colorsboxAquaBold + +hi! link xmlDocTypeDecl colorsboxGray +hi! link xmlDocTypeKeyword colorsboxPurple +hi! link xmlCdataStart colorsboxGray +hi! link xmlCdataCdata colorsboxPurple +hi! link dtdFunction colorsboxGray +hi! link dtdTagName colorsboxPurple + +hi! link xmlAttrib colorsboxAqua +hi! link xmlProcessingDelim colorsboxGray +hi! link dtdParamEntityPunct colorsboxGray +hi! link dtdParamEntityDPunct colorsboxGray +hi! link xmlAttribPunct colorsboxGray + +hi! link xmlEntity colorsboxOrange +hi! link xmlEntityPunct colorsboxOrange +" }}} +" Vim: {{{ + +call s:HL('vimCommentTitle', s:fg4_256, s:none, s:bold . s:italicize_comments) + +hi! link vimNotation colorsboxOrange +hi! link vimBracket colorsboxOrange +hi! link vimMapModKey colorsboxOrange +hi! link vimFuncSID colorsboxFg3 +hi! link vimSetSep colorsboxFg3 +hi! link vimSep colorsboxFg3 +hi! link vimContinue colorsboxFg3 + +" }}} +" Clojure: {{{ + +hi! link clojureKeyword colorsboxBlue +hi! link clojureCond colorsboxOrange +hi! link clojureSpecial colorsboxOrange +hi! link clojureDefine colorsboxOrange + +hi! link clojureFunc colorsboxYellow +hi! link clojureRepeat colorsboxYellow +hi! link clojureCharacter colorsboxAqua +hi! link clojureStringEscape colorsboxAqua +hi! link clojureException colorsboxRed + +hi! link clojureRegexp colorsboxAqua +hi! link clojureRegexpEscape colorsboxAqua +call s:HL('clojureRegexpCharClass', s:fg3, s:none, s:bold) +hi! link clojureRegexpMod clojureRegexpCharClass +hi! link clojureRegexpQuantifier clojureRegexpCharClass + +hi! link clojureParen colorsboxFg3 +hi! link clojureAnonArg colorsboxYellow +hi! link clojureVariable colorsboxBlue +hi! link clojureMacro colorsboxOrange + +hi! link clojureMeta colorsboxYellow +hi! link clojureDeref colorsboxYellow +hi! link clojureQuote colorsboxYellow +hi! link clojureUnquote colorsboxYellow + +" }}} +" C: {{{ + +hi! link cOperator colorsboxPurple +hi! link cStructure colorsboxOrange + +" }}} +" Python: {{{ + +hi! link pythonBuiltin colorsboxOrange +hi! link pythonBuiltinObj colorsboxOrange +hi! link pythonBuiltinFunc colorsboxOrange +hi! link pythonFunction colorsboxAqua +hi! link pythonDecorator colorsboxRed +hi! link pythonInclude colorsboxBlue +hi! link pythonImport colorsboxBlue +hi! link pythonRun colorsboxBlue +hi! link pythonCoding colorsboxBlue +hi! link pythonOperator colorsboxRed +hi! link pythonExceptions colorsboxPurple +hi! link pythonBoolean colorsboxPurple +hi! link pythonDot colorsboxFg3 + +" }}} +" CSS: {{{ + +hi! link cssBraces colorsboxBlue +hi! link cssFunctionName colorsboxYellow +hi! link cssIdentifier colorsboxOrange +hi! link cssClassName colorsboxGreen +hi! link cssColor colorsboxBlue +hi! link cssSelectorOp colorsboxBlue +hi! link cssSelectorOp2 colorsboxBlue +hi! link cssImportant colorsboxGreen +hi! link cssVendor colorsboxFg1 + +hi! link cssTextProp colorsboxAqua +hi! link cssAnimationProp colorsboxAqua +hi! link cssUIProp colorsboxYellow +hi! link cssTransformProp colorsboxAqua +hi! link cssTransitionProp colorsboxAqua +hi! link cssPrintProp colorsboxAqua +hi! link cssPositioningProp colorsboxYellow +hi! link cssBoxProp colorsboxAqua +hi! link cssFontDescriptorProp colorsboxAqua +hi! link cssFlexibleBoxProp colorsboxAqua +hi! link cssBorderOutlineProp colorsboxAqua +hi! link cssBackgroundProp colorsboxAqua +hi! link cssMarginProp colorsboxAqua +hi! link cssListProp colorsboxAqua +hi! link cssTableProp colorsboxAqua +hi! link cssFontProp colorsboxAqua +hi! link cssPaddingProp colorsboxAqua +hi! link cssDimensionProp colorsboxAqua +hi! link cssRenderProp colorsboxAqua +hi! link cssColorProp colorsboxAqua +hi! link cssGeneratedContentProp colorsboxAqua + +" }}} +" JavaScript: {{{ + +hi! link javaScriptBraces colorsboxFg1 +hi! link javaScriptFunction colorsboxAqua +hi! link javaScriptIdentifier colorsboxRed +hi! link javaScriptMember colorsboxBlue +hi! link javaScriptNumber colorsboxPurple +hi! link javaScriptNull colorsboxPurple +hi! link javaScriptParens colorsboxFg3 + +" }}} +" YAJS: {{{ + +hi! link javascriptImport colorsboxAqua +hi! link javascriptExport colorsboxAqua +hi! link javascriptClassKeyword colorsboxAqua +hi! link javascriptClassExtends colorsboxAqua +hi! link javascriptDefault colorsboxAqua + +hi! link javascriptClassName colorsboxYellow +hi! link javascriptClassSuperName colorsboxYellow +hi! link javascriptGlobal colorsboxYellow + +hi! link javascriptEndColons colorsboxFg1 +hi! link javascriptFuncArg colorsboxFg1 +hi! link javascriptGlobalMethod colorsboxFg1 +hi! link javascriptNodeGlobal colorsboxFg1 + +" hi! link javascriptVariable colorsboxOrange +hi! link javascriptVariable colorsboxRed +" hi! link javascriptIdentifier colorsboxOrange +" hi! link javascriptClassSuper colorsboxOrange +hi! link javascriptIdentifier colorsboxOrange +hi! link javascriptClassSuper colorsboxOrange + +" hi! link javascriptFuncKeyword colorsboxOrange +" hi! link javascriptAsyncFunc colorsboxOrange +hi! link javascriptFuncKeyword colorsboxAqua +hi! link javascriptAsyncFunc colorsboxAqua +hi! link javascriptClassStatic colorsboxOrange + +hi! link javascriptOperator colorsboxRed +hi! link javascriptForOperator colorsboxRed +hi! link javascriptYield colorsboxRed +hi! link javascriptExceptions colorsboxRed +hi! link javascriptMessage colorsboxRed + +hi! link javascriptTemplateSB colorsboxAqua +hi! link javascriptTemplateSubstitution colorsboxFg1 + +" hi! link javascriptLabel colorsboxBlue +" hi! link javascriptObjectLabel colorsboxBlue +" hi! link javascriptPropertyName colorsboxBlue +hi! link javascriptLabel colorsboxFg1 +hi! link javascriptObjectLabel colorsboxFg1 +hi! link javascriptPropertyName colorsboxFg1 + +hi! link javascriptLogicSymbols colorsboxFg1 +hi! link javascriptArrowFunc colorsboxFg1 + +hi! link javascriptDocParamName colorsboxFg4 +hi! link javascriptDocTags colorsboxFg4 +hi! link javascriptDocNotation colorsboxFg4 +hi! link javascriptDocParamType colorsboxFg4 +hi! link javascriptDocNamedParamType colorsboxFg4 + +" }}} +" CoffeeScript: {{{ + +hi! link coffeeExtendedOp colorsboxFg3 +hi! link coffeeSpecialOp colorsboxFg3 +hi! link coffeeCurly colorsboxOrange +hi! link coffeeParen colorsboxFg3 +hi! link coffeeBracket colorsboxOrange + +" }}} +" Ruby: {{{ + +hi! link rubyStringDelimiter colorsboxGreen +hi! link rubyInterpolationDelimiter colorsboxAqua + +" }}} +" ObjectiveC: {{{ + +hi! link objcTypeModifier colorsboxRed +hi! link objcDirective colorsboxBlue + +" }}} +" Go: {{{ + +hi! link goDirective colorsboxAqua +hi! link goConstants colorsboxPurple +hi! link goDeclaration colorsboxRed +hi! link goDeclType colorsboxBlue +hi! link goBuiltins colorsboxOrange + +" }}} +" Lua: {{{ + +hi! link luaIn colorsboxRed +hi! link luaFunction colorsboxAqua +hi! link luaTable colorsboxOrange + +" }}} +" MoonScript: {{{ + +hi! link moonSpecialOp colorsboxFg3 +hi! link moonExtendedOp colorsboxFg3 +hi! link moonFunction colorsboxFg3 +hi! link moonObject colorsboxYellow + +" }}} +" Java: {{{ + +hi! link javaAnnotation colorsboxBlue +hi! link javaDocTags colorsboxAqua +hi! link javaCommentTitle vimCommentTitle +hi! link javaParen colorsboxFg3 +hi! link javaParen1 colorsboxFg3 +hi! link javaParen2 colorsboxFg3 +hi! link javaParen3 colorsboxFg3 +hi! link javaParen4 colorsboxFg3 +hi! link javaParen5 colorsboxFg3 +hi! link javaOperator colorsboxOrange + +hi! link javaVarArg colorsboxGreen + +" }}} +" Elixir: {{{ + +hi! link elixirDocString Comment + +hi! link elixirStringDelimiter colorsboxGreen +hi! link elixirInterpolationDelimiter colorsboxAqua + +" }}} +" Scala: {{{ + +" NB: scala vim syntax file is kinda horrible +hi! link scalaNameDefinition colorsboxFg1 +hi! link scalaCaseFollowing colorsboxFg1 +hi! link scalaCapitalWord colorsboxFg1 +hi! link scalaTypeExtension colorsboxFg1 + +hi! link scalaKeyword colorsboxRed +hi! link scalaKeywordModifier colorsboxRed + +hi! link scalaSpecial colorsboxAqua +hi! link scalaOperator colorsboxFg1 + +hi! link scalaTypeDeclaration colorsboxYellow +hi! link scalaTypeTypePostDeclaration colorsboxYellow + +hi! link scalaInstanceDeclaration colorsboxFg1 +hi! link scalaInterpolation colorsboxAqua + +" }}} +" Markdown: {{{ + +call s:HL('markdownItalic', s:fg3, s:none, s:italic) + +hi! link markdownH1 colorsboxGreenBold +hi! link markdownH2 colorsboxGreenBold +hi! link markdownH3 colorsboxYellowBold +hi! link markdownH4 colorsboxYellowBold +hi! link markdownH5 colorsboxYellow +hi! link markdownH6 colorsboxYellow + +hi! link markdownCode colorsboxAqua +hi! link markdownCodeBlock colorsboxAqua +hi! link markdownCodeDelimiter colorsboxAqua + +hi! link markdownBlockquote colorsboxGray +hi! link markdownListMarker colorsboxGray +hi! link markdownOrderedListMarker colorsboxGray +hi! link markdownRule colorsboxGray +hi! link markdownHeadingRule colorsboxGray + +hi! link markdownUrlDelimiter colorsboxFg3 +hi! link markdownLinkDelimiter colorsboxFg3 +hi! link markdownLinkTextDelimiter colorsboxFg3 + +hi! link markdownHeadingDelimiter colorsboxOrange +hi! link markdownUrl colorsboxPurple +hi! link markdownUrlTitleDelimiter colorsboxGreen + +call s:HL('markdownLinkText', s:gray, s:none, s:underline) +hi! link markdownIdDeclaration markdownLinkText + +" }}} +" Haskell: {{{ + +" hi! link haskellType colorsboxYellow +" hi! link haskellOperators colorsboxOrange +" hi! link haskellConditional colorsboxAqua +" hi! link haskellLet colorsboxOrange +" +hi! link haskellType colorsboxFg1 +hi! link haskellIdentifier colorsboxFg1 +hi! link haskellSeparator colorsboxFg1 +hi! link haskellDelimiter colorsboxFg4 +hi! link haskellOperators colorsboxBlue +" +hi! link haskellBacktick colorsboxOrange +hi! link haskellStatement colorsboxOrange +hi! link haskellConditional colorsboxOrange + +hi! link haskellLet colorsboxAqua +hi! link haskellDefault colorsboxAqua +hi! link haskellWhere colorsboxAqua +hi! link haskellBottom colorsboxAqua +hi! link haskellBlockKeywords colorsboxAqua +hi! link haskellImportKeywords colorsboxAqua +hi! link haskellDeclKeyword colorsboxAqua +hi! link haskellDeriving colorsboxAqua +hi! link haskellAssocType colorsboxAqua + +hi! link haskellNumber colorsboxPurple +hi! link haskellPragma colorsboxPurple + +hi! link haskellString colorsboxGreen +hi! link haskellChar colorsboxGreen + +" }}} +" Json: {{{ + +hi! link jsonKeyword colorsboxGreen +hi! link jsonQuote colorsboxGreen +hi! link jsonBraces colorsboxFg1 +hi! link jsonString colorsboxFg1 + +" }}} + + +" Functions ------------------------------------------------------------------- +" Search Highlighting Cursor {{{ + +function! ColorsboxHlsShowCursor() + call s:HL('Cursor', s:bg0, s:hls_cursor) +endfunction + +function! ColorsboxHlsHideCursor() + call s:HL('Cursor', s:none, s:none, s:inverse) +endfunction + +" }}} + +" vim: set sw=2 ts=2 sts=2 et tw=80 ft=vim fdm=marker: diff --git a/.vim/colors/colorsbox-steighties.vim b/.vim/colors/colorsbox-steighties.vim new file mode 100644 index 0000000..424fadf --- /dev/null +++ b/.vim/colors/colorsbox-steighties.vim @@ -0,0 +1,1159 @@ +" ----------------------------------------------------------------------------- +" File: colorsbox.vim +" Description: Material color scheme using gruvbox as a skel +" Author: mkarmona +" Source: https://github.com/mkarmona/colorsbox +" Last Modified: 22 Oct 2015 +" ----------------------------------------------------------------------------- + +" Supporting code ------------------------------------------------------------- +" Initialisation: {{{ + +if version > 580 + hi clear + if exists("syntax_on") + syntax reset + endif +endif + +let g:colors_name='colorsbox-steighties' + +if !has('gui_running') && &t_Co != 256 + finish +endif + +" }}} +" Global Settings: {{{ + +if !exists('g:colorsbox_bold') + let g:colorsbox_bold=1 +endif +if !exists('g:colorsbox_italic') + if has('gui_running') || $TERM_ITALICS == 'true' + let g:colorsbox_italic=1 + else + let g:colorsbox_italic=0 + endif +endif +if !exists('g:colorsbox_undercurl') + let g:colorsbox_undercurl=1 +endif +if !exists('g:colorsbox_underline') + let g:colorsbox_underline=1 +endif +if !exists('g:colorsbox_inverse') + let g:colorsbox_inverse=1 +endif + +if !exists('g:colorsbox_guisp_fallback') || index(['fg', 'bg'], g:colorsbox_guisp_fallback) == -1 + let g:colorsbox_guisp_fallback='NONE' +endif + +if !exists('g:colorsbox_improved_strings') + let g:colorsbox_improved_strings=0 +endif + +if !exists('g:colorsbox_improved_warnings') + let g:colorsbox_improved_warnings=0 +endif + +if !exists('g:colorsbox_termcolors') + let g:colorsbox_termcolors=256 +endif + +if !exists('g:colorsbox_invert_indent_guides') + let g:colorsbox_invert_indent_guides=0 +endif + +let s:is_dark=(&background == 'dark') + +" }}} +" Palette: {{{ + +" setup palette dictionary +let s:gb = {} + +" fill it with absolute colors +let s:gb.dark0_hard = ['#212121', 234] " 29-32-33 +let s:gb.dark0 = ['#2d2d2d', 235] " 40-40-40 +let s:gb.dark0_soft = ['#3b3b3b', 236] " 50-48-47 +let s:gb.dark1 = ['#474747', 237] " 60-56-54 +let s:gb.dark2 = ['#616161', 239] " 80-73-69 +let s:gb.dark3 = ['#7a7a7a', 241] " 102-92-84 +let s:gb.dark4 = ['#949494', 243] " 124-111-100 +let s:gb.dark4_256 = ['#949494', 243] " 124-111-100 + +let s:gb.gray_245 = ['#808080', 245] " 146-131-116 dark + +let s:gb.light0_hard = ['#cccccc', 230] " 249-245-215 dark +let s:gb.light0 = ['#cccccc', 229] " 253-244-193 +let s:gb.light0_soft = ['#cccccc', 228] " 242-229-188 +let s:gb.light1 = ['#b3b3b3', 223] " 235-219-178 +let s:gb.light2 = ['#999999', 250] " 213-196-161 +let s:gb.light3 = ['#808080', 248] " 189-174-147 +let s:gb.light4 = ['#666666', 246] " 168-153-132 +let s:gb.light4_256 = ['#666666', 246] " 168-153-132 + +let s:gb.bright_red = ['#f2777a', 167] " 251-73-52 +let s:gb.bright_green = ['#99cc99', 142] " 184-187-38 +let s:gb.bright_yellow = ['#ffcc66', 214] " 250-189-47 +let s:gb.bright_blue = ['#6699cc', 109] " 131-165-152 +let s:gb.bright_purple = ['#cc99cc', 175] " 211-134-155 +let s:gb.bright_aqua = ['#66cccc', 108] " 142-192-124 +let s:gb.bright_orange = ['#f99157', 208] " 254-128-25 + + +" }}} +" Setup Emphasis: {{{ + +let s:bold = 'bold,' +if g:colorsbox_bold == 0 + let s:bold = '' +endif + +let s:italic = 'italic,' +if g:colorsbox_italic == 0 + let s:italic = '' +endif + +let s:underline = 'underline,' +if g:colorsbox_underline == 0 + let s:underline = '' +endif + +let s:undercurl = 'undercurl,' +if g:colorsbox_undercurl == 0 + let s:undercurl = '' +endif + +let s:inverse = 'inverse,' +if g:colorsbox_inverse == 0 + let s:inverse = '' +endif + +" }}} +" Setup Colors: {{{ + +let s:vim_bg = ['bg', 'bg'] +let s:vim_fg = ['fg', 'fg'] +let s:none = ['NONE', 'NONE'] + +if !exists('g:colorsbox_contrast_dark') + let g:colorsbox_contrast_dark = 'medium' +endif + +" determine relative colors +let s:bg0 = s:gb.dark0 +if g:colorsbox_contrast_dark == 'soft' + let s:bg0 = s:gb.dark0_soft +elseif g:colorsbox_contrast_dark == 'hard' + let s:bg0 = s:gb.dark0_hard +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 + +" reset to 16 colors fallback +if g:colorsbox_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:colorsbox_hls_cursor') + let s:hls_cursor = get(s:gb, g:colorsbox_hls_cursor) +endif + +"let s:number_column = s:bg4 +let s:number_column = s:gray +let s:sign_column = s:bg1 + +if exists('g:gitgutter_override_sign_column_highlight') && + \ g:gitgutter_override_sign_column_highlight == 1 + let s:sign_column = s:number_column +else + let g:gitgutter_override_sign_column_highlight = 0 + + if exists('g:colorsbox_sign_column') + let s:sign_column = get(s:gb, g:colorsbox_sign_column) + endif +endif + +let s:color_column = s:bg1 +if exists('g:colorsbox_color_column') + let s:color_column = get(s:gb, g:colorsbox_color_column) +endif + +let s:vert_split = s:bg2 +if exists('g:colorsbox_vert_split') + let s:vert_split = get(s:gb, g:colorsbox_vert_split) +endif + +let s:invert_signs = '' +if exists('g:colorsbox_invert_signs') + if g:colorsbox_invert_signs == 1 + let s:invert_signs = s:inverse + endif +endif + +let s:invert_selection = s:inverse +if exists('g:colorsbox_invert_selection') + if g:colorsbox_invert_selection == 0 + let s:invert_selection = '' + endif +endif + +let s:invert_tabline = '' +if exists('g:colorsbox_invert_tabline') + if g:colorsbox_invert_tabline == 1 + let s:invert_tabline = s:inverse + endif +endif + +let s:italicize_comments = s:italic +if exists('g:colorsbox_italicize_comments') + if g:colorsbox_italicize_comments == 0 + let s:italicize_comments = '' + endif +endif + +let s:italicize_strings = '' +if exists('g:colorsbox_italicize_strings') + if g:colorsbox_italicize_strings == 1 + let s:italicize_strings = s:italic + endif +endif + +" }}} +" Highlighting Function: {{{ + +function! s:HL(group, fg, ...) + " Arguments: group, guifg, guibg, gui, guisp + + " foreground + let fg = a:fg + + " background + if a:0 >= 1 + let bg = a:1 + else + let bg = s:none + endif + + " emphasis + if a:0 >= 2 && strlen(a:2) + let emstr = a:2 + else + let emstr = 'NONE,' + endif + + " special fallback + if a:0 >= 3 + if g:colorsbox_guisp_fallback != 'NONE' + let fg = a:3 + endif + + " bg fallback mode should invert higlighting + if g:colorsbox_guisp_fallback == 'bg' + let emstr .= 'inverse,' + endif + endif + + let histring = [ 'hi', a:group, + \ 'guifg=' . fg[0], 'ctermfg=' . fg[1], + \ 'guibg=' . bg[0], 'ctermbg=' . bg[1], + \ 'gui=' . emstr[:-2], 'cterm=' . emstr[:-2] + \ ] + + " special + if a:0 >= 3 + call add(histring, 'guisp=' . a:3[0]) + endif + + execute join(histring, ' ') +endfunction + +" }}} +" colorsbox Hi Groups: {{{ + +" memoize common hi groups +call s:HL('colorsboxFg0', s:fg0) +call s:HL('colorsboxFg1', s:fg1) +call s:HL('colorsboxFg2', s:fg2) +call s:HL('colorsboxFg3', s:fg3) +call s:HL('colorsboxFg4', s:fg4) +call s:HL('colorsboxGray', s:gray) +call s:HL('colorsboxBg0', s:bg0) +call s:HL('colorsboxBg1', s:bg1) +call s:HL('colorsboxBg2', s:bg2) +call s:HL('colorsboxBg3', s:bg3) + +call s:HL('colorsboxRed', s:red) +call s:HL('colorsboxRedBold', s:red, s:none, s:bold) +call s:HL('colorsboxGreen', s:green) +call s:HL('colorsboxGreenBold', s:green, s:none, s:bold) +call s:HL('colorsboxYellow', s:yellow) +call s:HL('colorsboxYellowBold', s:yellow, s:none, s:bold) +call s:HL('colorsboxBlue', s:blue) +call s:HL('colorsboxBlueBold', s:blue, s:none, s:bold) +call s:HL('colorsboxPurple', s:purple) +call s:HL('colorsboxPurpleBold', s:purple, s:none, s:bold) +call s:HL('colorsboxAqua', s:aqua) +call s:HL('colorsboxAquaBold', s:aqua, s:none, s:bold) +call s:HL('colorsboxOrange', s:orange) +call s:HL('colorsboxOrangeBold', s:orange, s:none, s:bold) + +call s:HL('colorsboxRedSign', s:red, s:sign_column, s:invert_signs) +call s:HL('colorsboxGreenSign', s:green, s:sign_column, s:invert_signs) +call s:HL('colorsboxYellowSign', s:yellow, s:sign_column, s:invert_signs) +call s:HL('colorsboxBlueSign', s:blue, s:sign_column, s:invert_signs) +call s:HL('colorsboxPurpleSign', s:purple, s:sign_column, s:invert_signs) +call s:HL('colorsboxAquaSign', s:aqua, s:sign_column, s:invert_signs) + +" }}} + +" Vanilla colorscheme --------------------------------------------------------- +" General UI: {{{ + +" Normal text +call s:HL('Normal', s:fg0, s:bg0) + +" Correct background (see issue #7): +" --- Problem with changing between dark and light on 256 color terminal +" --- https://github.com/morhetz/colorsbox/issues/7 +if s:is_dark + set background=dark +else + set background=light +endif + +if version >= 700 + " Screen line that the cursor is + call s:HL('CursorLine', s:none, s:bg1) + " Screen column that the cursor is + hi! link CursorColumn CursorLine + + " Tab pages line filler + call s:HL('TabLineFill', s:bg4, s:vim_bg, s:invert_tabline) + " Active tab page label + call s:HL('TabLineSel', s:vim_bg, s:bg4, s:bold . s:invert_tabline) + " Not active tab page label + hi! link TabLine TabLineFill + + " Match paired bracket under the cursor + call s:HL('MatchParen', s:none, s:bg3, s:bold) +endif + +if version >= 703 + " Highlighted screen columns + call s:HL('ColorColumn', s:none, s:color_column) + + " Concealed element: \lambda → λ + call s:HL('Conceal', s:blue, s:none) + + " Line number of CursorLine + "call s:HL('CursorLineNr', s:yellow, s:bg1) + call s:HL('CursorLineNr', s:fg0, s:bg1) +endif + +hi! link NonText colorsboxBg2 +hi! link SpecialKey colorsboxBg2 + +call s:HL('Visual', s:none, s:bg3, s:invert_selection) +hi! link VisualNOS Visual + +call s:HL('Search', s:bg0, s:yellow) +call s:HL('IncSearch', s:bg0, s:hls_cursor) + +call s:HL('Underlined', s:blue, s:none, s:underline) + +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:fg4, s:vert_split) + +" Current match in wildmenu completion +call s:HL('WildMenu', s:blue, s:bg2, s:bold) + +" Directory names, special names in listing +hi! link Directory colorsboxGreenBold + +" Titles for output from :set all, :autocmd, etc. +hi! link Title colorsboxGreenBold + +" Error messages on the command line +call s:HL('ErrorMsg', s:vim_bg, s:red, s:bold) +" More prompt: -- More -- +hi! link MoreMsg colorsboxYellowBold +" Current mode message: -- INSERT -- +hi! link ModeMsg colorsboxYellowBold +" 'Press enter' prompt and yes/no questions +hi! link Question colorsboxOrangeBold +" Warning messages +hi! link WarningMsg colorsboxRedBold + +" }}} +" Gutter: {{{ + +" Line number for :number and :# commands +call s:HL('LineNr', s:number_column) + +" Column where signs are displayed +call s:HL('SignColumn', s:none, s:sign_column) + +" Line used for closed folds +call s:HL('Folded', s:gray, s:bg1, s:italic) +" Column where folds are displayed +call s:HL('FoldColumn', s:gray, s:bg1) + +" }}} +" Cursor: {{{ + +" Character under cursor +call s:HL('Cursor', s:none, s:none, s:inverse) +" Visual mode cursor, selection +hi! link vCursor Cursor +" Input moder cursor +hi! link iCursor Cursor +" Language mapping cursor +hi! link lCursor Cursor + +" }}} +" Syntax Highlighting: {{{ + +if g:colorsbox_improved_strings == 0 + hi! link Special colorsboxOrange +else + call s:HL('Special', s:bg1, s:orange, s:italic) +endif + +call s:HL('Comment', s:gray, s:none, s:italicize_comments) +call s:HL('Todo', s:vim_fg, s:vim_bg, s:bold . s:italic) +call s:HL('Error', s:red, s:vim_bg, s:bold . s:inverse) + +" Generic statement +hi! link Statement colorsboxRed +" if, then, else, endif, swicth, etc. +hi! link Conditional colorsboxRed +" for, do, while, etc. +hi! link Repeat colorsboxRed +" case, default, etc. +hi! link Label colorsboxRed +" try, catch, throw +hi! link Exception colorsboxRed +" sizeof, "+", "*", etc. +hi! link Operator Normal +" Any other keyword +hi! link Keyword colorsboxRed + +" Variable name +hi! link Identifier colorsboxBlue +" Function name +hi! link Function colorsboxGreenBold + +" Generic preprocessor +hi! link PreProc colorsboxAqua +" Preprocessor #include +hi! link Include colorsboxAqua +" Preprocessor #define +hi! link Define colorsboxAqua +" Same as Define +hi! link Macro colorsboxAqua +" Preprocessor #if, #else, #endif, etc. +hi! link PreCondit colorsboxAqua + +" Generic constant +hi! link Constant colorsboxPurple +" Character constant: 'c', '/n' +hi! link Character colorsboxPurple +" String constant: "this is a string" +if g:colorsbox_improved_strings == 0 + call s:HL('String', s:green, s:none, s:italicize_strings) +else + call s:HL('String', s:bg1, s:fg1, s:italicize_strings) +endif +" Boolean constant: TRUE, false +hi! link Boolean colorsboxPurple +" Number constant: 234, 0xff +hi! link Number colorsboxPurple +" Floating point constant: 2.3e10 +hi! link Float colorsboxPurple + +" Generic type +hi! link Type colorsboxYellow +" static, register, volatile, etc +hi! link StorageClass colorsboxOrange +" struct, union, enum, etc. +hi! link Structure colorsboxAqua +" typedef +hi! link Typedef colorsboxYellow + +" }}} +" Completion Menu: {{{ + +if version >= 700 + " Popup menu: normal item + call s:HL('Pmenu', s:fg1, s:bg2) + " Popup menu: selected item + call s:HL('PmenuSel', s:bg2, s:blue, s:bold) + " Popup menu: scrollbar + call s:HL('PmenuSbar', s:none, s:bg2) + " Popup menu: scrollbar thumb + call s:HL('PmenuThumb', s:none, s:bg4) +endif + +" }}} +" Diffs: {{{ + +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:bg0, s:inverse) +call s:HL('DiffText', s:yellow, s:bg0, s:inverse) + +" }}} +" Spelling: {{{ + +if has("spell") + " Not capitalised word, or compile warnings + if g:colorsbox_improved_warnings == 0 + call s:HL('SpellCap', s:none, s:none, s:undercurl, s:red) + else + call s:HL('SpellCap', s:green, s:none, s:bold . s:italic) + endif + " Not recognized word + call s:HL('SpellBad', s:none, s:none, s:undercurl, s:blue) + " Wrong spelling for selected region + call s:HL('SpellLocal', s:none, s:none, s:undercurl, s:aqua) + " Rare word + call s:HL('SpellRare', s:none, s:none, s:undercurl, s:purple) +endif + +" }}} + +" Plugin specific ------------------------------------------------------------- +" EasyMotion: {{{ + +hi! link EasyMotionTarget Search +hi! link EasyMotionShade Comment + +" }}} +" Sneak: {{{ + +hi! link SneakPluginTarget Search +hi! link SneakStreakTarget Search +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 +endif + +if g:indent_guides_auto_colors == 0 + if g:colorsbox_invert_indent_guides == 0 + call s:HL('IndentGuidesOdd', s:vim_bg, s:bg2) + call s:HL('IndentGuidesEven', s:vim_bg, s:bg1) + else + call s:HL('IndentGuidesOdd', s:vim_bg, s:bg2, s:inverse) + call s:HL('IndentGuidesEven', s:vim_bg, s:bg3, s:inverse) + endif +endif + +" }}} +" IndentLine: {{{ + +if !exists('g:indentLine_color_term') + let g:indentLine_color_term = s:bg2[1] +endif +if !exists('g:indentLine_color_gui') + let g:indentLine_color_gui = s:bg2[0] +endif + +" }}} +" Rainbow Parentheses: {{{ + +if !exists('g:rbpt_colorpairs') + let g:rbpt_colorpairs = + \ [ + \ ['blue', '#458588'], ['magenta', '#b16286'], + \ ['red', '#cc241d'], ['166', '#d65d0e'] + \ ] +endif + +let g:rainbow_guifgs = [ '#d65d0e', '#cc241d', '#b16286', '#458588' ] +let g:rainbow_ctermfgs = [ '166', 'red', 'magenta', 'blue' ] + +if !exists('g:rainbow_conf') + let g:rainbow_conf = {} +endif +if !has_key(g:rainbow_conf, 'guifgs') + let g:rainbow_conf['guifgs'] = g:rainbow_guifgs +endif +if !has_key(g:rainbow_conf, 'ctermfgs') + let g:rainbow_conf['ctermfgs'] = g:rainbow_ctermfgs +endif + +let g:niji_dark_colours = g:rbpt_colorpairs +let g:niji_light_colours = g:rbpt_colorpairs + +"}}} +" GitGutter: {{{ + +hi! link GitGutterAdd colorsboxGreenSign +hi! link GitGutterChange colorsboxAquaSign +hi! link GitGutterDelete colorsboxRedSign +hi! link GitGutterChangeDelete colorsboxAquaSign + +" }}} +" GitCommit: "{{{ + +hi! link gitcommitSelectedFile colorsboxGreen +hi! link gitcommitDiscardedFile colorsboxRed + +" }}} +" Signify: {{{ + +hi! link SignifySignAdd colorsboxGreenSign +hi! link SignifySignChange colorsboxAquaSign +hi! link SignifySignDelete colorsboxRedSign + +" }}} +" Syntastic: {{{ + +call s:HL('SyntasticError', s:none, s:none, s:undercurl, s:red) +call s:HL('SyntasticWarning', s:none, s:none, s:undercurl, s:yellow) + +hi! link SyntasticErrorSign colorsboxRedSign +hi! link SyntasticWarningSign colorsboxYellowSign + +" }}} +" Signature: {{{ + +hi! link SignatureMarkerText colorsboxPurpleSign +hi! link SignatureMarkText colorsboxBlueSign + +let g:SignatureMarkerTextHL='"SignatureMarkerText"' +let g:SignatureMarkTextHL='"SignatureMarkText"' + +" }}} +" ShowMarks: {{{ + +hi! link ShowMarksHLl colorsboxBlueSign +hi! link ShowMarksHLu colorsboxBlueSign +hi! link ShowMarksHLo colorsboxBlueSign +hi! link ShowMarksHLm colorsboxBlueSign + +" }}} +" CtrlP: {{{ + +hi! link CtrlPMatch colorsboxYellow +hi! link CtrlPNoEntries colorsboxRed +hi! link CtrlPPrtBase colorsboxBg2 +hi! link CtrlPPrtCursor colorsboxBlue +hi! link CtrlPLinePre colorsboxBg2 + +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: {{{ + +hi! link StartifyBracket colorsboxFg3 +hi! link StartifyFile colorsboxFg0 +hi! link StartifyNumber colorsboxBlue +hi! link StartifyPath colorsboxGray +hi! link StartifySlash colorsboxGray +hi! link StartifySection colorsboxYellow +hi! link StartifySpecial colorsboxBg2 +hi! link StartifyHeader colorsboxOrange +hi! link StartifyFooter colorsboxBg2 + +" }}} +" Vimshell: {{{ + +let g:vimshell_escape_colors = [ + \ 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] + \ ] + +" }}} + +" Filetype specific ----------------------------------------------------------- +" Diff: {{{ + +hi! link diffAdded colorsboxGreen +hi! link diffRemoved colorsboxRed +hi! link diffChanged colorsboxAqua + +hi! link diffFile colorsboxOrange +hi! link diffNewFile colorsboxYellow + +hi! link diffLine colorsboxBlue + +" }}} +" Html: {{{ + +hi! link htmlTag colorsboxBlue +hi! link htmlEndTag colorsboxBlue + +hi! link htmlTagName colorsboxAquaBold +hi! link htmlArg colorsboxAqua + +hi! link htmlScriptTag colorsboxPurple +hi! link htmlTagN colorsboxFg1 +hi! link htmlSpecialTagName colorsboxAquaBold + +call s:HL('htmlLink', s:fg4, s:none, s:underline) + +hi! link htmlSpecialChar colorsboxOrange + +call s:HL('htmlBold', s:vim_fg, s:vim_bg, s:bold) +call s:HL('htmlBoldUnderline', s:vim_fg, s:vim_bg, s:bold . s:underline) +call s:HL('htmlBoldItalic', s:vim_fg, s:vim_bg, s:bold . s:italic) +call s:HL('htmlBoldUnderlineItalic', s:vim_fg, s:vim_bg, s:bold . s:underline . s:italic) + +call s:HL('htmlUnderline', s:vim_fg, s:vim_bg, s:underline) +call s:HL('htmlUnderlineItalic', s:vim_fg, s:vim_bg, s:underline . s:italic) +call s:HL('htmlItalic', s:vim_fg, s:vim_bg, s:italic) + +" }}} +" Xml: {{{ + +hi! link xmlTag colorsboxBlue +hi! link xmlEndTag colorsboxBlue +hi! link xmlTagName colorsboxBlue +hi! link xmlEqual colorsboxBlue +hi! link docbkKeyword colorsboxAquaBold + +hi! link xmlDocTypeDecl colorsboxGray +hi! link xmlDocTypeKeyword colorsboxPurple +hi! link xmlCdataStart colorsboxGray +hi! link xmlCdataCdata colorsboxPurple +hi! link dtdFunction colorsboxGray +hi! link dtdTagName colorsboxPurple + +hi! link xmlAttrib colorsboxAqua +hi! link xmlProcessingDelim colorsboxGray +hi! link dtdParamEntityPunct colorsboxGray +hi! link dtdParamEntityDPunct colorsboxGray +hi! link xmlAttribPunct colorsboxGray + +hi! link xmlEntity colorsboxOrange +hi! link xmlEntityPunct colorsboxOrange +" }}} +" Vim: {{{ + +call s:HL('vimCommentTitle', s:fg4_256, s:none, s:bold . s:italicize_comments) + +hi! link vimNotation colorsboxOrange +hi! link vimBracket colorsboxOrange +hi! link vimMapModKey colorsboxOrange +hi! link vimFuncSID colorsboxFg3 +hi! link vimSetSep colorsboxFg3 +hi! link vimSep colorsboxFg3 +hi! link vimContinue colorsboxFg3 + +" }}} +" Clojure: {{{ + +hi! link clojureKeyword colorsboxBlue +hi! link clojureCond colorsboxOrange +hi! link clojureSpecial colorsboxOrange +hi! link clojureDefine colorsboxOrange + +hi! link clojureFunc colorsboxYellow +hi! link clojureRepeat colorsboxYellow +hi! link clojureCharacter colorsboxAqua +hi! link clojureStringEscape colorsboxAqua +hi! link clojureException colorsboxRed + +hi! link clojureRegexp colorsboxAqua +hi! link clojureRegexpEscape colorsboxAqua +call s:HL('clojureRegexpCharClass', s:fg3, s:none, s:bold) +hi! link clojureRegexpMod clojureRegexpCharClass +hi! link clojureRegexpQuantifier clojureRegexpCharClass + +hi! link clojureParen colorsboxFg3 +hi! link clojureAnonArg colorsboxYellow +hi! link clojureVariable colorsboxBlue +hi! link clojureMacro colorsboxOrange + +hi! link clojureMeta colorsboxYellow +hi! link clojureDeref colorsboxYellow +hi! link clojureQuote colorsboxYellow +hi! link clojureUnquote colorsboxYellow + +" }}} +" C: {{{ + +hi! link cOperator colorsboxPurple +hi! link cStructure colorsboxOrange + +" }}} +" Python: {{{ + +hi! link pythonBuiltin colorsboxOrange +hi! link pythonBuiltinObj colorsboxOrange +hi! link pythonBuiltinFunc colorsboxOrange +hi! link pythonFunction colorsboxAqua +hi! link pythonDecorator colorsboxRed +hi! link pythonInclude colorsboxBlue +hi! link pythonImport colorsboxBlue +hi! link pythonRun colorsboxBlue +hi! link pythonCoding colorsboxBlue +hi! link pythonOperator colorsboxRed +hi! link pythonExceptions colorsboxPurple +hi! link pythonBoolean colorsboxPurple +hi! link pythonDot colorsboxFg3 + +" }}} +" CSS: {{{ + +hi! link cssBraces colorsboxBlue +hi! link cssFunctionName colorsboxYellow +hi! link cssIdentifier colorsboxOrange +hi! link cssClassName colorsboxGreen +hi! link cssColor colorsboxBlue +hi! link cssSelectorOp colorsboxBlue +hi! link cssSelectorOp2 colorsboxBlue +hi! link cssImportant colorsboxGreen +hi! link cssVendor colorsboxFg1 + +hi! link cssTextProp colorsboxAqua +hi! link cssAnimationProp colorsboxAqua +hi! link cssUIProp colorsboxYellow +hi! link cssTransformProp colorsboxAqua +hi! link cssTransitionProp colorsboxAqua +hi! link cssPrintProp colorsboxAqua +hi! link cssPositioningProp colorsboxYellow +hi! link cssBoxProp colorsboxAqua +hi! link cssFontDescriptorProp colorsboxAqua +hi! link cssFlexibleBoxProp colorsboxAqua +hi! link cssBorderOutlineProp colorsboxAqua +hi! link cssBackgroundProp colorsboxAqua +hi! link cssMarginProp colorsboxAqua +hi! link cssListProp colorsboxAqua +hi! link cssTableProp colorsboxAqua +hi! link cssFontProp colorsboxAqua +hi! link cssPaddingProp colorsboxAqua +hi! link cssDimensionProp colorsboxAqua +hi! link cssRenderProp colorsboxAqua +hi! link cssColorProp colorsboxAqua +hi! link cssGeneratedContentProp colorsboxAqua + +" }}} +" JavaScript: {{{ + +hi! link javaScriptBraces colorsboxFg1 +hi! link javaScriptFunction colorsboxAqua +hi! link javaScriptIdentifier colorsboxRed +hi! link javaScriptMember colorsboxBlue +hi! link javaScriptNumber colorsboxPurple +hi! link javaScriptNull colorsboxPurple +hi! link javaScriptParens colorsboxFg3 + +" }}} +" YAJS: {{{ + +hi! link javascriptImport colorsboxAqua +hi! link javascriptExport colorsboxAqua +hi! link javascriptClassKeyword colorsboxAqua +hi! link javascriptClassExtends colorsboxAqua +hi! link javascriptDefault colorsboxAqua + +hi! link javascriptClassName colorsboxYellow +hi! link javascriptClassSuperName colorsboxYellow +hi! link javascriptGlobal colorsboxYellow + +hi! link javascriptEndColons colorsboxFg1 +hi! link javascriptFuncArg colorsboxFg1 +hi! link javascriptGlobalMethod colorsboxFg1 +hi! link javascriptNodeGlobal colorsboxFg1 + +" hi! link javascriptVariable colorsboxOrange +hi! link javascriptVariable colorsboxRed +" hi! link javascriptIdentifier colorsboxOrange +" hi! link javascriptClassSuper colorsboxOrange +hi! link javascriptIdentifier colorsboxOrange +hi! link javascriptClassSuper colorsboxOrange + +" hi! link javascriptFuncKeyword colorsboxOrange +" hi! link javascriptAsyncFunc colorsboxOrange +hi! link javascriptFuncKeyword colorsboxAqua +hi! link javascriptAsyncFunc colorsboxAqua +hi! link javascriptClassStatic colorsboxOrange + +hi! link javascriptOperator colorsboxRed +hi! link javascriptForOperator colorsboxRed +hi! link javascriptYield colorsboxRed +hi! link javascriptExceptions colorsboxRed +hi! link javascriptMessage colorsboxRed + +hi! link javascriptTemplateSB colorsboxAqua +hi! link javascriptTemplateSubstitution colorsboxFg1 + +" hi! link javascriptLabel colorsboxBlue +" hi! link javascriptObjectLabel colorsboxBlue +" hi! link javascriptPropertyName colorsboxBlue +hi! link javascriptLabel colorsboxFg1 +hi! link javascriptObjectLabel colorsboxFg1 +hi! link javascriptPropertyName colorsboxFg1 + +hi! link javascriptLogicSymbols colorsboxFg1 +hi! link javascriptArrowFunc colorsboxFg1 + +hi! link javascriptDocParamName colorsboxFg4 +hi! link javascriptDocTags colorsboxFg4 +hi! link javascriptDocNotation colorsboxFg4 +hi! link javascriptDocParamType colorsboxFg4 +hi! link javascriptDocNamedParamType colorsboxFg4 + +" }}} +" CoffeeScript: {{{ + +hi! link coffeeExtendedOp colorsboxFg3 +hi! link coffeeSpecialOp colorsboxFg3 +hi! link coffeeCurly colorsboxOrange +hi! link coffeeParen colorsboxFg3 +hi! link coffeeBracket colorsboxOrange + +" }}} +" Ruby: {{{ + +hi! link rubyStringDelimiter colorsboxGreen +hi! link rubyInterpolationDelimiter colorsboxAqua + +" }}} +" ObjectiveC: {{{ + +hi! link objcTypeModifier colorsboxRed +hi! link objcDirective colorsboxBlue + +" }}} +" Go: {{{ + +hi! link goDirective colorsboxAqua +hi! link goConstants colorsboxPurple +hi! link goDeclaration colorsboxRed +hi! link goDeclType colorsboxBlue +hi! link goBuiltins colorsboxOrange + +" }}} +" Lua: {{{ + +hi! link luaIn colorsboxRed +hi! link luaFunction colorsboxAqua +hi! link luaTable colorsboxOrange + +" }}} +" MoonScript: {{{ + +hi! link moonSpecialOp colorsboxFg3 +hi! link moonExtendedOp colorsboxFg3 +hi! link moonFunction colorsboxFg3 +hi! link moonObject colorsboxYellow + +" }}} +" Java: {{{ + +hi! link javaAnnotation colorsboxBlue +hi! link javaDocTags colorsboxAqua +hi! link javaCommentTitle vimCommentTitle +hi! link javaParen colorsboxFg3 +hi! link javaParen1 colorsboxFg3 +hi! link javaParen2 colorsboxFg3 +hi! link javaParen3 colorsboxFg3 +hi! link javaParen4 colorsboxFg3 +hi! link javaParen5 colorsboxFg3 +hi! link javaOperator colorsboxOrange + +hi! link javaVarArg colorsboxGreen + +" }}} +" Elixir: {{{ + +hi! link elixirDocString Comment + +hi! link elixirStringDelimiter colorsboxGreen +hi! link elixirInterpolationDelimiter colorsboxAqua + +" }}} +" Scala: {{{ + +" NB: scala vim syntax file is kinda horrible +hi! link scalaNameDefinition colorsboxFg1 +hi! link scalaCaseFollowing colorsboxFg1 +hi! link scalaCapitalWord colorsboxFg1 +hi! link scalaTypeExtension colorsboxFg1 + +hi! link scalaKeyword colorsboxRed +hi! link scalaKeywordModifier colorsboxRed + +hi! link scalaSpecial colorsboxAqua +hi! link scalaOperator colorsboxFg1 + +hi! link scalaTypeDeclaration colorsboxYellow +hi! link scalaTypeTypePostDeclaration colorsboxYellow + +hi! link scalaInstanceDeclaration colorsboxFg1 +hi! link scalaInterpolation colorsboxAqua + +" }}} +" Markdown: {{{ + +call s:HL('markdownItalic', s:fg3, s:none, s:italic) + +hi! link markdownH1 colorsboxGreenBold +hi! link markdownH2 colorsboxGreenBold +hi! link markdownH3 colorsboxYellowBold +hi! link markdownH4 colorsboxYellowBold +hi! link markdownH5 colorsboxYellow +hi! link markdownH6 colorsboxYellow + +hi! link markdownCode colorsboxAqua +hi! link markdownCodeBlock colorsboxAqua +hi! link markdownCodeDelimiter colorsboxAqua + +hi! link markdownBlockquote colorsboxGray +hi! link markdownListMarker colorsboxGray +hi! link markdownOrderedListMarker colorsboxGray +hi! link markdownRule colorsboxGray +hi! link markdownHeadingRule colorsboxGray + +hi! link markdownUrlDelimiter colorsboxFg3 +hi! link markdownLinkDelimiter colorsboxFg3 +hi! link markdownLinkTextDelimiter colorsboxFg3 + +hi! link markdownHeadingDelimiter colorsboxOrange +hi! link markdownUrl colorsboxPurple +hi! link markdownUrlTitleDelimiter colorsboxGreen + +call s:HL('markdownLinkText', s:gray, s:none, s:underline) +hi! link markdownIdDeclaration markdownLinkText + +" }}} +" Haskell: {{{ + +" hi! link haskellType colorsboxYellow +" hi! link haskellOperators colorsboxOrange +" hi! link haskellConditional colorsboxAqua +" hi! link haskellLet colorsboxOrange +" +hi! link haskellType colorsboxFg1 +hi! link haskellIdentifier colorsboxFg1 +hi! link haskellSeparator colorsboxFg1 +hi! link haskellDelimiter colorsboxFg4 +hi! link haskellOperators colorsboxBlue +" +hi! link haskellBacktick colorsboxOrange +hi! link haskellStatement colorsboxOrange +hi! link haskellConditional colorsboxOrange + +hi! link haskellLet colorsboxAqua +hi! link haskellDefault colorsboxAqua +hi! link haskellWhere colorsboxAqua +hi! link haskellBottom colorsboxAqua +hi! link haskellBlockKeywords colorsboxAqua +hi! link haskellImportKeywords colorsboxAqua +hi! link haskellDeclKeyword colorsboxAqua +hi! link haskellDeriving colorsboxAqua +hi! link haskellAssocType colorsboxAqua + +hi! link haskellNumber colorsboxPurple +hi! link haskellPragma colorsboxPurple + +hi! link haskellString colorsboxGreen +hi! link haskellChar colorsboxGreen + +" }}} +" Json: {{{ + +hi! link jsonKeyword colorsboxGreen +hi! link jsonQuote colorsboxGreen +hi! link jsonBraces colorsboxFg1 +hi! link jsonString colorsboxFg1 + +" }}} + + +" Functions ------------------------------------------------------------------- +" Search Highlighting Cursor {{{ + +function! ColorsboxHlsShowCursor() + call s:HL('Cursor', s:bg0, s:hls_cursor) +endfunction + +function! ColorsboxHlsHideCursor() + call s:HL('Cursor', s:none, s:none, s:inverse) +endfunction + +" }}} + +" vim: set sw=2 ts=2 sts=2 et tw=80 ft=vim fdm=marker: diff --git a/.vim/colors/colorsbox-stnight.vim b/.vim/colors/colorsbox-stnight.vim new file mode 100644 index 0000000..e569503 --- /dev/null +++ b/.vim/colors/colorsbox-stnight.vim @@ -0,0 +1,1159 @@ +" ----------------------------------------------------------------------------- +" File: colorsbox.vim +" Description: Material color scheme using gruvbox as a skel +" Author: mkarmona +" Source: https://github.com/mkarmona/colorsbox +" Last Modified: 22 Oct 2015 +" ----------------------------------------------------------------------------- + +" Supporting code ------------------------------------------------------------- +" Initialisation: {{{ + +if version > 580 + hi clear + if exists("syntax_on") + syntax reset + endif +endif + +let g:colors_name='colorsbox-stnight' + +if !has('gui_running') && &t_Co != 256 + finish +endif + +" }}} +" Global Settings: {{{ + +if !exists('g:colorsbox_bold') + let g:colorsbox_bold=1 +endif +if !exists('g:colorsbox_italic') + if has('gui_running') || $TERM_ITALICS == 'true' + let g:colorsbox_italic=1 + else + let g:colorsbox_italic=0 + endif +endif +if !exists('g:colorsbox_undercurl') + let g:colorsbox_undercurl=1 +endif +if !exists('g:colorsbox_underline') + let g:colorsbox_underline=1 +endif +if !exists('g:colorsbox_inverse') + let g:colorsbox_inverse=1 +endif + +if !exists('g:colorsbox_guisp_fallback') || index(['fg', 'bg'], g:colorsbox_guisp_fallback) == -1 + let g:colorsbox_guisp_fallback='NONE' +endif + +if !exists('g:colorsbox_improved_strings') + let g:colorsbox_improved_strings=0 +endif + +if !exists('g:colorsbox_improved_warnings') + let g:colorsbox_improved_warnings=0 +endif + +if !exists('g:colorsbox_termcolors') + let g:colorsbox_termcolors=256 +endif + +if !exists('g:colorsbox_invert_indent_guides') + let g:colorsbox_invert_indent_guides=0 +endif + +let s:is_dark=(&background == 'dark') + +" }}} +" Palette: {{{ + +" setup palette dictionary +let s:gb = {} + +" fill it with absolute colors +let s:gb.dark0_hard = ['#121314', 234] " 29-32-33 +let s:gb.dark0 = ['#1d1f21', 235] " 40-40-40 +let s:gb.dark0_soft = ['#282b2e', 236] " 50-48-47 +let s:gb.dark1 = ['#34373b', 237] " 60-56-54 +let s:gb.dark2 = ['#4a4f54', 239] " 80-73-69 +let s:gb.dark3 = ['#60676e', 241] " 102-92-84 +let s:gb.dark4 = ['#777f87', 243] " 124-111-100 +let s:gb.dark4_256 = ['#777f87', 243] " 124-111-100 + +let s:gb.gray_245 = ['#929493', 245] " 146-131-116 dark + +let s:gb.light0_hard = ['#dde0de', 230] " 249-245-215 dark +let s:gb.light0 = ['#dde0de', 229] " 253-244-193 +let s:gb.light0_soft = ['#dde0de', 228] " 242-229-188 +let s:gb.light1 = ['#c4c7c5', 223] " 235-219-178 +let s:gb.light2 = ['#abadac', 250] " 213-196-161 +let s:gb.light3 = ['#929493', 248] " 189-174-147 +let s:gb.light4 = ['#797a79', 246] " 168-153-132 +let s:gb.light4_256 = ['#797a79', 246] " 168-153-132 + +let s:gb.bright_red = ['#cc6666', 167] " 251-73-52 +let s:gb.bright_green = ['#b5bd68', 142] " 184-187-38 +let s:gb.bright_yellow = ['#f0c674', 214] " 250-189-47 +let s:gb.bright_blue = ['#81a2be', 109] " 131-165-152 +let s:gb.bright_purple = ['#81a2be', 175] " 211-134-155 +let s:gb.bright_aqua = ['#8abeb7', 108] " 142-192-124 +let s:gb.bright_orange = ['#de935f', 208] " 254-128-25 + + +" }}} +" Setup Emphasis: {{{ + +let s:bold = 'bold,' +if g:colorsbox_bold == 0 + let s:bold = '' +endif + +let s:italic = 'italic,' +if g:colorsbox_italic == 0 + let s:italic = '' +endif + +let s:underline = 'underline,' +if g:colorsbox_underline == 0 + let s:underline = '' +endif + +let s:undercurl = 'undercurl,' +if g:colorsbox_undercurl == 0 + let s:undercurl = '' +endif + +let s:inverse = 'inverse,' +if g:colorsbox_inverse == 0 + let s:inverse = '' +endif + +" }}} +" Setup Colors: {{{ + +let s:vim_bg = ['bg', 'bg'] +let s:vim_fg = ['fg', 'fg'] +let s:none = ['NONE', 'NONE'] + +if !exists('g:colorsbox_contrast_dark') + let g:colorsbox_contrast_dark = 'medium' +endif + +" determine relative colors +let s:bg0 = s:gb.dark0 +if g:colorsbox_contrast_dark == 'soft' + let s:bg0 = s:gb.dark0_soft +elseif g:colorsbox_contrast_dark == 'hard' + let s:bg0 = s:gb.dark0_hard +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 + +" reset to 16 colors fallback +if g:colorsbox_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:colorsbox_hls_cursor') + let s:hls_cursor = get(s:gb, g:colorsbox_hls_cursor) +endif + +"let s:number_column = s:bg4 +let s:number_column = s:gray +let s:sign_column = s:bg1 + +if exists('g:gitgutter_override_sign_column_highlight') && + \ g:gitgutter_override_sign_column_highlight == 1 + let s:sign_column = s:number_column +else + let g:gitgutter_override_sign_column_highlight = 0 + + if exists('g:colorsbox_sign_column') + let s:sign_column = get(s:gb, g:colorsbox_sign_column) + endif +endif + +let s:color_column = s:bg1 +if exists('g:colorsbox_color_column') + let s:color_column = get(s:gb, g:colorsbox_color_column) +endif + +let s:vert_split = s:bg2 +if exists('g:colorsbox_vert_split') + let s:vert_split = get(s:gb, g:colorsbox_vert_split) +endif + +let s:invert_signs = '' +if exists('g:colorsbox_invert_signs') + if g:colorsbox_invert_signs == 1 + let s:invert_signs = s:inverse + endif +endif + +let s:invert_selection = s:inverse +if exists('g:colorsbox_invert_selection') + if g:colorsbox_invert_selection == 0 + let s:invert_selection = '' + endif +endif + +let s:invert_tabline = '' +if exists('g:colorsbox_invert_tabline') + if g:colorsbox_invert_tabline == 1 + let s:invert_tabline = s:inverse + endif +endif + +let s:italicize_comments = s:italic +if exists('g:colorsbox_italicize_comments') + if g:colorsbox_italicize_comments == 0 + let s:italicize_comments = '' + endif +endif + +let s:italicize_strings = '' +if exists('g:colorsbox_italicize_strings') + if g:colorsbox_italicize_strings == 1 + let s:italicize_strings = s:italic + endif +endif + +" }}} +" Highlighting Function: {{{ + +function! s:HL(group, fg, ...) + " Arguments: group, guifg, guibg, gui, guisp + + " foreground + let fg = a:fg + + " background + if a:0 >= 1 + let bg = a:1 + else + let bg = s:none + endif + + " emphasis + if a:0 >= 2 && strlen(a:2) + let emstr = a:2 + else + let emstr = 'NONE,' + endif + + " special fallback + if a:0 >= 3 + if g:colorsbox_guisp_fallback != 'NONE' + let fg = a:3 + endif + + " bg fallback mode should invert higlighting + if g:colorsbox_guisp_fallback == 'bg' + let emstr .= 'inverse,' + endif + endif + + let histring = [ 'hi', a:group, + \ 'guifg=' . fg[0], 'ctermfg=' . fg[1], + \ 'guibg=' . bg[0], 'ctermbg=' . bg[1], + \ 'gui=' . emstr[:-2], 'cterm=' . emstr[:-2] + \ ] + + " special + if a:0 >= 3 + call add(histring, 'guisp=' . a:3[0]) + endif + + execute join(histring, ' ') +endfunction + +" }}} +" colorsbox Hi Groups: {{{ + +" memoize common hi groups +call s:HL('colorsboxFg0', s:fg0) +call s:HL('colorsboxFg1', s:fg1) +call s:HL('colorsboxFg2', s:fg2) +call s:HL('colorsboxFg3', s:fg3) +call s:HL('colorsboxFg4', s:fg4) +call s:HL('colorsboxGray', s:gray) +call s:HL('colorsboxBg0', s:bg0) +call s:HL('colorsboxBg1', s:bg1) +call s:HL('colorsboxBg2', s:bg2) +call s:HL('colorsboxBg3', s:bg3) + +call s:HL('colorsboxRed', s:red) +call s:HL('colorsboxRedBold', s:red, s:none, s:bold) +call s:HL('colorsboxGreen', s:green) +call s:HL('colorsboxGreenBold', s:green, s:none, s:bold) +call s:HL('colorsboxYellow', s:yellow) +call s:HL('colorsboxYellowBold', s:yellow, s:none, s:bold) +call s:HL('colorsboxBlue', s:blue) +call s:HL('colorsboxBlueBold', s:blue, s:none, s:bold) +call s:HL('colorsboxPurple', s:purple) +call s:HL('colorsboxPurpleBold', s:purple, s:none, s:bold) +call s:HL('colorsboxAqua', s:aqua) +call s:HL('colorsboxAquaBold', s:aqua, s:none, s:bold) +call s:HL('colorsboxOrange', s:orange) +call s:HL('colorsboxOrangeBold', s:orange, s:none, s:bold) + +call s:HL('colorsboxRedSign', s:red, s:sign_column, s:invert_signs) +call s:HL('colorsboxGreenSign', s:green, s:sign_column, s:invert_signs) +call s:HL('colorsboxYellowSign', s:yellow, s:sign_column, s:invert_signs) +call s:HL('colorsboxBlueSign', s:blue, s:sign_column, s:invert_signs) +call s:HL('colorsboxPurpleSign', s:purple, s:sign_column, s:invert_signs) +call s:HL('colorsboxAquaSign', s:aqua, s:sign_column, s:invert_signs) + +" }}} + +" Vanilla colorscheme --------------------------------------------------------- +" General UI: {{{ + +" Normal text +call s:HL('Normal', s:fg0, s:bg0) + +" Correct background (see issue #7): +" --- Problem with changing between dark and light on 256 color terminal +" --- https://github.com/morhetz/colorsbox/issues/7 +if s:is_dark + set background=dark +else + set background=light +endif + +if version >= 700 + " Screen line that the cursor is + call s:HL('CursorLine', s:none, s:bg1) + " Screen column that the cursor is + hi! link CursorColumn CursorLine + + " Tab pages line filler + call s:HL('TabLineFill', s:bg4, s:vim_bg, s:invert_tabline) + " Active tab page label + call s:HL('TabLineSel', s:vim_bg, s:bg4, s:bold . s:invert_tabline) + " Not active tab page label + hi! link TabLine TabLineFill + + " Match paired bracket under the cursor + call s:HL('MatchParen', s:none, s:bg3, s:bold) +endif + +if version >= 703 + " Highlighted screen columns + call s:HL('ColorColumn', s:none, s:color_column) + + " Concealed element: \lambda → λ + call s:HL('Conceal', s:blue, s:none) + + " Line number of CursorLine + "call s:HL('CursorLineNr', s:yellow, s:bg1) + call s:HL('CursorLineNr', s:fg0, s:bg1) +endif + +hi! link NonText colorsboxBg2 +hi! link SpecialKey colorsboxBg2 + +call s:HL('Visual', s:none, s:bg3, s:invert_selection) +hi! link VisualNOS Visual + +call s:HL('Search', s:bg0, s:yellow) +call s:HL('IncSearch', s:bg0, s:hls_cursor) + +call s:HL('Underlined', s:blue, s:none, s:underline) + +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:fg4, s:vert_split) + +" Current match in wildmenu completion +call s:HL('WildMenu', s:blue, s:bg2, s:bold) + +" Directory names, special names in listing +hi! link Directory colorsboxGreenBold + +" Titles for output from :set all, :autocmd, etc. +hi! link Title colorsboxGreenBold + +" Error messages on the command line +call s:HL('ErrorMsg', s:vim_bg, s:red, s:bold) +" More prompt: -- More -- +hi! link MoreMsg colorsboxYellowBold +" Current mode message: -- INSERT -- +hi! link ModeMsg colorsboxYellowBold +" 'Press enter' prompt and yes/no questions +hi! link Question colorsboxOrangeBold +" Warning messages +hi! link WarningMsg colorsboxRedBold + +" }}} +" Gutter: {{{ + +" Line number for :number and :# commands +call s:HL('LineNr', s:number_column) + +" Column where signs are displayed +call s:HL('SignColumn', s:none, s:sign_column) + +" Line used for closed folds +call s:HL('Folded', s:gray, s:bg1, s:italic) +" Column where folds are displayed +call s:HL('FoldColumn', s:gray, s:bg1) + +" }}} +" Cursor: {{{ + +" Character under cursor +call s:HL('Cursor', s:none, s:none, s:inverse) +" Visual mode cursor, selection +hi! link vCursor Cursor +" Input moder cursor +hi! link iCursor Cursor +" Language mapping cursor +hi! link lCursor Cursor + +" }}} +" Syntax Highlighting: {{{ + +if g:colorsbox_improved_strings == 0 + hi! link Special colorsboxOrange +else + call s:HL('Special', s:bg1, s:orange, s:italic) +endif + +call s:HL('Comment', s:gray, s:none, s:italicize_comments) +call s:HL('Todo', s:vim_fg, s:vim_bg, s:bold . s:italic) +call s:HL('Error', s:red, s:vim_bg, s:bold . s:inverse) + +" Generic statement +hi! link Statement colorsboxRed +" if, then, else, endif, swicth, etc. +hi! link Conditional colorsboxRed +" for, do, while, etc. +hi! link Repeat colorsboxRed +" case, default, etc. +hi! link Label colorsboxRed +" try, catch, throw +hi! link Exception colorsboxRed +" sizeof, "+", "*", etc. +hi! link Operator Normal +" Any other keyword +hi! link Keyword colorsboxRed + +" Variable name +hi! link Identifier colorsboxBlue +" Function name +hi! link Function colorsboxGreenBold + +" Generic preprocessor +hi! link PreProc colorsboxAqua +" Preprocessor #include +hi! link Include colorsboxAqua +" Preprocessor #define +hi! link Define colorsboxAqua +" Same as Define +hi! link Macro colorsboxAqua +" Preprocessor #if, #else, #endif, etc. +hi! link PreCondit colorsboxAqua + +" Generic constant +hi! link Constant colorsboxPurple +" Character constant: 'c', '/n' +hi! link Character colorsboxPurple +" String constant: "this is a string" +if g:colorsbox_improved_strings == 0 + call s:HL('String', s:green, s:none, s:italicize_strings) +else + call s:HL('String', s:bg1, s:fg1, s:italicize_strings) +endif +" Boolean constant: TRUE, false +hi! link Boolean colorsboxPurple +" Number constant: 234, 0xff +hi! link Number colorsboxPurple +" Floating point constant: 2.3e10 +hi! link Float colorsboxPurple + +" Generic type +hi! link Type colorsboxYellow +" static, register, volatile, etc +hi! link StorageClass colorsboxOrange +" struct, union, enum, etc. +hi! link Structure colorsboxAqua +" typedef +hi! link Typedef colorsboxYellow + +" }}} +" Completion Menu: {{{ + +if version >= 700 + " Popup menu: normal item + call s:HL('Pmenu', s:fg1, s:bg2) + " Popup menu: selected item + call s:HL('PmenuSel', s:bg2, s:blue, s:bold) + " Popup menu: scrollbar + call s:HL('PmenuSbar', s:none, s:bg2) + " Popup menu: scrollbar thumb + call s:HL('PmenuThumb', s:none, s:bg4) +endif + +" }}} +" Diffs: {{{ + +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:bg0, s:inverse) +call s:HL('DiffText', s:yellow, s:bg0, s:inverse) + +" }}} +" Spelling: {{{ + +if has("spell") + " Not capitalised word, or compile warnings + if g:colorsbox_improved_warnings == 0 + call s:HL('SpellCap', s:none, s:none, s:undercurl, s:red) + else + call s:HL('SpellCap', s:green, s:none, s:bold . s:italic) + endif + " Not recognized word + call s:HL('SpellBad', s:none, s:none, s:undercurl, s:blue) + " Wrong spelling for selected region + call s:HL('SpellLocal', s:none, s:none, s:undercurl, s:aqua) + " Rare word + call s:HL('SpellRare', s:none, s:none, s:undercurl, s:purple) +endif + +" }}} + +" Plugin specific ------------------------------------------------------------- +" EasyMotion: {{{ + +hi! link EasyMotionTarget Search +hi! link EasyMotionShade Comment + +" }}} +" Sneak: {{{ + +hi! link SneakPluginTarget Search +hi! link SneakStreakTarget Search +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 +endif + +if g:indent_guides_auto_colors == 0 + if g:colorsbox_invert_indent_guides == 0 + call s:HL('IndentGuidesOdd', s:vim_bg, s:bg2) + call s:HL('IndentGuidesEven', s:vim_bg, s:bg1) + else + call s:HL('IndentGuidesOdd', s:vim_bg, s:bg2, s:inverse) + call s:HL('IndentGuidesEven', s:vim_bg, s:bg3, s:inverse) + endif +endif + +" }}} +" IndentLine: {{{ + +if !exists('g:indentLine_color_term') + let g:indentLine_color_term = s:bg2[1] +endif +if !exists('g:indentLine_color_gui') + let g:indentLine_color_gui = s:bg2[0] +endif + +" }}} +" Rainbow Parentheses: {{{ + +if !exists('g:rbpt_colorpairs') + let g:rbpt_colorpairs = + \ [ + \ ['blue', '#458588'], ['magenta', '#b16286'], + \ ['red', '#cc241d'], ['166', '#d65d0e'] + \ ] +endif + +let g:rainbow_guifgs = [ '#d65d0e', '#cc241d', '#b16286', '#458588' ] +let g:rainbow_ctermfgs = [ '166', 'red', 'magenta', 'blue' ] + +if !exists('g:rainbow_conf') + let g:rainbow_conf = {} +endif +if !has_key(g:rainbow_conf, 'guifgs') + let g:rainbow_conf['guifgs'] = g:rainbow_guifgs +endif +if !has_key(g:rainbow_conf, 'ctermfgs') + let g:rainbow_conf['ctermfgs'] = g:rainbow_ctermfgs +endif + +let g:niji_dark_colours = g:rbpt_colorpairs +let g:niji_light_colours = g:rbpt_colorpairs + +"}}} +" GitGutter: {{{ + +hi! link GitGutterAdd colorsboxGreenSign +hi! link GitGutterChange colorsboxAquaSign +hi! link GitGutterDelete colorsboxRedSign +hi! link GitGutterChangeDelete colorsboxAquaSign + +" }}} +" GitCommit: "{{{ + +hi! link gitcommitSelectedFile colorsboxGreen +hi! link gitcommitDiscardedFile colorsboxRed + +" }}} +" Signify: {{{ + +hi! link SignifySignAdd colorsboxGreenSign +hi! link SignifySignChange colorsboxAquaSign +hi! link SignifySignDelete colorsboxRedSign + +" }}} +" Syntastic: {{{ + +call s:HL('SyntasticError', s:none, s:none, s:undercurl, s:red) +call s:HL('SyntasticWarning', s:none, s:none, s:undercurl, s:yellow) + +hi! link SyntasticErrorSign colorsboxRedSign +hi! link SyntasticWarningSign colorsboxYellowSign + +" }}} +" Signature: {{{ + +hi! link SignatureMarkerText colorsboxPurpleSign +hi! link SignatureMarkText colorsboxBlueSign + +let g:SignatureMarkerTextHL='"SignatureMarkerText"' +let g:SignatureMarkTextHL='"SignatureMarkText"' + +" }}} +" ShowMarks: {{{ + +hi! link ShowMarksHLl colorsboxBlueSign +hi! link ShowMarksHLu colorsboxBlueSign +hi! link ShowMarksHLo colorsboxBlueSign +hi! link ShowMarksHLm colorsboxBlueSign + +" }}} +" CtrlP: {{{ + +hi! link CtrlPMatch colorsboxYellow +hi! link CtrlPNoEntries colorsboxRed +hi! link CtrlPPrtBase colorsboxBg2 +hi! link CtrlPPrtCursor colorsboxBlue +hi! link CtrlPLinePre colorsboxBg2 + +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: {{{ + +hi! link StartifyBracket colorsboxFg3 +hi! link StartifyFile colorsboxFg0 +hi! link StartifyNumber colorsboxBlue +hi! link StartifyPath colorsboxGray +hi! link StartifySlash colorsboxGray +hi! link StartifySection colorsboxYellow +hi! link StartifySpecial colorsboxBg2 +hi! link StartifyHeader colorsboxOrange +hi! link StartifyFooter colorsboxBg2 + +" }}} +" Vimshell: {{{ + +let g:vimshell_escape_colors = [ + \ 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] + \ ] + +" }}} + +" Filetype specific ----------------------------------------------------------- +" Diff: {{{ + +hi! link diffAdded colorsboxGreen +hi! link diffRemoved colorsboxRed +hi! link diffChanged colorsboxAqua + +hi! link diffFile colorsboxOrange +hi! link diffNewFile colorsboxYellow + +hi! link diffLine colorsboxBlue + +" }}} +" Html: {{{ + +hi! link htmlTag colorsboxBlue +hi! link htmlEndTag colorsboxBlue + +hi! link htmlTagName colorsboxAquaBold +hi! link htmlArg colorsboxAqua + +hi! link htmlScriptTag colorsboxPurple +hi! link htmlTagN colorsboxFg1 +hi! link htmlSpecialTagName colorsboxAquaBold + +call s:HL('htmlLink', s:fg4, s:none, s:underline) + +hi! link htmlSpecialChar colorsboxOrange + +call s:HL('htmlBold', s:vim_fg, s:vim_bg, s:bold) +call s:HL('htmlBoldUnderline', s:vim_fg, s:vim_bg, s:bold . s:underline) +call s:HL('htmlBoldItalic', s:vim_fg, s:vim_bg, s:bold . s:italic) +call s:HL('htmlBoldUnderlineItalic', s:vim_fg, s:vim_bg, s:bold . s:underline . s:italic) + +call s:HL('htmlUnderline', s:vim_fg, s:vim_bg, s:underline) +call s:HL('htmlUnderlineItalic', s:vim_fg, s:vim_bg, s:underline . s:italic) +call s:HL('htmlItalic', s:vim_fg, s:vim_bg, s:italic) + +" }}} +" Xml: {{{ + +hi! link xmlTag colorsboxBlue +hi! link xmlEndTag colorsboxBlue +hi! link xmlTagName colorsboxBlue +hi! link xmlEqual colorsboxBlue +hi! link docbkKeyword colorsboxAquaBold + +hi! link xmlDocTypeDecl colorsboxGray +hi! link xmlDocTypeKeyword colorsboxPurple +hi! link xmlCdataStart colorsboxGray +hi! link xmlCdataCdata colorsboxPurple +hi! link dtdFunction colorsboxGray +hi! link dtdTagName colorsboxPurple + +hi! link xmlAttrib colorsboxAqua +hi! link xmlProcessingDelim colorsboxGray +hi! link dtdParamEntityPunct colorsboxGray +hi! link dtdParamEntityDPunct colorsboxGray +hi! link xmlAttribPunct colorsboxGray + +hi! link xmlEntity colorsboxOrange +hi! link xmlEntityPunct colorsboxOrange +" }}} +" Vim: {{{ + +call s:HL('vimCommentTitle', s:fg4_256, s:none, s:bold . s:italicize_comments) + +hi! link vimNotation colorsboxOrange +hi! link vimBracket colorsboxOrange +hi! link vimMapModKey colorsboxOrange +hi! link vimFuncSID colorsboxFg3 +hi! link vimSetSep colorsboxFg3 +hi! link vimSep colorsboxFg3 +hi! link vimContinue colorsboxFg3 + +" }}} +" Clojure: {{{ + +hi! link clojureKeyword colorsboxBlue +hi! link clojureCond colorsboxOrange +hi! link clojureSpecial colorsboxOrange +hi! link clojureDefine colorsboxOrange + +hi! link clojureFunc colorsboxYellow +hi! link clojureRepeat colorsboxYellow +hi! link clojureCharacter colorsboxAqua +hi! link clojureStringEscape colorsboxAqua +hi! link clojureException colorsboxRed + +hi! link clojureRegexp colorsboxAqua +hi! link clojureRegexpEscape colorsboxAqua +call s:HL('clojureRegexpCharClass', s:fg3, s:none, s:bold) +hi! link clojureRegexpMod clojureRegexpCharClass +hi! link clojureRegexpQuantifier clojureRegexpCharClass + +hi! link clojureParen colorsboxFg3 +hi! link clojureAnonArg colorsboxYellow +hi! link clojureVariable colorsboxBlue +hi! link clojureMacro colorsboxOrange + +hi! link clojureMeta colorsboxYellow +hi! link clojureDeref colorsboxYellow +hi! link clojureQuote colorsboxYellow +hi! link clojureUnquote colorsboxYellow + +" }}} +" C: {{{ + +hi! link cOperator colorsboxPurple +hi! link cStructure colorsboxOrange + +" }}} +" Python: {{{ + +hi! link pythonBuiltin colorsboxOrange +hi! link pythonBuiltinObj colorsboxOrange +hi! link pythonBuiltinFunc colorsboxOrange +hi! link pythonFunction colorsboxAqua +hi! link pythonDecorator colorsboxRed +hi! link pythonInclude colorsboxBlue +hi! link pythonImport colorsboxBlue +hi! link pythonRun colorsboxBlue +hi! link pythonCoding colorsboxBlue +hi! link pythonOperator colorsboxRed +hi! link pythonExceptions colorsboxPurple +hi! link pythonBoolean colorsboxPurple +hi! link pythonDot colorsboxFg3 + +" }}} +" CSS: {{{ + +hi! link cssBraces colorsboxBlue +hi! link cssFunctionName colorsboxYellow +hi! link cssIdentifier colorsboxOrange +hi! link cssClassName colorsboxGreen +hi! link cssColor colorsboxBlue +hi! link cssSelectorOp colorsboxBlue +hi! link cssSelectorOp2 colorsboxBlue +hi! link cssImportant colorsboxGreen +hi! link cssVendor colorsboxFg1 + +hi! link cssTextProp colorsboxAqua +hi! link cssAnimationProp colorsboxAqua +hi! link cssUIProp colorsboxYellow +hi! link cssTransformProp colorsboxAqua +hi! link cssTransitionProp colorsboxAqua +hi! link cssPrintProp colorsboxAqua +hi! link cssPositioningProp colorsboxYellow +hi! link cssBoxProp colorsboxAqua +hi! link cssFontDescriptorProp colorsboxAqua +hi! link cssFlexibleBoxProp colorsboxAqua +hi! link cssBorderOutlineProp colorsboxAqua +hi! link cssBackgroundProp colorsboxAqua +hi! link cssMarginProp colorsboxAqua +hi! link cssListProp colorsboxAqua +hi! link cssTableProp colorsboxAqua +hi! link cssFontProp colorsboxAqua +hi! link cssPaddingProp colorsboxAqua +hi! link cssDimensionProp colorsboxAqua +hi! link cssRenderProp colorsboxAqua +hi! link cssColorProp colorsboxAqua +hi! link cssGeneratedContentProp colorsboxAqua + +" }}} +" JavaScript: {{{ + +hi! link javaScriptBraces colorsboxFg1 +hi! link javaScriptFunction colorsboxAqua +hi! link javaScriptIdentifier colorsboxRed +hi! link javaScriptMember colorsboxBlue +hi! link javaScriptNumber colorsboxPurple +hi! link javaScriptNull colorsboxPurple +hi! link javaScriptParens colorsboxFg3 + +" }}} +" YAJS: {{{ + +hi! link javascriptImport colorsboxAqua +hi! link javascriptExport colorsboxAqua +hi! link javascriptClassKeyword colorsboxAqua +hi! link javascriptClassExtends colorsboxAqua +hi! link javascriptDefault colorsboxAqua + +hi! link javascriptClassName colorsboxYellow +hi! link javascriptClassSuperName colorsboxYellow +hi! link javascriptGlobal colorsboxYellow + +hi! link javascriptEndColons colorsboxFg1 +hi! link javascriptFuncArg colorsboxFg1 +hi! link javascriptGlobalMethod colorsboxFg1 +hi! link javascriptNodeGlobal colorsboxFg1 + +" hi! link javascriptVariable colorsboxOrange +hi! link javascriptVariable colorsboxRed +" hi! link javascriptIdentifier colorsboxOrange +" hi! link javascriptClassSuper colorsboxOrange +hi! link javascriptIdentifier colorsboxOrange +hi! link javascriptClassSuper colorsboxOrange + +" hi! link javascriptFuncKeyword colorsboxOrange +" hi! link javascriptAsyncFunc colorsboxOrange +hi! link javascriptFuncKeyword colorsboxAqua +hi! link javascriptAsyncFunc colorsboxAqua +hi! link javascriptClassStatic colorsboxOrange + +hi! link javascriptOperator colorsboxRed +hi! link javascriptForOperator colorsboxRed +hi! link javascriptYield colorsboxRed +hi! link javascriptExceptions colorsboxRed +hi! link javascriptMessage colorsboxRed + +hi! link javascriptTemplateSB colorsboxAqua +hi! link javascriptTemplateSubstitution colorsboxFg1 + +" hi! link javascriptLabel colorsboxBlue +" hi! link javascriptObjectLabel colorsboxBlue +" hi! link javascriptPropertyName colorsboxBlue +hi! link javascriptLabel colorsboxFg1 +hi! link javascriptObjectLabel colorsboxFg1 +hi! link javascriptPropertyName colorsboxFg1 + +hi! link javascriptLogicSymbols colorsboxFg1 +hi! link javascriptArrowFunc colorsboxFg1 + +hi! link javascriptDocParamName colorsboxFg4 +hi! link javascriptDocTags colorsboxFg4 +hi! link javascriptDocNotation colorsboxFg4 +hi! link javascriptDocParamType colorsboxFg4 +hi! link javascriptDocNamedParamType colorsboxFg4 + +" }}} +" CoffeeScript: {{{ + +hi! link coffeeExtendedOp colorsboxFg3 +hi! link coffeeSpecialOp colorsboxFg3 +hi! link coffeeCurly colorsboxOrange +hi! link coffeeParen colorsboxFg3 +hi! link coffeeBracket colorsboxOrange + +" }}} +" Ruby: {{{ + +hi! link rubyStringDelimiter colorsboxGreen +hi! link rubyInterpolationDelimiter colorsboxAqua + +" }}} +" ObjectiveC: {{{ + +hi! link objcTypeModifier colorsboxRed +hi! link objcDirective colorsboxBlue + +" }}} +" Go: {{{ + +hi! link goDirective colorsboxAqua +hi! link goConstants colorsboxPurple +hi! link goDeclaration colorsboxRed +hi! link goDeclType colorsboxBlue +hi! link goBuiltins colorsboxOrange + +" }}} +" Lua: {{{ + +hi! link luaIn colorsboxRed +hi! link luaFunction colorsboxAqua +hi! link luaTable colorsboxOrange + +" }}} +" MoonScript: {{{ + +hi! link moonSpecialOp colorsboxFg3 +hi! link moonExtendedOp colorsboxFg3 +hi! link moonFunction colorsboxFg3 +hi! link moonObject colorsboxYellow + +" }}} +" Java: {{{ + +hi! link javaAnnotation colorsboxBlue +hi! link javaDocTags colorsboxAqua +hi! link javaCommentTitle vimCommentTitle +hi! link javaParen colorsboxFg3 +hi! link javaParen1 colorsboxFg3 +hi! link javaParen2 colorsboxFg3 +hi! link javaParen3 colorsboxFg3 +hi! link javaParen4 colorsboxFg3 +hi! link javaParen5 colorsboxFg3 +hi! link javaOperator colorsboxOrange + +hi! link javaVarArg colorsboxGreen + +" }}} +" Elixir: {{{ + +hi! link elixirDocString Comment + +hi! link elixirStringDelimiter colorsboxGreen +hi! link elixirInterpolationDelimiter colorsboxAqua + +" }}} +" Scala: {{{ + +" NB: scala vim syntax file is kinda horrible +hi! link scalaNameDefinition colorsboxFg1 +hi! link scalaCaseFollowing colorsboxFg1 +hi! link scalaCapitalWord colorsboxFg1 +hi! link scalaTypeExtension colorsboxFg1 + +hi! link scalaKeyword colorsboxRed +hi! link scalaKeywordModifier colorsboxRed + +hi! link scalaSpecial colorsboxAqua +hi! link scalaOperator colorsboxFg1 + +hi! link scalaTypeDeclaration colorsboxYellow +hi! link scalaTypeTypePostDeclaration colorsboxYellow + +hi! link scalaInstanceDeclaration colorsboxFg1 +hi! link scalaInterpolation colorsboxAqua + +" }}} +" Markdown: {{{ + +call s:HL('markdownItalic', s:fg3, s:none, s:italic) + +hi! link markdownH1 colorsboxGreenBold +hi! link markdownH2 colorsboxGreenBold +hi! link markdownH3 colorsboxYellowBold +hi! link markdownH4 colorsboxYellowBold +hi! link markdownH5 colorsboxYellow +hi! link markdownH6 colorsboxYellow + +hi! link markdownCode colorsboxAqua +hi! link markdownCodeBlock colorsboxAqua +hi! link markdownCodeDelimiter colorsboxAqua + +hi! link markdownBlockquote colorsboxGray +hi! link markdownListMarker colorsboxGray +hi! link markdownOrderedListMarker colorsboxGray +hi! link markdownRule colorsboxGray +hi! link markdownHeadingRule colorsboxGray + +hi! link markdownUrlDelimiter colorsboxFg3 +hi! link markdownLinkDelimiter colorsboxFg3 +hi! link markdownLinkTextDelimiter colorsboxFg3 + +hi! link markdownHeadingDelimiter colorsboxOrange +hi! link markdownUrl colorsboxPurple +hi! link markdownUrlTitleDelimiter colorsboxGreen + +call s:HL('markdownLinkText', s:gray, s:none, s:underline) +hi! link markdownIdDeclaration markdownLinkText + +" }}} +" Haskell: {{{ + +" hi! link haskellType colorsboxYellow +" hi! link haskellOperators colorsboxOrange +" hi! link haskellConditional colorsboxAqua +" hi! link haskellLet colorsboxOrange +" +hi! link haskellType colorsboxFg1 +hi! link haskellIdentifier colorsboxFg1 +hi! link haskellSeparator colorsboxFg1 +hi! link haskellDelimiter colorsboxFg4 +hi! link haskellOperators colorsboxBlue +" +hi! link haskellBacktick colorsboxOrange +hi! link haskellStatement colorsboxOrange +hi! link haskellConditional colorsboxOrange + +hi! link haskellLet colorsboxAqua +hi! link haskellDefault colorsboxAqua +hi! link haskellWhere colorsboxAqua +hi! link haskellBottom colorsboxAqua +hi! link haskellBlockKeywords colorsboxAqua +hi! link haskellImportKeywords colorsboxAqua +hi! link haskellDeclKeyword colorsboxAqua +hi! link haskellDeriving colorsboxAqua +hi! link haskellAssocType colorsboxAqua + +hi! link haskellNumber colorsboxPurple +hi! link haskellPragma colorsboxPurple + +hi! link haskellString colorsboxGreen +hi! link haskellChar colorsboxGreen + +" }}} +" Json: {{{ + +hi! link jsonKeyword colorsboxGreen +hi! link jsonQuote colorsboxGreen +hi! link jsonBraces colorsboxFg1 +hi! link jsonString colorsboxFg1 + +" }}} + + +" Functions ------------------------------------------------------------------- +" Search Highlighting Cursor {{{ + +function! ColorsboxHlsShowCursor() + call s:HL('Cursor', s:bg0, s:hls_cursor) +endfunction + +function! ColorsboxHlsHideCursor() + call s:HL('Cursor', s:none, s:none, s:inverse) +endfunction + +" }}} + +" vim: set sw=2 ts=2 sts=2 et tw=80 ft=vim fdm=marker: diff --git a/.vim/colors/sum.vim b/.vim/colors/sum.vim new file mode 100644 index 0000000..14fe850 --- /dev/null +++ b/.vim/colors/sum.vim @@ -0,0 +1,321 @@ +" Vim color file +" Maintainer: Martin Baeuml +" Last Change: 2008-02-09 +" +" This color file is a modification of the "summerfruit" color scheme by Armin Ronacher +" so that it can be used on 88- and 256-color xterms. The colors are translated +" using Henry So's programmatic approximation of gui colors from his "desert256" +" color scheme. +" +" I removed the "italic" option and the background color from +" comment-coloring because that looks odd on my console. +" +" The original "summerfruit" color scheme and "desert256" are available from vim.org. + +set background=light +if version > 580 + " no guarantees for version 5.8 and below, but this makes it stop + " complaining + hi clear + if exists("syntax_on") + syntax reset + endif +endif +let g:colors_name="summerfruit256" + +if has("gui_running") || &t_Co == 88 || &t_Co == 256 + " functions {{{ + " returns an approximate grey index for the given grey level + fun grey_number(x) + if &t_Co == 88 + if a:x < 23 + return 0 + elseif a:x < 69 + return 1 + elseif a:x < 103 + return 2 + elseif a:x < 127 + return 3 + elseif a:x < 150 + return 4 + elseif a:x < 173 + return 5 + elseif a:x < 196 + return 6 + elseif a:x < 219 + return 7 + elseif a:x < 243 + return 8 + else + return 9 + endif + else + if a:x < 14 + return 0 + else + let l:n = (a:x - 8) / 10 + let l:m = (a:x - 8) % 10 + if l:m < 5 + return l:n + else + return l:n + 1 + endif + endif + endif + endfun + + " returns the actual grey level represented by the grey index + fun grey_level(n) + if &t_Co == 88 + if a:n == 0 + return 0 + elseif a:n == 1 + return 46 + elseif a:n == 2 + return 92 + elseif a:n == 3 + return 115 + elseif a:n == 4 + return 139 + elseif a:n == 5 + return 162 + elseif a:n == 6 + return 185 + elseif a:n == 7 + return 208 + elseif a:n == 8 + return 231 + else + return 255 + endif + else + if a:n == 0 + return 0 + else + return 8 + (a:n * 10) + endif + endif + endfun + + " returns the palette index for the given grey index + fun grey_color(n) + if &t_Co == 88 + if a:n == 0 + return 16 + elseif a:n == 9 + return 79 + else + return 79 + a:n + endif + else + if a:n == 0 + return 16 + elseif a:n == 25 + return 231 + else + return 231 + a:n + endif + endif + endfun + + " returns an approximate color index for the given color level + fun rgb_number(x) + if &t_Co == 88 + if a:x < 69 + return 0 + elseif a:x < 172 + return 1 + elseif a:x < 230 + return 2 + else + return 3 + endif + else + if a:x < 75 + return 0 + else + let l:n = (a:x - 55) / 40 + let l:m = (a:x - 55) % 40 + if l:m < 20 + return l:n + else + return l:n + 1 + endif + endif + endif + endfun + + " returns the actual color level for the given color index + fun rgb_level(n) + if &t_Co == 88 + if a:n == 0 + return 0 + elseif a:n == 1 + return 139 + elseif a:n == 2 + return 205 + else + return 255 + endif + else + if a:n == 0 + return 0 + else + return 55 + (a:n * 40) + endif + endif + endfun + + " returns the palette index for the given R/G/B color indices + fun rgb_color(x, y, z) + if &t_Co == 88 + return 16 + (a:x * 16) + (a:y * 4) + a:z + else + return 16 + (a:x * 36) + (a:y * 6) + a:z + endif + endfun + + " returns the palette index to approximate the given R/G/B color levels + fun color(r, g, b) + " get the closest grey + let l:gx = grey_number(a:r) + let l:gy = grey_number(a:g) + let l:gz = grey_number(a:b) + + " get the closest color + let l:x = rgb_number(a:r) + let l:y = rgb_number(a:g) + let l:z = rgb_number(a:b) + + if l:gx == l:gy && l:gy == l:gz + " there are two possibilities + let l:dgr = grey_level(l:gx) - a:r + let l:dgg = grey_level(l:gy) - a:g + let l:dgb = grey_level(l:gz) - a:b + let l:dgrey = (l:dgr * l:dgr) + (l:dgg * l:dgg) + (l:dgb * l:dgb) + let l:dr = rgb_level(l:gx) - a:r + let l:dg = rgb_level(l:gy) - a:g + let l:db = rgb_level(l:gz) - a:b + let l:drgb = (l:dr * l:dr) + (l:dg * l:dg) + (l:db * l:db) + if l:dgrey < l:drgb + " use the grey + return grey_color(l:gx) + else + " use the color + return rgb_color(l:x, l:y, l:z) + endif + else + " only one possibility + return rgb_color(l:x, l:y, l:z) + endif + endfun + + " returns the palette index to approximate the 'rrggbb' hex string + fun rgb(rgb) + let l:r = ("0x" . strpart(a:rgb, 0, 2)) + 0 + let l:g = ("0x" . strpart(a:rgb, 2, 2)) + 0 + let l:b = ("0x" . strpart(a:rgb, 4, 2)) + 0 + + return color(l:r, l:g, l:b) + endfun + + " sets the highlighting for the given group + fun X(group, fg, bg, attr) + if a:fg != "" + exec "hi " . a:group . " guifg=#" . a:fg . " ctermfg=" . rgb(a:fg) + endif + if a:bg != "" + exec "hi " . a:group . " guibg=#" . a:bg . " ctermbg=" . rgb(a:bg) + endif + if a:attr != "" + exec "hi " . a:group . " gui=" . a:attr . " cterm=" . a:attr + endif + endfun + " }}} + + " Global + call X("Normal", "000000", "ffffff", "") + call X("NonText", "438ec3", "b7dce8", "") + + " Search + call X("Search", "800000", "ffae00", "") + call X("IncSearch", "800000", "ffae00", "") + + " Interface Elements + call X("StatusLine", "ffffff", "43c464", "bold") + call X("StatusLineNC", "9bd4a9", "51b069", "") + call X("VertSplit", "3687a2", "3687a2", "") + call X("Folded", "3c78a2", "c3daea", "") + call X("IncSearch", "708090", "f0e68c", "") + call X("Pmenu", "ffffff", "cb2f27", "") + call X("SignColumn", "", "", "") + call X("CursorLine", "", "c0d9eb", "") + call X("LineNr", "eeeeee", "438ec3", "bold") + call X("MatchParen", "", "", "") + + " Specials + call X("Todo", "e50808", "dbf3cd", "bold") + call X("Title", "000000", "", "") + call X("Special", "fd8900", "", "") + + " Syntax Elements + call X("String", "0086d2", "", "") + call X("Constant", "0086d2", "", "") + call X("Number", "0086f7", "", "") + call X("Statement", "fb660a", "", "") + call X("Function", "ff0086", "", "") + call X("PreProc", "ff0007", "", "") + call X("Comment", "22a21f", "", "bold") + call X("Type", "70796b", "", "") + call X("Error", "ffffff", "d40000", "") + call X("Identifier", "ff0086", "", "") + call X("Label", "ff0086", "", "") + + " Python Highlighting + call X("pythonCoding", "ff0086", "", "") + call X("pythonRun", "ff0086", "", "") + call X("pythonBuiltinObj", "2b6ba2", "", "") + call X("pythonBuiltinFunc", "2b6ba2", "", "") + call X("pythonException", "ee0000", "", "") + call X("pythonExClass", "66cd66", "", "") + call X("pythonSpaceError", "", "", "") + call X("pythonDocTest", "2f5f49", "", "") + call X("pythonDocTest2", "3b916a", "", "") + call X("pythonFunction", "ee0000", "", "") + call X("pythonClass", "ff0086", "", "") + + " HTML Highlighting + call X("htmlTag", "00bdec", "", "") + call X("htmlEndTag", "00bdec", "", "") + call X("htmlSpecialTagName", "4aa04a", "", "") + call X("htmlTagName", "4aa04a", "", "") + call X("htmlTagN", "4aa04a", "", "") + + " Jinja Highlighting + call X("jinjaTagBlock", "ff0007", "fbf4c7", "bold") + call X("jinjaVarBlock", "ff0007", "fbf4c7", "") + call X("jinjaString", "0086d2", "fbf4c7", "") + call X("jinjaNumber", "bf0945", "fbf4c7", "bold") + call X("jinjaStatement", "fb660a", "fbf4c7", "bold") + call X("jinjaComment", "008800", "002300", "italic") + call X("jinjaFilter", "ff0086", "fbf4c7", "") + call X("jinjaRaw", "aaaaaa", "fbf4c7", "") + call X("jinjaOperator", "ffffff", "fbf4c7", "") + call X("jinjaVariable", "92cd35", "fbf4c7", "") + call X("jinjaAttribute", "dd7700", "fbf4c7", "") + call X("jinjaSpecial", "008ffd", "fbf4c7", "") + + " delete functions {{{ + delf X + delf rgb + delf color + delf rgb_color + delf rgb_level + delf rgb_number + delf grey_color + delf grey_level + delf grey_number + " }}} +endif + +" vim: set fdl=0 fdm=marker: diff --git a/vimrc b/vimrc index 3a8eba0..a4ca3c5 100644 --- a/vimrc +++ b/vimrc @@ -13,6 +13,8 @@ runtime! archlinux.vim " If you prefer the old-style vim functionalty, add 'runtime! vimrc_example.vim' " Or better yet, read /usr/share/vim/vim74/vimrc_example.vim or the vim manual " and configure vim to your own liking! +set t_Co=256 +colorscheme colorsbox-stnight syntax on