mirror of
https://github.com/morhetz/gruvbox.git
synced 2025-11-18 00:03:38 -05:00
Neovim has support for embedded terminals. However, the colors do not inherit from the parent shell settings, and end up looking funky. This commit adds 16 color support for Neovim's terminal. See: https://github.com/neovim/neovim/issues/2897#issuecomment-115464516
1260 lines
32 KiB
VimL
1260 lines
32 KiB
VimL
" -----------------------------------------------------------------------------
|
|
" File: gruvbox.vim
|
|
" Description: Retro groove color scheme for Vim
|
|
" Author: morhetz <morhetz@gmail.com>
|
|
" Source: https://github.com/morhetz/gruvbox
|
|
" Last Modified: 04 Sep 2015
|
|
" -----------------------------------------------------------------------------
|
|
|
|
" Supporting code -------------------------------------------------------------
|
|
" Initialisation: {{{
|
|
|
|
if version > 580
|
|
hi clear
|
|
if exists("syntax_on")
|
|
syntax reset
|
|
endif
|
|
endif
|
|
|
|
let g:colors_name='gruvbox'
|
|
|
|
if !has('gui_running') && &t_Co != 256
|
|
finish
|
|
endif
|
|
|
|
" }}}
|
|
" Global Settings: {{{
|
|
|
|
if !exists('g:gruvbox_bold')
|
|
let g:gruvbox_bold=1
|
|
endif
|
|
if !exists('g:gruvbox_italic')
|
|
if has('gui_running') || $TERM_ITALICS == 'true'
|
|
let g:gruvbox_italic=1
|
|
else
|
|
let g:gruvbox_italic=0
|
|
endif
|
|
endif
|
|
if !exists('g:gruvbox_undercurl')
|
|
let g:gruvbox_undercurl=1
|
|
endif
|
|
if !exists('g:gruvbox_underline')
|
|
let g:gruvbox_underline=1
|
|
endif
|
|
if !exists('g:gruvbox_inverse')
|
|
let g:gruvbox_inverse=1
|
|
endif
|
|
|
|
if !exists('g:gruvbox_guisp_fallback') || index(['fg', 'bg'], g:gruvbox_guisp_fallback) == -1
|
|
let g:gruvbox_guisp_fallback='NONE'
|
|
endif
|
|
|
|
if !exists('g:gruvbox_improved_strings')
|
|
let g:gruvbox_improved_strings=0
|
|
endif
|
|
|
|
if !exists('g:gruvbox_improved_warnings')
|
|
let g:gruvbox_improved_warnings=0
|
|
endif
|
|
|
|
if !exists('g:gruvbox_termcolors')
|
|
let g:gruvbox_termcolors=256
|
|
endif
|
|
|
|
if !exists('g:gruvbox_invert_indent_guides')
|
|
let g:gruvbox_invert_indent_guides=0
|
|
endif
|
|
|
|
if exists('g:gruvbox_contrast')
|
|
echo 'g:gruvbox_contrast is deprecated; use g:gruvbox_contrast_light and g:gruvbox_contrast_dark instead'
|
|
endif
|
|
|
|
if !exists('g:gruvbox_contrast_dark')
|
|
let g:gruvbox_contrast_dark='medium'
|
|
endif
|
|
|
|
if !exists('g:gruvbox_contrast_light')
|
|
let g:gruvbox_contrast_light='medium'
|
|
endif
|
|
|
|
let s:is_dark=(&background == 'dark')
|
|
|
|
" }}}
|
|
" Palette: {{{
|
|
|
|
" setup palette dictionary
|
|
let s:gb = {}
|
|
|
|
" fill it with absolute colors
|
|
let s:gb.dark0_hard = ['#1d2021', 234] " 29-32-33
|
|
let s:gb.dark0 = ['#282828', 235] " 40-40-40
|
|
let s:gb.dark0_soft = ['#32302f', 236] " 50-48-47
|
|
let s:gb.dark1 = ['#3c3836', 237] " 60-56-54
|
|
let s:gb.dark2 = ['#504945', 239] " 80-73-69
|
|
let s:gb.dark3 = ['#665c54', 241] " 102-92-84
|
|
let s:gb.dark4 = ['#7c6f64', 243] " 124-111-100
|
|
let s:gb.dark4_256 = ['#7c6f64', 243] " 124-111-100
|
|
|
|
let s:gb.gray_245 = ['#928374', 245] " 146-131-116
|
|
let s:gb.gray_244 = ['#928374', 244] " 146-131-116
|
|
|
|
let s:gb.light0_hard = ['#f9f5d7', 230] " 249-245-215
|
|
let s:gb.light0 = ['#fdf4c1', 229] " 253-244-193
|
|
let s:gb.light0_soft = ['#f2e5bc', 228] " 242-229-188
|
|
let s:gb.light1 = ['#ebdbb2', 223] " 235-219-178
|
|
let s:gb.light2 = ['#d5c4a1', 250] " 213-196-161
|
|
let s:gb.light3 = ['#bdae93', 248] " 189-174-147
|
|
let s:gb.light4 = ['#a89984', 246] " 168-153-132
|
|
let s:gb.light4_256 = ['#a89984', 246] " 168-153-132
|
|
|
|
let s:gb.bright_red = ['#fb4934', 167] " 251-73-52
|
|
let s:gb.bright_green = ['#b8bb26', 142] " 184-187-38
|
|
let s:gb.bright_yellow = ['#fabd2f', 214] " 250-189-47
|
|
let s:gb.bright_blue = ['#83a598', 109] " 131-165-152
|
|
let s:gb.bright_purple = ['#d3869b', 175] " 211-134-155
|
|
let s:gb.bright_aqua = ['#8ec07c', 108] " 142-192-124
|
|
let s:gb.bright_orange = ['#fe8019', 208] " 254-128-25
|
|
|
|
let s:gb.neutral_red = ['#cc241d', 124] " 204-36-29
|
|
let s:gb.neutral_green = ['#98971a', 106] " 152-151-26
|
|
let s:gb.neutral_yellow = ['#d79921', 172] " 215-153-33
|
|
let s:gb.neutral_blue = ['#458588', 66] " 69-133-136
|
|
let s:gb.neutral_purple = ['#b16286', 132] " 177-98-134
|
|
let s:gb.neutral_aqua = ['#689d6a', 72] " 104-157-106
|
|
let s:gb.neutral_orange = ['#d65d0e', 166] " 214-93-14
|
|
|
|
let s:gb.faded_red = ['#9d0006', 88] " 157-0-6
|
|
let s:gb.faded_green = ['#79740e', 100] " 121-116-14
|
|
let s:gb.faded_yellow = ['#b57614', 136] " 181-118-20
|
|
let s:gb.faded_blue = ['#076678', 24] " 7-102-120
|
|
let s:gb.faded_purple = ['#8f3f71', 96] " 143-63-113
|
|
let s:gb.faded_aqua = ['#427b58', 66] " 66-123-88
|
|
let s:gb.faded_orange = ['#af3a03', 130] " 175-58-3
|
|
|
|
" }}}
|
|
" Setup Terminal Colors For Neovim: {{{
|
|
|
|
if has('nvim')
|
|
" dark0 + gray
|
|
let g:terminal_color_0 = "#282828"
|
|
let g:terminal_color_8 = "#928374"
|
|
|
|
" neurtral_red + bright_red
|
|
let g:terminal_color_1 = "#cc241d"
|
|
let g:terminal_color_9 = "#fb4934"
|
|
|
|
" neutral_green + bright_green
|
|
let g:terminal_color_2 = "#98971a"
|
|
let g:terminal_color_10 = "#b8bb26"
|
|
|
|
" neutral_yellow + bright_yellow
|
|
let g:terminal_color_3 = "#d79921"
|
|
let g:terminal_color_11 = "#fabd2f"
|
|
|
|
" neutral_blue + bright_blue
|
|
let g:terminal_color_4 = "#458588"
|
|
let g:terminal_color_12 = "#83a598"
|
|
|
|
" neutral_purple + bright_purple
|
|
let g:terminal_color_5 = "#b16286"
|
|
let g:terminal_color_13 = "#d3869b"
|
|
|
|
" neutral_aqua + faded_aqua
|
|
let g:terminal_color_6 = "#689d6a"
|
|
let g:terminal_color_14 = "#8ec07c"
|
|
|
|
" light4 + light1
|
|
let g:terminal_color_7 = "#a89984"
|
|
let g:terminal_color_15 = "#ebdbb2"
|
|
endif
|
|
|
|
" }}}
|
|
" Setup Emphasis: {{{
|
|
|
|
let s:bold = 'bold,'
|
|
if g:gruvbox_bold == 0
|
|
let s:bold = ''
|
|
endif
|
|
|
|
let s:italic = 'italic,'
|
|
if g:gruvbox_italic == 0
|
|
let s:italic = ''
|
|
endif
|
|
|
|
let s:underline = 'underline,'
|
|
if g:gruvbox_underline == 0
|
|
let s:underline = ''
|
|
endif
|
|
|
|
let s:undercurl = 'undercurl,'
|
|
if g:gruvbox_undercurl == 0
|
|
let s:undercurl = ''
|
|
endif
|
|
|
|
let s:inverse = 'inverse,'
|
|
if g:gruvbox_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']
|
|
|
|
" determine relative colors
|
|
if s:is_dark
|
|
let s:bg0 = s:gb.dark0
|
|
if g:gruvbox_contrast_dark == 'soft'
|
|
let s:bg0 = s:gb.dark0_soft
|
|
elseif g:gruvbox_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
|
|
else
|
|
let s:bg0 = s:gb.light0
|
|
if g:gruvbox_contrast_light == 'soft'
|
|
let s:bg0 = s:gb.light0_soft
|
|
elseif g:gruvbox_contrast_light == 'hard'
|
|
let s:bg0 = s:gb.light0_hard
|
|
endif
|
|
|
|
let s:bg1 = s:gb.light1
|
|
let s:bg2 = s:gb.light2
|
|
let s:bg3 = s:gb.light3
|
|
let s:bg4 = s:gb.light4
|
|
|
|
let s:gray = s:gb.gray_244
|
|
|
|
let s:fg0 = s:gb.dark0
|
|
let s:fg1 = s:gb.dark1
|
|
let s:fg2 = s:gb.dark2
|
|
let s:fg3 = s:gb.dark3
|
|
let s:fg4 = s:gb.dark4
|
|
|
|
let s:fg4_256 = s:gb.dark4_256
|
|
|
|
let s:red = s:gb.faded_red
|
|
let s:green = s:gb.faded_green
|
|
let s:yellow = s:gb.faded_yellow
|
|
let s:blue = s:gb.faded_blue
|
|
let s:purple = s:gb.faded_purple
|
|
let s:aqua = s:gb.faded_aqua
|
|
let s:orange = s:gb.faded_orange
|
|
endif
|
|
|
|
" reset to 16 colors fallback
|
|
if g:gruvbox_termcolors == 16
|
|
let s:bg0[1] = 0
|
|
let s:fg4[1] = 7
|
|
let s:gray[1] = 8
|
|
let s:red[1] = 9
|
|
let s:green[1] = 10
|
|
let s:yellow[1] = 11
|
|
let s:blue[1] = 12
|
|
let s:purple[1] = 13
|
|
let s:aqua[1] = 14
|
|
let s:fg1[1] = 15
|
|
endif
|
|
|
|
" save current relative colors back to palette dictionary
|
|
let s:gb.bg0 = s:bg0
|
|
let s:gb.bg1 = s:bg1
|
|
let s:gb.bg2 = s:bg2
|
|
let s:gb.bg3 = s:bg3
|
|
let s:gb.bg4 = s:bg4
|
|
|
|
let s:gb.gray = s:gray
|
|
|
|
let s:gb.fg0 = s:fg0
|
|
let s:gb.fg1 = s:fg1
|
|
let s:gb.fg2 = s:fg2
|
|
let s:gb.fg3 = s:fg3
|
|
let s:gb.fg4 = s:fg4
|
|
|
|
let s:gb.fg4_256 = s:fg4_256
|
|
|
|
let s:gb.red = s:red
|
|
let s:gb.green = s:green
|
|
let s:gb.yellow = s:yellow
|
|
let s:gb.blue = s:blue
|
|
let s:gb.purple = s:purple
|
|
let s:gb.aqua = s:aqua
|
|
let s:gb.orange = s:orange
|
|
|
|
" }}}
|
|
|
|
" Overload Setting: {{{
|
|
|
|
let s:hls_cursor = s:orange
|
|
if exists('g:gruvbox_hls_cursor')
|
|
let s:hls_cursor = get(s:gb, g:gruvbox_hls_cursor)
|
|
endif
|
|
|
|
let s:number_column = s:bg4
|
|
let s:sign_column = s:bg1
|
|
|
|
if exists('g:gitgutter_override_sign_column_highlight') &&
|
|
\ g:gitgutter_override_sign_column_highlight == 1
|
|
let s:sign_column = s:number_column
|
|
else
|
|
let g:gitgutter_override_sign_column_highlight = 0
|
|
|
|
if exists('g:gruvbox_sign_column')
|
|
let s:sign_column = get(s:gb, g:gruvbox_sign_column)
|
|
endif
|
|
endif
|
|
|
|
let s:color_column = s:bg1
|
|
if exists('g:gruvbox_color_column')
|
|
let s:color_column = get(s:gb, g:gruvbox_color_column)
|
|
endif
|
|
|
|
let s:vert_split = s:bg2
|
|
if exists('g:gruvbox_vert_split')
|
|
let s:vert_split = get(s:gb, g:gruvbox_vert_split)
|
|
endif
|
|
|
|
let s:invert_signs = ''
|
|
if exists('g:gruvbox_invert_signs')
|
|
if g:gruvbox_invert_signs == 1
|
|
let s:invert_signs = s:inverse
|
|
endif
|
|
endif
|
|
|
|
let s:invert_selection = s:inverse
|
|
if exists('g:gruvbox_invert_selection')
|
|
if g:gruvbox_invert_selection == 0
|
|
let s:invert_selection = ''
|
|
endif
|
|
endif
|
|
|
|
let s:invert_tabline = ''
|
|
if exists('g:gruvbox_invert_tabline')
|
|
if g:gruvbox_invert_tabline == 1
|
|
let s:invert_tabline = s:inverse
|
|
endif
|
|
endif
|
|
|
|
let s:italicize_comments = s:italic
|
|
if exists('g:gruvbox_italicize_comments')
|
|
if g:gruvbox_italicize_comments == 0
|
|
let s:italicize_comments = ''
|
|
endif
|
|
endif
|
|
|
|
let s:italicize_strings = ''
|
|
if exists('g:gruvbox_italicize_strings')
|
|
if g:gruvbox_italicize_strings == 1
|
|
let s:italicize_strings = s:italic
|
|
endif
|
|
endif
|
|
|
|
" }}}
|
|
" Highlighting Function: {{{
|
|
|
|
function! s:HL(group, fg, ...)
|
|
" Arguments: group, guifg, guibg, gui, guisp
|
|
|
|
" 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:gruvbox_guisp_fallback != 'NONE'
|
|
let fg = a:3
|
|
endif
|
|
|
|
" bg fallback mode should invert higlighting
|
|
if g:gruvbox_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
|
|
|
|
" }}}
|
|
" Gruvbox Hi Groups: {{{
|
|
|
|
" memoize common hi groups
|
|
call s:HL('GruvboxFg0', s:fg0)
|
|
call s:HL('GruvboxFg1', s:fg1)
|
|
call s:HL('GruvboxFg2', s:fg2)
|
|
call s:HL('GruvboxFg3', s:fg3)
|
|
call s:HL('GruvboxFg4', s:fg4)
|
|
call s:HL('GruvboxGray', s:gray)
|
|
call s:HL('GruvboxBg0', s:bg0)
|
|
call s:HL('GruvboxBg1', s:bg1)
|
|
call s:HL('GruvboxBg2', s:bg2)
|
|
call s:HL('GruvboxBg3', s:bg3)
|
|
call s:HL('GruvboxBg4', s:bg4)
|
|
|
|
call s:HL('GruvboxRed', s:red)
|
|
call s:HL('GruvboxRedBold', s:red, s:none, s:bold)
|
|
call s:HL('GruvboxGreen', s:green)
|
|
call s:HL('GruvboxGreenBold', s:green, s:none, s:bold)
|
|
call s:HL('GruvboxYellow', s:yellow)
|
|
call s:HL('GruvboxYellowBold', s:yellow, s:none, s:bold)
|
|
call s:HL('GruvboxBlue', s:blue)
|
|
call s:HL('GruvboxBlueBold', s:blue, s:none, s:bold)
|
|
call s:HL('GruvboxPurple', s:purple)
|
|
call s:HL('GruvboxPurpleBold', s:purple, s:none, s:bold)
|
|
call s:HL('GruvboxAqua', s:aqua)
|
|
call s:HL('GruvboxAquaBold', s:aqua, s:none, s:bold)
|
|
call s:HL('GruvboxOrange', s:orange)
|
|
call s:HL('GruvboxOrangeBold', s:orange, s:none, s:bold)
|
|
|
|
call s:HL('GruvboxRedSign', s:red, s:sign_column, s:invert_signs)
|
|
call s:HL('GruvboxGreenSign', s:green, s:sign_column, s:invert_signs)
|
|
call s:HL('GruvboxYellowSign', s:yellow, s:sign_column, s:invert_signs)
|
|
call s:HL('GruvboxBlueSign', s:blue, s:sign_column, s:invert_signs)
|
|
call s:HL('GruvboxPurpleSign', s:purple, s:sign_column, s:invert_signs)
|
|
call s:HL('GruvboxAquaSign', s:aqua, s:sign_column, s:invert_signs)
|
|
|
|
" }}}
|
|
|
|
" Vanilla colorscheme ---------------------------------------------------------
|
|
" General UI: {{{
|
|
|
|
" Normal text
|
|
call s:HL('Normal', s:fg1, s:bg0)
|
|
|
|
" Correct background (see issue #7):
|
|
" --- Problem with changing between dark and light on 256 color terminal
|
|
" --- https://github.com/morhetz/gruvbox/issues/7
|
|
if s:is_dark
|
|
set background=dark
|
|
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)
|
|
endif
|
|
|
|
hi! link NonText GruvboxBg2
|
|
hi! link SpecialKey GruvboxBg2
|
|
|
|
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 GruvboxGreenBold
|
|
|
|
" Titles for output from :set all, :autocmd, etc.
|
|
hi! link Title GruvboxGreenBold
|
|
|
|
" Error messages on the command line
|
|
call s:HL('ErrorMsg', s:vim_bg, s:red, s:bold)
|
|
" More prompt: -- More --
|
|
hi! link MoreMsg GruvboxYellowBold
|
|
" Current mode message: -- INSERT --
|
|
hi! link ModeMsg GruvboxYellowBold
|
|
" 'Press enter' prompt and yes/no questions
|
|
hi! link Question GruvboxOrangeBold
|
|
" Warning messages
|
|
hi! link WarningMsg GruvboxRedBold
|
|
|
|
" }}}
|
|
" 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:gruvbox_improved_strings == 0
|
|
hi! link Special GruvboxOrange
|
|
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 GruvboxRed
|
|
" if, then, else, endif, swicth, etc.
|
|
hi! link Conditional GruvboxRed
|
|
" for, do, while, etc.
|
|
hi! link Repeat GruvboxRed
|
|
" case, default, etc.
|
|
hi! link Label GruvboxRed
|
|
" try, catch, throw
|
|
hi! link Exception GruvboxRed
|
|
" sizeof, "+", "*", etc.
|
|
hi! link Operator Normal
|
|
" Any other keyword
|
|
hi! link Keyword GruvboxRed
|
|
|
|
" Variable name
|
|
hi! link Identifier GruvboxBlue
|
|
" Function name
|
|
hi! link Function GruvboxGreenBold
|
|
|
|
" Generic preprocessor
|
|
hi! link PreProc GruvboxAqua
|
|
" Preprocessor #include
|
|
hi! link Include GruvboxAqua
|
|
" Preprocessor #define
|
|
hi! link Define GruvboxAqua
|
|
" Same as Define
|
|
hi! link Macro GruvboxAqua
|
|
" Preprocessor #if, #else, #endif, etc.
|
|
hi! link PreCondit GruvboxAqua
|
|
|
|
" Generic constant
|
|
hi! link Constant GruvboxPurple
|
|
" Character constant: 'c', '/n'
|
|
hi! link Character GruvboxPurple
|
|
" String constant: "this is a string"
|
|
if g:gruvbox_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 GruvboxPurple
|
|
" Number constant: 234, 0xff
|
|
hi! link Number GruvboxPurple
|
|
" Floating point constant: 2.3e10
|
|
hi! link Float GruvboxPurple
|
|
|
|
" Generic type
|
|
hi! link Type GruvboxYellow
|
|
" static, register, volatile, etc
|
|
hi! link StorageClass GruvboxOrange
|
|
" struct, union, enum, etc.
|
|
hi! link Structure GruvboxAqua
|
|
" typedef
|
|
hi! link Typedef GruvboxYellow
|
|
|
|
" }}}
|
|
" 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:gruvbox_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:gruvbox_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 GruvboxGreenSign
|
|
hi! link GitGutterChange GruvboxAquaSign
|
|
hi! link GitGutterDelete GruvboxRedSign
|
|
hi! link GitGutterChangeDelete GruvboxAquaSign
|
|
|
|
" }}}
|
|
" GitCommit: "{{{
|
|
|
|
hi! link gitcommitSelectedFile GruvboxGreen
|
|
hi! link gitcommitDiscardedFile GruvboxRed
|
|
|
|
" }}}
|
|
" Signify: {{{
|
|
|
|
hi! link SignifySignAdd GruvboxGreenSign
|
|
hi! link SignifySignChange GruvboxAquaSign
|
|
hi! link SignifySignDelete GruvboxRedSign
|
|
|
|
" }}}
|
|
" 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 GruvboxRedSign
|
|
hi! link SyntasticWarningSign GruvboxYellowSign
|
|
|
|
" }}}
|
|
" Signature: {{{
|
|
|
|
hi! link SignatureMarkerText GruvboxPurpleSign
|
|
hi! link SignatureMarkText GruvboxBlueSign
|
|
|
|
let g:SignatureMarkerTextHL='"SignatureMarkerText"'
|
|
let g:SignatureMarkTextHL='"SignatureMarkText"'
|
|
|
|
" }}}
|
|
" ShowMarks: {{{
|
|
|
|
hi! link ShowMarksHLl GruvboxBlueSign
|
|
hi! link ShowMarksHLu GruvboxBlueSign
|
|
hi! link ShowMarksHLo GruvboxBlueSign
|
|
hi! link ShowMarksHLm GruvboxBlueSign
|
|
|
|
" }}}
|
|
" CtrlP: {{{
|
|
|
|
hi! link CtrlPMatch GruvboxYellow
|
|
hi! link CtrlPNoEntries GruvboxRed
|
|
hi! link CtrlPPrtBase GruvboxBg2
|
|
hi! link CtrlPPrtCursor GruvboxBlue
|
|
hi! link CtrlPLinePre GruvboxBg2
|
|
|
|
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 GruvboxFg3
|
|
hi! link StartifyFile GruvboxFg0
|
|
hi! link StartifyNumber GruvboxBlue
|
|
hi! link StartifyPath GruvboxGray
|
|
hi! link StartifySlash GruvboxGray
|
|
hi! link StartifySection GruvboxYellow
|
|
hi! link StartifySpecial GruvboxBg2
|
|
hi! link StartifyHeader GruvboxOrange
|
|
hi! link StartifyFooter GruvboxBg2
|
|
|
|
" }}}
|
|
" 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]
|
|
\ ]
|
|
|
|
" }}}
|
|
" BufTabLine: {{{
|
|
|
|
call s:HL('BufTabLineCurrent', s:bg0, s:fg4)
|
|
call s:HL('BufTabLineActive', s:fg4, s:bg2)
|
|
call s:HL('BufTabLineHidden', s:bg4, s:bg1)
|
|
call s:HL('BufTabLineFill', s:bg0, s:bg0)
|
|
|
|
" }}}
|
|
|
|
" Filetype specific -----------------------------------------------------------
|
|
" Diff: {{{
|
|
|
|
hi! link diffAdded GruvboxGreen
|
|
hi! link diffRemoved GruvboxRed
|
|
hi! link diffChanged GruvboxAqua
|
|
|
|
hi! link diffFile GruvboxOrange
|
|
hi! link diffNewFile GruvboxYellow
|
|
|
|
hi! link diffLine GruvboxBlue
|
|
|
|
" }}}
|
|
" Html: {{{
|
|
|
|
hi! link htmlTag GruvboxBlue
|
|
hi! link htmlEndTag GruvboxBlue
|
|
|
|
hi! link htmlTagName GruvboxAquaBold
|
|
hi! link htmlArg GruvboxAqua
|
|
|
|
hi! link htmlScriptTag GruvboxPurple
|
|
hi! link htmlTagN GruvboxFg1
|
|
hi! link htmlSpecialTagName GruvboxAquaBold
|
|
|
|
call s:HL('htmlLink', s:fg4, s:none, s:underline)
|
|
|
|
hi! link htmlSpecialChar GruvboxOrange
|
|
|
|
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 GruvboxBlue
|
|
hi! link xmlEndTag GruvboxBlue
|
|
hi! link xmlTagName GruvboxBlue
|
|
hi! link xmlEqual GruvboxBlue
|
|
hi! link docbkKeyword GruvboxAquaBold
|
|
|
|
hi! link xmlDocTypeDecl GruvboxGray
|
|
hi! link xmlDocTypeKeyword GruvboxPurple
|
|
hi! link xmlCdataStart GruvboxGray
|
|
hi! link xmlCdataCdata GruvboxPurple
|
|
hi! link dtdFunction GruvboxGray
|
|
hi! link dtdTagName GruvboxPurple
|
|
|
|
hi! link xmlAttrib GruvboxAqua
|
|
hi! link xmlProcessingDelim GruvboxGray
|
|
hi! link dtdParamEntityPunct GruvboxGray
|
|
hi! link dtdParamEntityDPunct GruvboxGray
|
|
hi! link xmlAttribPunct GruvboxGray
|
|
|
|
hi! link xmlEntity GruvboxOrange
|
|
hi! link xmlEntityPunct GruvboxOrange
|
|
" }}}
|
|
" Vim: {{{
|
|
|
|
call s:HL('vimCommentTitle', s:fg4_256, s:none, s:bold . s:italicize_comments)
|
|
|
|
hi! link vimNotation GruvboxOrange
|
|
hi! link vimBracket GruvboxOrange
|
|
hi! link vimMapModKey GruvboxOrange
|
|
hi! link vimFuncSID GruvboxFg3
|
|
hi! link vimSetSep GruvboxFg3
|
|
hi! link vimSep GruvboxFg3
|
|
hi! link vimContinue GruvboxFg3
|
|
|
|
" }}}
|
|
" Clojure: {{{
|
|
|
|
hi! link clojureKeyword GruvboxBlue
|
|
hi! link clojureCond GruvboxOrange
|
|
hi! link clojureSpecial GruvboxOrange
|
|
hi! link clojureDefine GruvboxOrange
|
|
|
|
hi! link clojureFunc GruvboxYellow
|
|
hi! link clojureRepeat GruvboxYellow
|
|
hi! link clojureCharacter GruvboxAqua
|
|
hi! link clojureStringEscape GruvboxAqua
|
|
hi! link clojureException GruvboxRed
|
|
|
|
hi! link clojureRegexp GruvboxAqua
|
|
hi! link clojureRegexpEscape GruvboxAqua
|
|
call s:HL('clojureRegexpCharClass', s:fg3, s:none, s:bold)
|
|
hi! link clojureRegexpMod clojureRegexpCharClass
|
|
hi! link clojureRegexpQuantifier clojureRegexpCharClass
|
|
|
|
hi! link clojureParen GruvboxFg3
|
|
hi! link clojureAnonArg GruvboxYellow
|
|
hi! link clojureVariable GruvboxBlue
|
|
hi! link clojureMacro GruvboxOrange
|
|
|
|
hi! link clojureMeta GruvboxYellow
|
|
hi! link clojureDeref GruvboxYellow
|
|
hi! link clojureQuote GruvboxYellow
|
|
hi! link clojureUnquote GruvboxYellow
|
|
|
|
" }}}
|
|
" C: {{{
|
|
|
|
hi! link cOperator GruvboxPurple
|
|
hi! link cStructure GruvboxOrange
|
|
|
|
" }}}
|
|
" Python: {{{
|
|
|
|
hi! link pythonBuiltin GruvboxOrange
|
|
hi! link pythonBuiltinObj GruvboxOrange
|
|
hi! link pythonBuiltinFunc GruvboxOrange
|
|
hi! link pythonFunction GruvboxAqua
|
|
hi! link pythonDecorator GruvboxRed
|
|
hi! link pythonInclude GruvboxBlue
|
|
hi! link pythonImport GruvboxBlue
|
|
hi! link pythonRun GruvboxBlue
|
|
hi! link pythonCoding GruvboxBlue
|
|
hi! link pythonOperator GruvboxRed
|
|
hi! link pythonExceptions GruvboxPurple
|
|
hi! link pythonBoolean GruvboxPurple
|
|
hi! link pythonDot GruvboxFg3
|
|
|
|
" }}}
|
|
" CSS: {{{
|
|
|
|
hi! link cssBraces GruvboxBlue
|
|
hi! link cssFunctionName GruvboxYellow
|
|
hi! link cssIdentifier GruvboxOrange
|
|
hi! link cssClassName GruvboxGreen
|
|
hi! link cssColor GruvboxBlue
|
|
hi! link cssSelectorOp GruvboxBlue
|
|
hi! link cssSelectorOp2 GruvboxBlue
|
|
hi! link cssImportant GruvboxGreen
|
|
hi! link cssVendor GruvboxFg1
|
|
|
|
hi! link cssTextProp GruvboxAqua
|
|
hi! link cssAnimationProp GruvboxAqua
|
|
hi! link cssUIProp GruvboxYellow
|
|
hi! link cssTransformProp GruvboxAqua
|
|
hi! link cssTransitionProp GruvboxAqua
|
|
hi! link cssPrintProp GruvboxAqua
|
|
hi! link cssPositioningProp GruvboxYellow
|
|
hi! link cssBoxProp GruvboxAqua
|
|
hi! link cssFontDescriptorProp GruvboxAqua
|
|
hi! link cssFlexibleBoxProp GruvboxAqua
|
|
hi! link cssBorderOutlineProp GruvboxAqua
|
|
hi! link cssBackgroundProp GruvboxAqua
|
|
hi! link cssMarginProp GruvboxAqua
|
|
hi! link cssListProp GruvboxAqua
|
|
hi! link cssTableProp GruvboxAqua
|
|
hi! link cssFontProp GruvboxAqua
|
|
hi! link cssPaddingProp GruvboxAqua
|
|
hi! link cssDimensionProp GruvboxAqua
|
|
hi! link cssRenderProp GruvboxAqua
|
|
hi! link cssColorProp GruvboxAqua
|
|
hi! link cssGeneratedContentProp GruvboxAqua
|
|
|
|
" }}}
|
|
" JavaScript: {{{
|
|
|
|
hi! link javaScriptBraces GruvboxFg1
|
|
hi! link javaScriptFunction GruvboxAqua
|
|
hi! link javaScriptIdentifier GruvboxRed
|
|
hi! link javaScriptMember GruvboxBlue
|
|
hi! link javaScriptNumber GruvboxPurple
|
|
hi! link javaScriptNull GruvboxPurple
|
|
hi! link javaScriptParens GruvboxFg3
|
|
|
|
" }}}
|
|
" YAJS: {{{
|
|
|
|
hi! link javascriptImport GruvboxAqua
|
|
hi! link javascriptExport GruvboxAqua
|
|
hi! link javascriptClassKeyword GruvboxAqua
|
|
hi! link javascriptClassExtends GruvboxAqua
|
|
hi! link javascriptDefault GruvboxAqua
|
|
|
|
hi! link javascriptClassName GruvboxYellow
|
|
hi! link javascriptClassSuperName GruvboxYellow
|
|
hi! link javascriptGlobal GruvboxYellow
|
|
|
|
hi! link javascriptEndColons GruvboxFg1
|
|
hi! link javascriptFuncArg GruvboxFg1
|
|
hi! link javascriptGlobalMethod GruvboxFg1
|
|
hi! link javascriptNodeGlobal GruvboxFg1
|
|
|
|
" hi! link javascriptVariable GruvboxOrange
|
|
hi! link javascriptVariable GruvboxRed
|
|
" hi! link javascriptIdentifier GruvboxOrange
|
|
" hi! link javascriptClassSuper GruvboxOrange
|
|
hi! link javascriptIdentifier GruvboxOrange
|
|
hi! link javascriptClassSuper GruvboxOrange
|
|
|
|
" hi! link javascriptFuncKeyword GruvboxOrange
|
|
" hi! link javascriptAsyncFunc GruvboxOrange
|
|
hi! link javascriptFuncKeyword GruvboxAqua
|
|
hi! link javascriptAsyncFunc GruvboxAqua
|
|
hi! link javascriptClassStatic GruvboxOrange
|
|
|
|
hi! link javascriptOperator GruvboxRed
|
|
hi! link javascriptForOperator GruvboxRed
|
|
hi! link javascriptYield GruvboxRed
|
|
hi! link javascriptExceptions GruvboxRed
|
|
hi! link javascriptMessage GruvboxRed
|
|
|
|
hi! link javascriptTemplateSB GruvboxAqua
|
|
hi! link javascriptTemplateSubstitution GruvboxFg1
|
|
|
|
" hi! link javascriptLabel GruvboxBlue
|
|
" hi! link javascriptObjectLabel GruvboxBlue
|
|
" hi! link javascriptPropertyName GruvboxBlue
|
|
hi! link javascriptLabel GruvboxFg1
|
|
hi! link javascriptObjectLabel GruvboxFg1
|
|
hi! link javascriptPropertyName GruvboxFg1
|
|
|
|
hi! link javascriptLogicSymbols GruvboxFg1
|
|
hi! link javascriptArrowFunc GruvboxFg1
|
|
|
|
hi! link javascriptDocParamName GruvboxFg4
|
|
hi! link javascriptDocTags GruvboxFg4
|
|
hi! link javascriptDocNotation GruvboxFg4
|
|
hi! link javascriptDocParamType GruvboxFg4
|
|
hi! link javascriptDocNamedParamType GruvboxFg4
|
|
|
|
" }}}
|
|
" CoffeeScript: {{{
|
|
|
|
hi! link coffeeExtendedOp GruvboxFg3
|
|
hi! link coffeeSpecialOp GruvboxFg3
|
|
hi! link coffeeCurly GruvboxOrange
|
|
hi! link coffeeParen GruvboxFg3
|
|
hi! link coffeeBracket GruvboxOrange
|
|
|
|
" }}}
|
|
" Ruby: {{{
|
|
|
|
hi! link rubyStringDelimiter GruvboxGreen
|
|
hi! link rubyInterpolationDelimiter GruvboxAqua
|
|
|
|
" }}}
|
|
" ObjectiveC: {{{
|
|
|
|
hi! link objcTypeModifier GruvboxRed
|
|
hi! link objcDirective GruvboxBlue
|
|
|
|
" }}}
|
|
" Go: {{{
|
|
|
|
hi! link goDirective GruvboxAqua
|
|
hi! link goConstants GruvboxPurple
|
|
hi! link goDeclaration GruvboxRed
|
|
hi! link goDeclType GruvboxBlue
|
|
hi! link goBuiltins GruvboxOrange
|
|
|
|
" }}}
|
|
" Lua: {{{
|
|
|
|
hi! link luaIn GruvboxRed
|
|
hi! link luaFunction GruvboxAqua
|
|
hi! link luaTable GruvboxOrange
|
|
|
|
" }}}
|
|
" MoonScript: {{{
|
|
|
|
hi! link moonSpecialOp GruvboxFg3
|
|
hi! link moonExtendedOp GruvboxFg3
|
|
hi! link moonFunction GruvboxFg3
|
|
hi! link moonObject GruvboxYellow
|
|
|
|
" }}}
|
|
" Java: {{{
|
|
|
|
hi! link javaAnnotation GruvboxBlue
|
|
hi! link javaDocTags GruvboxAqua
|
|
hi! link javaCommentTitle vimCommentTitle
|
|
hi! link javaParen GruvboxFg3
|
|
hi! link javaParen1 GruvboxFg3
|
|
hi! link javaParen2 GruvboxFg3
|
|
hi! link javaParen3 GruvboxFg3
|
|
hi! link javaParen4 GruvboxFg3
|
|
hi! link javaParen5 GruvboxFg3
|
|
hi! link javaOperator GruvboxOrange
|
|
|
|
hi! link javaVarArg GruvboxGreen
|
|
|
|
" }}}
|
|
" Elixir: {{{
|
|
|
|
hi! link elixirDocString Comment
|
|
|
|
hi! link elixirStringDelimiter GruvboxGreen
|
|
hi! link elixirInterpolationDelimiter GruvboxAqua
|
|
|
|
" }}}
|
|
" Scala: {{{
|
|
|
|
" NB: scala vim syntax file is kinda horrible
|
|
hi! link scalaNameDefinition GruvboxFg1
|
|
hi! link scalaCaseFollowing GruvboxFg1
|
|
hi! link scalaCapitalWord GruvboxFg1
|
|
hi! link scalaTypeExtension GruvboxFg1
|
|
|
|
hi! link scalaKeyword GruvboxRed
|
|
hi! link scalaKeywordModifier GruvboxRed
|
|
|
|
hi! link scalaSpecial GruvboxAqua
|
|
hi! link scalaOperator GruvboxFg1
|
|
|
|
hi! link scalaTypeDeclaration GruvboxYellow
|
|
hi! link scalaTypeTypePostDeclaration GruvboxYellow
|
|
|
|
hi! link scalaInstanceDeclaration GruvboxFg1
|
|
hi! link scalaInterpolation GruvboxAqua
|
|
|
|
" }}}
|
|
" Markdown: {{{
|
|
|
|
call s:HL('markdownItalic', s:fg3, s:none, s:italic)
|
|
|
|
hi! link markdownH1 GruvboxGreenBold
|
|
hi! link markdownH2 GruvboxGreenBold
|
|
hi! link markdownH3 GruvboxYellowBold
|
|
hi! link markdownH4 GruvboxYellowBold
|
|
hi! link markdownH5 GruvboxYellow
|
|
hi! link markdownH6 GruvboxYellow
|
|
|
|
hi! link markdownCode GruvboxAqua
|
|
hi! link markdownCodeBlock GruvboxAqua
|
|
hi! link markdownCodeDelimiter GruvboxAqua
|
|
|
|
hi! link markdownBlockquote GruvboxGray
|
|
hi! link markdownListMarker GruvboxGray
|
|
hi! link markdownOrderedListMarker GruvboxGray
|
|
hi! link markdownRule GruvboxGray
|
|
hi! link markdownHeadingRule GruvboxGray
|
|
|
|
hi! link markdownUrlDelimiter GruvboxFg3
|
|
hi! link markdownLinkDelimiter GruvboxFg3
|
|
hi! link markdownLinkTextDelimiter GruvboxFg3
|
|
|
|
hi! link markdownHeadingDelimiter GruvboxOrange
|
|
hi! link markdownUrl GruvboxPurple
|
|
hi! link markdownUrlTitleDelimiter GruvboxGreen
|
|
|
|
call s:HL('markdownLinkText', s:gray, s:none, s:underline)
|
|
hi! link markdownIdDeclaration markdownLinkText
|
|
|
|
" }}}
|
|
" Haskell: {{{
|
|
|
|
" hi! link haskellType GruvboxYellow
|
|
" hi! link haskellOperators GruvboxOrange
|
|
" hi! link haskellConditional GruvboxAqua
|
|
" hi! link haskellLet GruvboxOrange
|
|
"
|
|
hi! link haskellType GruvboxFg1
|
|
hi! link haskellIdentifier GruvboxFg1
|
|
hi! link haskellSeparator GruvboxFg1
|
|
hi! link haskellDelimiter GruvboxFg4
|
|
hi! link haskellOperators GruvboxBlue
|
|
"
|
|
hi! link haskellBacktick GruvboxOrange
|
|
hi! link haskellStatement GruvboxOrange
|
|
hi! link haskellConditional GruvboxOrange
|
|
|
|
hi! link haskellLet GruvboxAqua
|
|
hi! link haskellDefault GruvboxAqua
|
|
hi! link haskellWhere GruvboxAqua
|
|
hi! link haskellBottom GruvboxAqua
|
|
hi! link haskellBlockKeywords GruvboxAqua
|
|
hi! link haskellImportKeywords GruvboxAqua
|
|
hi! link haskellDeclKeyword GruvboxAqua
|
|
hi! link haskellDeriving GruvboxAqua
|
|
hi! link haskellAssocType GruvboxAqua
|
|
|
|
hi! link haskellNumber GruvboxPurple
|
|
hi! link haskellPragma GruvboxPurple
|
|
|
|
hi! link haskellString GruvboxGreen
|
|
hi! link haskellChar GruvboxGreen
|
|
|
|
" }}}
|
|
" Json: {{{
|
|
|
|
hi! link jsonKeyword GruvboxGreen
|
|
hi! link jsonQuote GruvboxGreen
|
|
hi! link jsonBraces GruvboxFg1
|
|
hi! link jsonString GruvboxFg1
|
|
|
|
" }}}
|
|
|
|
|
|
" Functions -------------------------------------------------------------------
|
|
" Search Highlighting Cursor {{{
|
|
|
|
function! GruvboxHlsShowCursor()
|
|
call s:HL('Cursor', s:bg0, s:hls_cursor)
|
|
endfunction
|
|
|
|
function! GruvboxHlsHideCursor()
|
|
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:
|