[
  {
    "path": "CHANGELOG.md",
    "content": "# Change Log\n\n## [Unreleased](https://github.com/morhetz/gruvbox/tree/HEAD)\n\n[Full Changelog](https://github.com/morhetz/gruvbox/compare/v1.3.5...HEAD)\n\n**Fixed bugs:**\n\n- Lighter background on terminal [\\#8](https://github.com/morhetz/gruvbox/issues/8)\n\n**Closed issues:**\n\n- Installation issue. [\\#54](https://github.com/morhetz/gruvbox/issues/54)\n\n- Italic font in terminal\\(urxvt\\) [\\#49](https://github.com/morhetz/gruvbox/issues/49)\n\n- Unable to log in when sourcing the palette shellscript [\\#48](https://github.com/morhetz/gruvbox/issues/48)\n\n- How can i modify multiple comment scheme [\\#46](https://github.com/morhetz/gruvbox/issues/46)\n\n- Remove comment highlight in iterm [\\#44](https://github.com/morhetz/gruvbox/issues/44)\n\n- Comments looking strange withing tmux [\\#43](https://github.com/morhetz/gruvbox/issues/43)\n\n- comments are reverse-video in xterm [\\#41](https://github.com/morhetz/gruvbox/issues/41)\n\n- What font are you using in the screenshots? [\\#39](https://github.com/morhetz/gruvbox/issues/39)\n\n- vim-signature crashes when I use gruvbox [\\#38](https://github.com/morhetz/gruvbox/issues/38)\n\n- Color of statusbar in inactive windows [\\#37](https://github.com/morhetz/gruvbox/issues/37)\n\n- Go method and struct highlighting missing [\\#36](https://github.com/morhetz/gruvbox/issues/36)\n\n- gruvbox\\_256palette.sh doesn't work for Konsole [\\#35](https://github.com/morhetz/gruvbox/issues/35)\n\n- Contrast in jekyll markdown files [\\#33](https://github.com/morhetz/gruvbox/issues/33)\n\n- Pentadactyl Gruvbox Theme [\\#32](https://github.com/morhetz/gruvbox/issues/32)\n\n- make vertsplit better [\\#31](https://github.com/morhetz/gruvbox/issues/31)\n\n- Console support. [\\#30](https://github.com/morhetz/gruvbox/issues/30)\n\n- How can I change the background color? [\\#29](https://github.com/morhetz/gruvbox/issues/29)\n\n- Some words are not bold [\\#28](https://github.com/morhetz/gruvbox/issues/28)\n\n- Terminal theme on base gruvbox [\\#25](https://github.com/morhetz/gruvbox/issues/25)\n\n- Markdown has inverted colors when using \\* [\\#24](https://github.com/morhetz/gruvbox/issues/24)\n\n- how install it on mac osx [\\#23](https://github.com/morhetz/gruvbox/issues/23)\n\n- Comments color for Terminal Vim [\\#22](https://github.com/morhetz/gruvbox/issues/22)\n\n- Move palette files to gruvbox-generalized [\\#20](https://github.com/morhetz/gruvbox/issues/20)\n\n- Maybe add Gruvbox Airline theme? [\\#19](https://github.com/morhetz/gruvbox/issues/19)\n\n- For Sublime text [\\#18](https://github.com/morhetz/gruvbox/issues/18)\n\n**Merged pull requests:**\n\n- Fix the 256 palette script failed login issue [\\#53](https://github.com/morhetz/gruvbox/pull/53) ([jonasmalacofilho](https://github.com/jonasmalacofilho))\n\n- add minimal coloring for gitcommit highlighting [\\#52](https://github.com/morhetz/gruvbox/pull/52) ([daniely](https://github.com/daniely))\n\n- For terminals, turn off italics by default. [\\#47](https://github.com/morhetz/gruvbox/pull/47) ([ryanmjacobs](https://github.com/ryanmjacobs))\n\n- Change color of vertical/horizontal seperators between split windows [\\#45](https://github.com/morhetz/gruvbox/pull/45) ([deshtop](https://github.com/deshtop))\n\n- Improve gruvbox with C code [\\#34](https://github.com/morhetz/gruvbox/pull/34) ([gladiac](https://github.com/gladiac))\n\n- Fix for linux console [\\#27](https://github.com/morhetz/gruvbox/pull/27) ([vyp](https://github.com/vyp))\n\n- Colors for plugin vimshell.vim [\\#21](https://github.com/morhetz/gruvbox/pull/21) ([joelmo](https://github.com/joelmo))\n\n## [v1.3.5](https://github.com/morhetz/gruvbox/tree/v1.3.5) (2014-03-19)\n\n[Full Changelog](https://github.com/morhetz/gruvbox/compare/v0.0.8...v1.3.5)\n\n**Implemented enhancements:**\n\n- Better selection colors [\\#15](https://github.com/morhetz/gruvbox/issues/15)\n\n- When hlsearch is on, the cursor inverts the search color and not visible [\\#2](https://github.com/morhetz/gruvbox/issues/2)\n\n**Fixed bugs:**\n\n- Problem with changing between dark and light on 256 color terminal [\\#7](https://github.com/morhetz/gruvbox/issues/7)\n\n- IndentGuides coloring doesn't show up [\\#1](https://github.com/morhetz/gruvbox/issues/1)\n\n**Closed issues:**\n\n- Requesting rxvt-unicode theme [\\#17](https://github.com/morhetz/gruvbox/issues/17)\n\n- gruvbox\\_256palette.sh gets reset \\(gnome-terminal on Ubuntu\\) [\\#13](https://github.com/morhetz/gruvbox/issues/13)\n\n- Powerline colors [\\#12](https://github.com/morhetz/gruvbox/issues/12)\n\n- Info necessary for making a port of this colorscheme [\\#10](https://github.com/morhetz/gruvbox/issues/10)\n\n**Merged pull requests:**\n\n- Fix GNU screen detection for \\*-bce [\\#16](https://github.com/morhetz/gruvbox/pull/16) ([blueyed](https://github.com/blueyed))\n\n- Added iTerm2 dark theme [\\#11](https://github.com/morhetz/gruvbox/pull/11) ([Greduan](https://github.com/Greduan))\n\n- Fix typo in Readme [\\#5](https://github.com/morhetz/gruvbox/pull/5) ([ViViDboarder](https://github.com/ViViDboarder))\n\n## [v0.0.8](https://github.com/morhetz/gruvbox/tree/v0.0.8) (2012-12-08)\n\n\n\n\\* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)*"
  },
  {
    "path": "README.md",
    "content": "<p align=\"center\"><img src=\"https://morhetz.com/gruvbox.svg\"></p>\n\ngruvbox is heavily inspired by [badwolf][], [jellybeans][] and [solarized][].\n\nDesigned as a bright theme with pastel 'retro groove' colors and light/dark mode switching in the way of [solarized][]. The main focus when developing gruvbox is to keep colors easily distinguishable, contrast enough and still pleasant for the eyes.\n\n   [badwolf]: https://github.com/sjl/badwolf\n   [jellybeans]: https://github.com/nanotech/jellybeans.vim\n   [solarized]: http://ethanschoonover.com/solarized\n\nAttention\n---------\n\n1. [Read this first](https://github.com/morhetz/gruvbox/wiki/Terminal-specific)\n2. Typeface from gallery is [Fantasque Sans Mono](https://github.com/belluzj/fantasque-sans)\n3. Typeface from screenshots below is [Fira Mono](https://mozilla.github.io/Fira/)\n\nScreenshots\n-----------\n\nRefer [Gallery][] for more syntax-specific screenshots.\n\n   [Gallery]: https://github.com/morhetz/gruvbox/wiki/Gallery\n\n### Dark mode\n\n![Screenshot Dark](http://i.imgur.com/GkIl8Fn.png)\n\n### Light mode\n\n![Screenshot Light](http://i.imgur.com/X75niEa.png)\n\n### Airline theme\n\n![Screenshot Airline](http://i.imgur.com/wRQceUR.png)\n\nPalette\n-------\n\n### Dark mode\n\n![Palette Dark](http://i.imgur.com/wa666xg.png)\n\n### Light mode\n\n![Palette Light](http://i.imgur.com/49qKyYW.png)\n\nContrast options\n----------------\n\nRefer [wiki section][] for contrast configuration and other options.\n\n   [wiki section]: https://github.com/morhetz/gruvbox/wiki/Configuration#ggruvbox_contrast_dark\n\n![Contrast Options](http://i.imgur.com/5MSbe6T.png)\n\nDocumentation\n-------------\n\nPlease check [wiki][] for installation details, terminal-specific setup, troubleshooting, configuration options and others.\n\n   [wiki]: https://github.com/morhetz/gruvbox/wiki\n\nFeatures\n--------\n\n* Lots of style-customization options (contrast, color invertion, italics usage etc.)\n* Extended filetype highlighting: Html, Xml, Vim, Clojure, C, Python, JavaScript, TypeScript, PureScript, CoffeeScript, Ruby, Objective-C, Go, Lua, MoonScript, Java, Markdown, Haskell, Elixir\n* Supported plugins: [EasyMotion][], [vim-sneak][], [Indent Guides][], [indentLine][], [Rainbow Parentheses][], [Airline][], [Lightline][], [GitGutter][], [Signify][], [ShowMarks][], [Signature][], [Syntastic][], [Ale][], [CtrlP][], [Startify][], [NERDTree][], [Dirvish][]\n\n   [EasyMotion]: https://github.com/Lokaltog/vim-easymotion\n   [vim-sneak]: https://github.com/justinmk/vim-sneak\n   [Indent Guides]: https://github.com/nathanaelkane/vim-indent-guides\n   [indentLine]: https://github.com/Yggdroot/indentLine\n   [Rainbow Parentheses]: https://github.com/kien/rainbow_parentheses.vim\n   [Airline]: https://github.com/bling/vim-airline\n   [Lightline]: https://github.com/itchyny/lightline.vim\n   [GitGutter]: https://github.com/airblade/vim-gitgutter\n   [Signify]: https://github.com/mhinz/vim-signify\n   [ShowMarks]: http://www.vim.org/scripts/script.php?script_id=152\n   [Signature]: https://github.com/kshenoy/vim-signature\n   [Syntastic]: https://github.com/scrooloose/syntastic\n   [Ale]: https://github.com/w0rp/ale\n   [CtrlP]: https://github.com/kien/ctrlp.vim\n   [Startify]: https://github.com/mhinz/vim-startify\n   [NERDTree]: https://github.com/scrooloose/nerdtree\n   [Dirvish]: https://github.com/justinmk/vim-dirvish\n\nContributions\n-------------\n\nSee [gruvbox-contrib][] repo for contributions, ports and extras.\n\n[gruvbox-contrib]: https://github.com/morhetz/gruvbox-contrib\n\nToDo\n----\n\n* Filetype syntax highlighting (R, TeX, Swift, Erlang)\n* Plugin support (Tagbar, VimPlug)\n\nSelf-Promotion\n--------------\n\nIf you like gruvbox follow the repository on\n[GitHub](https://github.com/morhetz/gruvbox) and vote for it on\n[vim.org](http://www.vim.org/scripts/script.php?script_id=4349).\n\nLicense\n-------\n[MIT/X11][]\n\n   [MIT/X11]: https://en.wikipedia.org/wiki/MIT_License\n"
  },
  {
    "path": "autoload/airline/themes/gruvbox.vim",
    "content": "\" -----------------------------------------------------------------------------\n\" File: gruvbox.vim\n\" Description: Retro groove color scheme for Airline\n\" Author: morhetz <morhetz@gmail.com>\n\" Source: https://github.com/morhetz/gruvbox\n\" Last Modified: 12 Aug 2017\n\" -----------------------------------------------------------------------------\n\nlet g:airline#themes#gruvbox#palette = {}\n\nfunction! airline#themes#gruvbox#refresh()\n\n  let M0 = airline#themes#get_highlight('Identifier')\n  let accents_group = airline#themes#get_highlight('Special')\n  let modified_group = [M0[0], '', M0[2], '', '']\n  let warning_group = airline#themes#get_highlight2(['Normal', 'bg'], ['Question', 'fg'])\n  let error_group = airline#themes#get_highlight2(['Normal', 'bg'], ['WarningMsg', 'fg'])\n\n  let s:N1 = airline#themes#get_highlight2(['Normal', 'bg'], ['StatusLineNC', 'bg'])\n  let s:N2 = airline#themes#get_highlight2(['StatusLineNC', 'bg'], ['Pmenu', 'bg'])\n  let s:N3 = airline#themes#get_highlight2(['StatusLineNC', 'bg'], ['CursorLine', 'bg'])\n  let g:airline#themes#gruvbox#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3)\n  let g:airline#themes#gruvbox#palette.normal_modified = { 'airline_c': modified_group }\n  let g:airline#themes#gruvbox#palette.normal.airline_warning = warning_group\n  let g:airline#themes#gruvbox#palette.normal_modified.airline_warning = warning_group\n  let g:airline#themes#gruvbox#palette.normal.airline_error = error_group\n  let g:airline#themes#gruvbox#palette.normal_modified.airline_error = error_group\n\n  let s:I1 = airline#themes#get_highlight2(['Normal', 'bg'], ['Identifier', 'fg'])\n  let s:I2 = s:N2\n  let s:I3 = airline#themes#get_highlight2(['Normal', 'fg'], ['Pmenu', 'bg'])\n  let g:airline#themes#gruvbox#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3)\n  let g:airline#themes#gruvbox#palette.insert_modified = g:airline#themes#gruvbox#palette.normal_modified\n  let g:airline#themes#gruvbox#palette.insert.airline_warning = g:airline#themes#gruvbox#palette.normal.airline_warning\n  let g:airline#themes#gruvbox#palette.insert_modified.airline_warning = g:airline#themes#gruvbox#palette.normal_modified.airline_warning\n  let g:airline#themes#gruvbox#palette.insert.airline_error = g:airline#themes#gruvbox#palette.normal.airline_error\n  let g:airline#themes#gruvbox#palette.insert_modified.airline_error = g:airline#themes#gruvbox#palette.normal_modified.airline_error\n\n  let s:R1 = airline#themes#get_highlight2(['Normal', 'bg'], ['Structure', 'fg'])\n  let s:R2 = s:I2\n  let s:R3 = s:I3\n  let g:airline#themes#gruvbox#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3)\n  let g:airline#themes#gruvbox#palette.replace_modified = g:airline#themes#gruvbox#palette.normal_modified\n  let g:airline#themes#gruvbox#palette.replace.airline_warning = g:airline#themes#gruvbox#palette.normal.airline_warning\n  let g:airline#themes#gruvbox#palette.replace_modified.airline_warning = g:airline#themes#gruvbox#palette.normal_modified.airline_warning\n  let g:airline#themes#gruvbox#palette.replace.airline_error = g:airline#themes#gruvbox#palette.normal.airline_error\n  let g:airline#themes#gruvbox#palette.replace_modified.airline_error = g:airline#themes#gruvbox#palette.normal_modified.airline_error\n\n  let s:V1 = airline#themes#get_highlight2(['Normal', 'bg'], ['Question', 'fg'])\n  let s:V2 = s:N2\n  let s:V3 = airline#themes#get_highlight2(['Normal', 'bg'], ['TabLine', 'fg'])\n  let g:airline#themes#gruvbox#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3)\n  let g:airline#themes#gruvbox#palette.visual_modified = { 'airline_c': [ s:V3[0], '', s:V3[2], '', '' ] }\n  let g:airline#themes#gruvbox#palette.visual.airline_warning = g:airline#themes#gruvbox#palette.normal.airline_warning\n  let g:airline#themes#gruvbox#palette.visual_modified.airline_warning = g:airline#themes#gruvbox#palette.normal_modified.airline_warning\n  let g:airline#themes#gruvbox#palette.visual.airline_error = g:airline#themes#gruvbox#palette.normal.airline_error\n  let g:airline#themes#gruvbox#palette.visual_modified.airline_error = g:airline#themes#gruvbox#palette.normal_modified.airline_error\n\n  let s:IA = airline#themes#get_highlight2(['TabLine', 'fg'], ['CursorLine', 'bg'])\n  let g:airline#themes#gruvbox#palette.inactive = airline#themes#generate_color_map(s:IA, s:IA, s:IA)\n  let g:airline#themes#gruvbox#palette.inactive_modified = { 'airline_c': modified_group }\n\n  let g:airline#themes#gruvbox#palette.accents = { 'red': accents_group }\n\n  let s:TF = airline#themes#get_highlight2(['Normal', 'bg'], ['Normal', 'bg'])\n  let g:airline#themes#gruvbox#palette.tabline = {\n    \\ 'airline_tab':  s:N2,\n    \\ 'airline_tabsel':  s:N1,\n    \\ 'airline_tabtype':  s:V1,\n    \\ 'airline_tabfill':  s:TF,\n    \\ 'airline_tabhid':  s:IA,\n    \\ 'airline_tabmod':  s:I1\n    \\ }\n\nendfunction\n\ncall airline#themes#gruvbox#refresh()\n\n\" vim: set sw=2 ts=2 sts=2 et tw=80 ft=vim fdm=marker:\n"
  },
  {
    "path": "autoload/gruvbox.vim",
    "content": "\" -----------------------------------------------------------------------------\n\" File: gruvbox.vim\n\" Description: Retro groove color scheme for Vim\n\" Author: morhetz <morhetz@gmail.com>\n\" Source: https://github.com/morhetz/gruvbox\n\" Last Modified: 09 Apr 2014\n\" -----------------------------------------------------------------------------\n\nfunction! gruvbox#invert_signs_toggle()\n  if g:gruvbox_invert_signs == 0\n    let g:gruvbox_invert_signs=1\n  else\n    let g:gruvbox_invert_signs=0\n  endif\n\n  colorscheme gruvbox\nendfunction\n\n\" Search Highlighting {{{\n\nfunction! gruvbox#hls_show()\n  set hlsearch\n  call GruvboxHlsShowCursor()\nendfunction\n\nfunction! gruvbox#hls_hide()\n  set nohlsearch\n  call GruvboxHlsHideCursor()\nendfunction\n\nfunction! gruvbox#hls_toggle()\n  if &hlsearch\n    call gruvbox#hls_hide()\n  else\n    call gruvbox#hls_show()\n  endif\nendfunction\n\n\" }}}\n\n\" vim: set sw=2 ts=2 sts=2 et tw=80 ft=vim fdm=marker:\n"
  },
  {
    "path": "autoload/lightline/colorscheme/gruvbox.vim",
    "content": "\" -----------------------------------------------------------------------------\n\" File: gruvbox.vim\n\" Description: Gruvbox colorscheme for Lightline (itchyny/lightline.vim)\n\" Author: gmoe <me@griffinmoe.com>\n\" Source: https://github.com/morhetz/gruvbox\n\" Last Modified: 20 Sep 2017\n\" -----------------------------------------------------------------------------\n\nfunction! s:getGruvColor(group)\n  let guiColor = synIDattr(hlID(a:group), \"fg\", \"gui\") \n  let termColor = synIDattr(hlID(a:group), \"fg\", \"cterm\") \n  return [ guiColor, termColor ]\nendfunction\n\nif exists('g:lightline')\n\n  let s:bg0  = s:getGruvColor('GruvboxBg0')\n  let s:bg1  = s:getGruvColor('GruvboxBg1')\n  let s:bg2  = s:getGruvColor('GruvboxBg2')\n  let s:bg4  = s:getGruvColor('GruvboxBg4')\n  let s:fg1  = s:getGruvColor('GruvboxFg1')\n  let s:fg4  = s:getGruvColor('GruvboxFg4')\n\n  let s:yellow = s:getGruvColor('GruvboxYellow')\n  let s:blue   = s:getGruvColor('GruvboxBlue')\n  let s:aqua   = s:getGruvColor('GruvboxAqua')\n  let s:orange = s:getGruvColor('GruvboxOrange')\n  let s:green = s:getGruvColor('GruvboxGreen')\n\n  let s:p = {'normal':{}, 'inactive':{}, 'insert':{}, 'replace':{}, 'visual':{}, 'tabline':{}, 'terminal':{}}\n  let s:p.normal.left = [ [ s:bg0, s:fg4, 'bold' ], [ s:fg4, s:bg2 ] ]\n  let s:p.normal.right = [ [ s:bg0, s:fg4 ], [ s:fg4, s:bg2 ] ]\n  let s:p.normal.middle = [ [ s:fg4, s:bg1 ] ]\n  let s:p.inactive.right = [ [ s:bg4, s:bg1 ], [ s:bg4, s:bg1 ] ]\n  let s:p.inactive.left =  [ [ s:bg4, s:bg1 ], [ s:bg4, s:bg1 ] ]\n  let s:p.inactive.middle = [ [ s:bg4, s:bg1 ] ]\n  let s:p.insert.left = [ [ s:bg0, s:blue, 'bold' ], [ s:fg1, s:bg2 ] ]\n  let s:p.insert.right = [ [ s:bg0, s:blue ], [ s:fg1, s:bg2 ] ]\n  let s:p.insert.middle = [ [ s:fg4, s:bg2 ] ]\n  let s:p.terminal.left = [ [ s:bg0, s:green, 'bold' ], [ s:fg1, s:bg2 ] ]\n  let s:p.terminal.right = [ [ s:bg0, s:green ], [ s:fg1, s:bg2 ] ]\n  let s:p.terminal.middle = [ [ s:fg4, s:bg2 ] ]\n  let s:p.replace.left = [ [ s:bg0, s:aqua, 'bold' ], [ s:fg1, s:bg2 ] ]\n  let s:p.replace.right = [ [ s:bg0, s:aqua ], [ s:fg1, s:bg2 ] ]\n  let s:p.replace.middle = [ [ s:fg4, s:bg2 ] ]\n  let s:p.visual.left = [ [ s:bg0, s:orange, 'bold' ], [ s:bg0, s:bg4 ] ]\n  let s:p.visual.right = [ [ s:bg0, s:orange ], [ s:bg0, s:bg4 ] ]\n  let s:p.visual.middle = [ [ s:fg4, s:bg1 ] ]\n  let s:p.tabline.left = [ [ s:fg4, s:bg2 ] ]\n  let s:p.tabline.tabsel = [ [ s:bg0, s:fg4 ] ]\n  let s:p.tabline.middle = [ [ s:bg0, s:bg0 ] ]\n  let s:p.tabline.right = [ [ s:bg0, s:orange ] ]\n  let s:p.normal.error = [ [ s:bg0, s:orange ] ]\n  let s:p.normal.warning = [ [ s:bg2, s:yellow ] ]\n\n  let g:lightline#colorscheme#gruvbox#palette = lightline#colorscheme#flatten(s:p)\nendif\n"
  },
  {
    "path": "colors/gruvbox.vim",
    "content": "\" -----------------------------------------------------------------------------\n\" File: gruvbox.vim\n\" Description: Retro groove color scheme for Vim\n\" Author: morhetz <morhetz@gmail.com>\n\" Source: https://github.com/morhetz/gruvbox\n\" Last Modified: 12 Aug 2017\n\" -----------------------------------------------------------------------------\n\n\" Supporting code -------------------------------------------------------------\n\" Initialisation: {{{\n\nif version > 580\n  hi clear\n  if exists(\"syntax_on\")\n    syntax reset\n  endif\nendif\n\nlet g:colors_name='gruvbox'\n\nif !(has('termguicolors') && &termguicolors) && !has('gui_running') && &t_Co != 256\n  finish\nendif\n\n\" }}}\n\" Global Settings: {{{\n\nif !exists('g:gruvbox_bold')\n  let g:gruvbox_bold=1\nendif\nif !exists('g:gruvbox_italic')\n  if has('gui_running') || $TERM_ITALICS == 'true'\n    let g:gruvbox_italic=1\n  else\n    let g:gruvbox_italic=0\n  endif\nendif\nif !exists('g:gruvbox_undercurl')\n  let g:gruvbox_undercurl=1\nendif\nif !exists('g:gruvbox_underline')\n  let g:gruvbox_underline=1\nendif\nif !exists('g:gruvbox_inverse')\n  let g:gruvbox_inverse=1\nendif\n\nif !exists('g:gruvbox_guisp_fallback') || index(['fg', 'bg'], g:gruvbox_guisp_fallback) == -1\n  let g:gruvbox_guisp_fallback='NONE'\nendif\n\nif !exists('g:gruvbox_improved_strings')\n  let g:gruvbox_improved_strings=0\nendif\n\nif !exists('g:gruvbox_improved_warnings')\n  let g:gruvbox_improved_warnings=0\nendif\n\nif !exists('g:gruvbox_termcolors')\n  let g:gruvbox_termcolors=256\nendif\n\nif !exists('g:gruvbox_invert_indent_guides')\n  let g:gruvbox_invert_indent_guides=0\nendif\n\nif exists('g:gruvbox_contrast')\n  echo 'g:gruvbox_contrast is deprecated; use g:gruvbox_contrast_light and g:gruvbox_contrast_dark instead'\nendif\n\nif !exists('g:gruvbox_contrast_dark')\n  let g:gruvbox_contrast_dark='medium'\nendif\n\nif !exists('g:gruvbox_contrast_light')\n  let g:gruvbox_contrast_light='medium'\nendif\n\nlet s:is_dark=(&background == 'dark')\n\n\" }}}\n\" Palette: {{{\n\n\" setup palette dictionary\nlet s:gb = {}\n\n\" fill it with absolute colors\nlet s:gb.dark0_hard  = ['#1d2021', 234]     \" 29-32-33\nlet s:gb.dark0       = ['#282828', 235]     \" 40-40-40\nlet s:gb.dark0_soft  = ['#32302f', 236]     \" 50-48-47\nlet s:gb.dark1       = ['#3c3836', 237]     \" 60-56-54\nlet s:gb.dark2       = ['#504945', 239]     \" 80-73-69\nlet s:gb.dark3       = ['#665c54', 241]     \" 102-92-84\nlet s:gb.dark4       = ['#7c6f64', 243]     \" 124-111-100\nlet s:gb.dark4_256   = ['#7c6f64', 243]     \" 124-111-100\n\nlet s:gb.gray_245    = ['#928374', 245]     \" 146-131-116\nlet s:gb.gray_244    = ['#928374', 244]     \" 146-131-116\n\nlet s:gb.light0_hard = ['#f9f5d7', 230]     \" 249-245-215\nlet s:gb.light0      = ['#fbf1c7', 229]     \" 253-244-193\nlet s:gb.light0_soft = ['#f2e5bc', 228]     \" 242-229-188\nlet s:gb.light1      = ['#ebdbb2', 223]     \" 235-219-178\nlet s:gb.light2      = ['#d5c4a1', 250]     \" 213-196-161\nlet s:gb.light3      = ['#bdae93', 248]     \" 189-174-147\nlet s:gb.light4      = ['#a89984', 246]     \" 168-153-132\nlet s:gb.light4_256  = ['#a89984', 246]     \" 168-153-132\n\nlet s:gb.bright_red     = ['#fb4934', 167]     \" 251-73-52\nlet s:gb.bright_green   = ['#b8bb26', 142]     \" 184-187-38\nlet s:gb.bright_yellow  = ['#fabd2f', 214]     \" 250-189-47\nlet s:gb.bright_blue    = ['#83a598', 109]     \" 131-165-152\nlet s:gb.bright_purple  = ['#d3869b', 175]     \" 211-134-155\nlet s:gb.bright_aqua    = ['#8ec07c', 108]     \" 142-192-124\nlet s:gb.bright_orange  = ['#fe8019', 208]     \" 254-128-25\n\nlet s:gb.neutral_red    = ['#cc241d', 124]     \" 204-36-29\nlet s:gb.neutral_green  = ['#98971a', 106]     \" 152-151-26\nlet s:gb.neutral_yellow = ['#d79921', 172]     \" 215-153-33\nlet s:gb.neutral_blue   = ['#458588', 66]      \" 69-133-136\nlet s:gb.neutral_purple = ['#b16286', 132]     \" 177-98-134\nlet s:gb.neutral_aqua   = ['#689d6a', 72]      \" 104-157-106\nlet s:gb.neutral_orange = ['#d65d0e', 166]     \" 214-93-14\n\nlet s:gb.faded_red      = ['#9d0006', 88]      \" 157-0-6\nlet s:gb.faded_green    = ['#79740e', 100]     \" 121-116-14\nlet s:gb.faded_yellow   = ['#b57614', 136]     \" 181-118-20\nlet s:gb.faded_blue     = ['#076678', 24]      \" 7-102-120\nlet s:gb.faded_purple   = ['#8f3f71', 96]      \" 143-63-113\nlet s:gb.faded_aqua     = ['#427b58', 66]      \" 66-123-88\nlet s:gb.faded_orange   = ['#af3a03', 130]     \" 175-58-3\n\n\" }}}\n\" Setup Emphasis: {{{\n\nlet s:bold = 'bold,'\nif g:gruvbox_bold == 0\n  let s:bold = ''\nendif\n\nlet s:italic = 'italic,'\nif g:gruvbox_italic == 0\n  let s:italic = ''\nendif\n\nlet s:underline = 'underline,'\nif g:gruvbox_underline == 0\n  let s:underline = ''\nendif\n\nlet s:undercurl = 'undercurl,'\nif g:gruvbox_undercurl == 0\n  let s:undercurl = ''\nendif\n\nlet s:inverse = 'inverse,'\nif g:gruvbox_inverse == 0\n  let s:inverse = ''\nendif\n\n\" }}}\n\" Setup Colors: {{{\n\nlet s:vim_bg = ['bg', 'bg']\nlet s:vim_fg = ['fg', 'fg']\nlet s:none = ['NONE', 'NONE']\n\n\" determine relative colors\nif s:is_dark\n  let s:bg0  = s:gb.dark0\n  if g:gruvbox_contrast_dark == 'soft'\n    let s:bg0  = s:gb.dark0_soft\n  elseif g:gruvbox_contrast_dark == 'hard'\n    let s:bg0  = s:gb.dark0_hard\n  endif\n\n  let s:bg1  = s:gb.dark1\n  let s:bg2  = s:gb.dark2\n  let s:bg3  = s:gb.dark3\n  let s:bg4  = s:gb.dark4\n\n  let s:gray = s:gb.gray_245\n\n  let s:fg0 = s:gb.light0\n  let s:fg1 = s:gb.light1\n  let s:fg2 = s:gb.light2\n  let s:fg3 = s:gb.light3\n  let s:fg4 = s:gb.light4\n\n  let s:fg4_256 = s:gb.light4_256\n\n  let s:red    = s:gb.bright_red\n  let s:green  = s:gb.bright_green\n  let s:yellow = s:gb.bright_yellow\n  let s:blue   = s:gb.bright_blue\n  let s:purple = s:gb.bright_purple\n  let s:aqua   = s:gb.bright_aqua\n  let s:orange = s:gb.bright_orange\nelse\n  let s:bg0  = s:gb.light0\n  if g:gruvbox_contrast_light == 'soft'\n    let s:bg0  = s:gb.light0_soft\n  elseif g:gruvbox_contrast_light == 'hard'\n    let s:bg0  = s:gb.light0_hard\n  endif\n\n  let s:bg1  = s:gb.light1\n  let s:bg2  = s:gb.light2\n  let s:bg3  = s:gb.light3\n  let s:bg4  = s:gb.light4\n\n  let s:gray = s:gb.gray_244\n\n  let s:fg0 = s:gb.dark0\n  let s:fg1 = s:gb.dark1\n  let s:fg2 = s:gb.dark2\n  let s:fg3 = s:gb.dark3\n  let s:fg4 = s:gb.dark4\n\n  let s:fg4_256 = s:gb.dark4_256\n\n  let s:red    = s:gb.faded_red\n  let s:green  = s:gb.faded_green\n  let s:yellow = s:gb.faded_yellow\n  let s:blue   = s:gb.faded_blue\n  let s:purple = s:gb.faded_purple\n  let s:aqua   = s:gb.faded_aqua\n  let s:orange = s:gb.faded_orange\nendif\n\n\" reset to 16 colors fallback\nif g:gruvbox_termcolors == 16\n  let s:bg0[1]    = 0\n  let s:fg4[1]    = 7\n  let s:gray[1]   = 8\n  let s:red[1]    = 9\n  let s:green[1]  = 10\n  let s:yellow[1] = 11\n  let s:blue[1]   = 12\n  let s:purple[1] = 13\n  let s:aqua[1]   = 14\n  let s:fg1[1]    = 15\nendif\n\n\" save current relative colors back to palette dictionary\nlet s:gb.bg0 = s:bg0\nlet s:gb.bg1 = s:bg1\nlet s:gb.bg2 = s:bg2\nlet s:gb.bg3 = s:bg3\nlet s:gb.bg4 = s:bg4\n\nlet s:gb.gray = s:gray\n\nlet s:gb.fg0 = s:fg0\nlet s:gb.fg1 = s:fg1\nlet s:gb.fg2 = s:fg2\nlet s:gb.fg3 = s:fg3\nlet s:gb.fg4 = s:fg4\n\nlet s:gb.fg4_256 = s:fg4_256\n\nlet s:gb.red    = s:red\nlet s:gb.green  = s:green\nlet s:gb.yellow = s:yellow\nlet s:gb.blue   = s:blue\nlet s:gb.purple = s:purple\nlet s:gb.aqua   = s:aqua\nlet s:gb.orange = s:orange\n\n\" }}}\n\" Setup Terminal Colors For Neovim: {{{\n\nif has('nvim')\n  let g:terminal_color_0 = s:bg0[0]\n  let g:terminal_color_8 = s:gray[0]\n\n  let g:terminal_color_1 = s:gb.neutral_red[0]\n  let g:terminal_color_9 = s:red[0]\n\n  let g:terminal_color_2 = s:gb.neutral_green[0]\n  let g:terminal_color_10 = s:green[0]\n\n  let g:terminal_color_3 = s:gb.neutral_yellow[0]\n  let g:terminal_color_11 = s:yellow[0]\n\n  let g:terminal_color_4 = s:gb.neutral_blue[0]\n  let g:terminal_color_12 = s:blue[0]\n\n  let g:terminal_color_5 = s:gb.neutral_purple[0]\n  let g:terminal_color_13 = s:purple[0]\n\n  let g:terminal_color_6 = s:gb.neutral_aqua[0]\n  let g:terminal_color_14 = s:aqua[0]\n\n  let g:terminal_color_7 = s:fg4[0]\n  let g:terminal_color_15 = s:fg1[0]\nendif\n\n\" }}}\n\" Overload Setting: {{{\n\nlet s:hls_cursor = s:orange\nif exists('g:gruvbox_hls_cursor')\n  let s:hls_cursor = get(s:gb, g:gruvbox_hls_cursor)\nendif\n\nlet s:number_column = s:none\nif exists('g:gruvbox_number_column')\n  let s:number_column = get(s:gb, g:gruvbox_number_column)\nendif\n\nlet s:sign_column = s:bg1\n\nif exists('g:gitgutter_override_sign_column_highlight') &&\n      \\ g:gitgutter_override_sign_column_highlight == 1\n  let s:sign_column = s:number_column\nelse\n  let g:gitgutter_override_sign_column_highlight = 0\n\n  if exists('g:gruvbox_sign_column')\n    let s:sign_column = get(s:gb, g:gruvbox_sign_column)\n  endif\nendif\n\nlet s:color_column = s:bg1\nif exists('g:gruvbox_color_column')\n  let s:color_column = get(s:gb, g:gruvbox_color_column)\nendif\n\nlet s:vert_split = s:bg0\nif exists('g:gruvbox_vert_split')\n  let s:vert_split = get(s:gb, g:gruvbox_vert_split)\nendif\n\nlet s:invert_signs = ''\nif exists('g:gruvbox_invert_signs')\n  if g:gruvbox_invert_signs == 1\n    let s:invert_signs = s:inverse\n  endif\nendif\n\nlet s:invert_selection = s:inverse\nif exists('g:gruvbox_invert_selection')\n  if g:gruvbox_invert_selection == 0\n    let s:invert_selection = ''\n  endif\nendif\n\nlet s:invert_tabline = ''\nif exists('g:gruvbox_invert_tabline')\n  if g:gruvbox_invert_tabline == 1\n    let s:invert_tabline = s:inverse\n  endif\nendif\n\nlet s:italicize_comments = s:italic\nif exists('g:gruvbox_italicize_comments')\n  if g:gruvbox_italicize_comments == 0\n    let s:italicize_comments = ''\n  endif\nendif\n\nlet s:italicize_strings = ''\nif exists('g:gruvbox_italicize_strings')\n  if g:gruvbox_italicize_strings == 1\n    let s:italicize_strings = s:italic\n  endif\nendif\n\n\" }}}\n\" Highlighting Function: {{{\n\nfunction! s:HL(group, fg, ...)\n  \" Arguments: group, guifg, guibg, gui, guisp\n\n  \" foreground\n  let fg = a:fg\n\n  \" background\n  if a:0 >= 1\n    let bg = a:1\n  else\n    let bg = s:none\n  endif\n\n  \" emphasis\n  if a:0 >= 2 && strlen(a:2)\n    let emstr = a:2\n  else\n    let emstr = 'NONE,'\n  endif\n\n  \" special fallback\n  if a:0 >= 3\n    if g:gruvbox_guisp_fallback != 'NONE'\n      let fg = a:3\n    endif\n\n    \" bg fallback mode should invert higlighting\n    if g:gruvbox_guisp_fallback == 'bg'\n      let emstr .= 'inverse,'\n    endif\n  endif\n\n  let histring = [ 'hi', a:group,\n        \\ 'guifg=' . fg[0], 'ctermfg=' . fg[1],\n        \\ 'guibg=' . bg[0], 'ctermbg=' . bg[1],\n        \\ 'gui=' . emstr[:-2], 'cterm=' . emstr[:-2]\n        \\ ]\n\n  \" special\n  if a:0 >= 3\n    call add(histring, 'guisp=' . a:3[0])\n  endif\n\n  execute join(histring, ' ')\nendfunction\n\n\" }}}\n\" Gruvbox Hi Groups: {{{\n\n\" memoize common hi groups\ncall s:HL('GruvboxFg0', s:fg0)\ncall s:HL('GruvboxFg1', s:fg1)\ncall s:HL('GruvboxFg2', s:fg2)\ncall s:HL('GruvboxFg3', s:fg3)\ncall s:HL('GruvboxFg4', s:fg4)\ncall s:HL('GruvboxGray', s:gray)\ncall s:HL('GruvboxBg0', s:bg0)\ncall s:HL('GruvboxBg1', s:bg1)\ncall s:HL('GruvboxBg2', s:bg2)\ncall s:HL('GruvboxBg3', s:bg3)\ncall s:HL('GruvboxBg4', s:bg4)\n\ncall s:HL('GruvboxRed', s:red)\ncall s:HL('GruvboxRedBold', s:red, s:none, s:bold)\ncall s:HL('GruvboxGreen', s:green)\ncall s:HL('GruvboxGreenBold', s:green, s:none, s:bold)\ncall s:HL('GruvboxYellow', s:yellow)\ncall s:HL('GruvboxYellowBold', s:yellow, s:none, s:bold)\ncall s:HL('GruvboxBlue', s:blue)\ncall s:HL('GruvboxBlueBold', s:blue, s:none, s:bold)\ncall s:HL('GruvboxPurple', s:purple)\ncall s:HL('GruvboxPurpleBold', s:purple, s:none, s:bold)\ncall s:HL('GruvboxAqua', s:aqua)\ncall s:HL('GruvboxAquaBold', s:aqua, s:none, s:bold)\ncall s:HL('GruvboxOrange', s:orange)\ncall s:HL('GruvboxOrangeBold', s:orange, s:none, s:bold)\n\ncall s:HL('GruvboxRedSign', s:red, s:sign_column, s:invert_signs)\ncall s:HL('GruvboxGreenSign', s:green, s:sign_column, s:invert_signs)\ncall s:HL('GruvboxYellowSign', s:yellow, s:sign_column, s:invert_signs)\ncall s:HL('GruvboxBlueSign', s:blue, s:sign_column, s:invert_signs)\ncall s:HL('GruvboxPurpleSign', s:purple, s:sign_column, s:invert_signs)\ncall s:HL('GruvboxAquaSign', s:aqua, s:sign_column, s:invert_signs)\ncall s:HL('GruvboxOrangeSign', s:orange, s:sign_column, s:invert_signs)\n\n\" }}}\n\n\" Vanilla colorscheme ---------------------------------------------------------\n\" General UI: {{{\n\n\" Normal text\ncall s:HL('Normal', s:fg1, s:bg0)\n\n\" Correct background (see issue #7):\n\" --- Problem with changing between dark and light on 256 color terminal\n\" --- https://github.com/morhetz/gruvbox/issues/7\nif s:is_dark\n  set background=dark\nelse\n  set background=light\nendif\n\nif version >= 700\n  \" Screen line that the cursor is\n  call s:HL('CursorLine',   s:none, s:bg1)\n  \" Screen column that the cursor is\n  hi! link CursorColumn CursorLine\n\n  \" Tab pages line filler\n  call s:HL('TabLineFill', s:bg4, s:bg1, s:invert_tabline)\n  \" Active tab page label\n  call s:HL('TabLineSel', s:green, s:bg1, s:invert_tabline)\n  \" Not active tab page label\n  hi! link TabLine TabLineFill\n\n  \" Match paired bracket under the cursor\n  call s:HL('MatchParen', s:none, s:bg3, s:bold)\nendif\n\nif version >= 703\n  \" Highlighted screen columns\n  call s:HL('ColorColumn',  s:none, s:color_column)\n\n  \" Concealed element: \\lambda → λ\n  call s:HL('Conceal', s:blue, s:none)\n\n  \" Line number of CursorLine\n  call s:HL('CursorLineNr', s:yellow, s:bg1)\nendif\n\nhi! link NonText GruvboxBg2\nhi! link SpecialKey GruvboxBg2\n\ncall s:HL('Visual',    s:none,  s:bg3, s:invert_selection)\nhi! link VisualNOS Visual\n\ncall s:HL('Search',    s:yellow, s:bg0, s:inverse)\ncall s:HL('IncSearch', s:hls_cursor, s:bg0, s:inverse)\n\ncall s:HL('Underlined', s:blue, s:none, s:underline)\n\ncall s:HL('StatusLine',   s:bg2, s:fg1, s:inverse)\ncall s:HL('StatusLineNC', s:bg1, s:fg4, s:inverse)\n\n\" The column separating vertically split windows\ncall s:HL('VertSplit', s:bg3, s:vert_split)\n\n\" Current match in wildmenu completion\ncall s:HL('WildMenu', s:blue, s:bg2, s:bold)\n\n\" Directory names, special names in listing\nhi! link Directory GruvboxGreenBold\n\n\" Titles for output from :set all, :autocmd, etc.\nhi! link Title GruvboxGreenBold\n\n\" Error messages on the command line\ncall s:HL('ErrorMsg',   s:bg0, s:red, s:bold)\n\" More prompt: -- More --\nhi! link MoreMsg GruvboxYellowBold\n\" Current mode message: -- INSERT --\nhi! link ModeMsg GruvboxYellowBold\n\" 'Press enter' prompt and yes/no questions\nhi! link Question GruvboxOrangeBold\n\" Warning messages\nhi! link WarningMsg GruvboxRedBold\n\n\" }}}\n\" Gutter: {{{\n\n\" Line number for :number and :# commands\ncall s:HL('LineNr', s:bg4, s:number_column)\n\n\" Column where signs are displayed\ncall s:HL('SignColumn', s:none, s:sign_column)\n\n\" Line used for closed folds\ncall s:HL('Folded', s:gray, s:bg1, s:italic)\n\" Column where folds are displayed\ncall s:HL('FoldColumn', s:gray, s:bg1)\n\n\" }}}\n\" Cursor: {{{\n\n\" Character under cursor\ncall s:HL('Cursor', s:none, s:none, s:inverse)\n\" Visual mode cursor, selection\nhi! link vCursor Cursor\n\" Input moder cursor\nhi! link iCursor Cursor\n\" Language mapping cursor\nhi! link lCursor Cursor\n\n\" }}}\n\" Syntax Highlighting: {{{\n\nif g:gruvbox_improved_strings == 0\n  hi! link Special GruvboxOrange\nelse\n  call s:HL('Special', s:orange, s:bg1, s:italicize_strings)\nendif\n\ncall s:HL('Comment', s:gray, s:none, s:italicize_comments)\ncall s:HL('Todo', s:vim_fg, s:vim_bg, s:bold . s:italic)\ncall s:HL('Error', s:red, s:vim_bg, s:bold . s:inverse)\n\n\" Generic statement\nhi! link Statement GruvboxRed\n\" if, then, else, endif, swicth, etc.\nhi! link Conditional GruvboxRed\n\" for, do, while, etc.\nhi! link Repeat GruvboxRed\n\" case, default, etc.\nhi! link Label GruvboxRed\n\" try, catch, throw\nhi! link Exception GruvboxRed\n\" sizeof, \"+\", \"*\", etc.\nhi! link Operator Normal\n\" Any other keyword\nhi! link Keyword GruvboxRed\n\n\" Variable name\nhi! link Identifier GruvboxBlue\n\" Function name\nhi! link Function GruvboxGreenBold\n\n\" Generic preprocessor\nhi! link PreProc GruvboxAqua\n\" Preprocessor #include\nhi! link Include GruvboxAqua\n\" Preprocessor #define\nhi! link Define GruvboxAqua\n\" Same as Define\nhi! link Macro GruvboxAqua\n\" Preprocessor #if, #else, #endif, etc.\nhi! link PreCondit GruvboxAqua\n\n\" Generic constant\nhi! link Constant GruvboxPurple\n\" Character constant: 'c', '/n'\nhi! link Character GruvboxPurple\n\" String constant: \"this is a string\"\nif g:gruvbox_improved_strings == 0\n  call s:HL('String',  s:green, s:none, s:italicize_strings)\nelse\n  call s:HL('String',  s:fg1, s:bg1, s:italicize_strings)\nendif\n\" Boolean constant: TRUE, false\nhi! link Boolean GruvboxPurple\n\" Number constant: 234, 0xff\nhi! link Number GruvboxPurple\n\" Floating point constant: 2.3e10\nhi! link Float GruvboxPurple\n\n\" Generic type\nhi! link Type GruvboxYellow\n\" static, register, volatile, etc\nhi! link StorageClass GruvboxOrange\n\" struct, union, enum, etc.\nhi! link Structure GruvboxAqua\n\" typedef\nhi! link Typedef GruvboxYellow\n\n\" }}}\n\" Completion Menu: {{{\n\nif version >= 700\n  \" Popup menu: normal item\n  call s:HL('Pmenu', s:fg1, s:bg2)\n  \" Popup menu: selected item\n  call s:HL('PmenuSel', s:bg2, s:blue, s:bold)\n  \" Popup menu: scrollbar\n  call s:HL('PmenuSbar', s:none, s:bg2)\n  \" Popup menu: scrollbar thumb\n  call s:HL('PmenuThumb', s:none, s:bg4)\nendif\n\n\" }}}\n\" Diffs: {{{\n\ncall s:HL('DiffDelete', s:red, s:bg0, s:inverse)\ncall s:HL('DiffAdd',    s:green, s:bg0, s:inverse)\n\"call s:HL('DiffChange', s:bg0, s:blue)\n\"call s:HL('DiffText',   s:bg0, s:yellow)\n\n\" Alternative setting\ncall s:HL('DiffChange', s:aqua, s:bg0, s:inverse)\ncall s:HL('DiffText',   s:yellow, s:bg0, s:inverse)\n\n\" }}}\n\" Spelling: {{{\n\nif has(\"spell\")\n  \" Not capitalised word, or compile warnings\n  if g:gruvbox_improved_warnings == 0\n    call s:HL('SpellCap',   s:none, s:none, s:undercurl, s:red)\n  else\n    call s:HL('SpellCap',   s:green, s:none, s:bold . s:italic)\n  endif\n  \" Not recognized word\n  call s:HL('SpellBad',   s:none, s:none, s:undercurl, s:blue)\n  \" Wrong spelling for selected region\n  call s:HL('SpellLocal', s:none, s:none, s:undercurl, s:aqua)\n  \" Rare word\n  call s:HL('SpellRare',  s:none, s:none, s:undercurl, s:purple)\nendif\n\n\" }}}\n\n\" Plugin specific -------------------------------------------------------------\n\" EasyMotion: {{{\n\nhi! link EasyMotionTarget Search\nhi! link EasyMotionShade Comment\n\n\" }}}\n\" Sneak: {{{\n\nhi! link Sneak Search\nhi! link SneakLabel Search\n\n\" }}}\n\" Indent Guides: {{{\n\nif !exists('g:indent_guides_auto_colors')\n  let g:indent_guides_auto_colors = 0\nendif\n\nif g:indent_guides_auto_colors == 0\n  if g:gruvbox_invert_indent_guides == 0\n    call s:HL('IndentGuidesOdd', s:vim_bg, s:bg2)\n    call s:HL('IndentGuidesEven', s:vim_bg, s:bg1)\n  else\n    call s:HL('IndentGuidesOdd', s:vim_bg, s:bg2, s:inverse)\n    call s:HL('IndentGuidesEven', s:vim_bg, s:bg3, s:inverse)\n  endif\nendif\n\n\" }}}\n\" IndentLine: {{{\n\nif !exists('g:indentLine_color_term')\n  let g:indentLine_color_term = s:bg2[1]\nendif\nif !exists('g:indentLine_color_gui')\n  let g:indentLine_color_gui = s:bg2[0]\nendif\n\n\" }}}\n\" Rainbow Parentheses: {{{\n\nif !exists('g:rbpt_colorpairs')\n  let g:rbpt_colorpairs =\n    \\ [\n      \\ ['blue', '#458588'], ['magenta', '#b16286'],\n      \\ ['red',  '#cc241d'], ['166',     '#d65d0e']\n    \\ ]\nendif\n\nlet g:rainbow_guifgs = [ '#d65d0e', '#cc241d', '#b16286', '#458588' ]\nlet g:rainbow_ctermfgs = [ '166', 'red', 'magenta', 'blue' ]\n\nif !exists('g:rainbow_conf')\n   let g:rainbow_conf = {}\nendif\nif !has_key(g:rainbow_conf, 'guifgs')\n   let g:rainbow_conf['guifgs'] = g:rainbow_guifgs\nendif\nif !has_key(g:rainbow_conf, 'ctermfgs')\n   let g:rainbow_conf['ctermfgs'] = g:rainbow_ctermfgs\nendif\n\nlet g:niji_dark_colours = g:rbpt_colorpairs\nlet g:niji_light_colours = g:rbpt_colorpairs\n\n\"}}}\n\" GitGutter: {{{\n\nhi! link GitGutterAdd GruvboxGreenSign\nhi! link GitGutterChange GruvboxAquaSign\nhi! link GitGutterDelete GruvboxRedSign\nhi! link GitGutterChangeDelete GruvboxAquaSign\n\n\" }}}\n\" GitCommit: \"{{{\n\nhi! link gitcommitSelectedFile GruvboxGreen\nhi! link gitcommitDiscardedFile GruvboxRed\n\n\" }}}\n\" Signify: {{{\n\nhi! link SignifySignAdd GruvboxGreenSign\nhi! link SignifySignChange GruvboxAquaSign\nhi! link SignifySignDelete GruvboxRedSign\n\n\" }}}\n\" Syntastic: {{{\n\ncall s:HL('SyntasticError', s:none, s:none, s:undercurl, s:red)\ncall s:HL('SyntasticWarning', s:none, s:none, s:undercurl, s:yellow)\n\nhi! link SyntasticErrorSign GruvboxRedSign\nhi! link SyntasticWarningSign GruvboxYellowSign\n\n\" }}}\n\" Signature: {{{\nhi! link SignatureMarkText   GruvboxBlueSign\nhi! link SignatureMarkerText GruvboxPurpleSign\n\n\" }}}\n\" ShowMarks: {{{\n\nhi! link ShowMarksHLl GruvboxBlueSign\nhi! link ShowMarksHLu GruvboxBlueSign\nhi! link ShowMarksHLo GruvboxBlueSign\nhi! link ShowMarksHLm GruvboxBlueSign\n\n\" }}}\n\" CtrlP: {{{\n\nhi! link CtrlPMatch GruvboxYellow\nhi! link CtrlPNoEntries GruvboxRed\nhi! link CtrlPPrtBase GruvboxBg2\nhi! link CtrlPPrtCursor GruvboxBlue\nhi! link CtrlPLinePre GruvboxBg2\n\ncall s:HL('CtrlPMode1', s:blue, s:bg2, s:bold)\ncall s:HL('CtrlPMode2', s:bg0, s:blue, s:bold)\ncall s:HL('CtrlPStats', s:fg4, s:bg2, s:bold)\n\n\" }}}\n\" Startify: {{{\n\nhi! link StartifyBracket GruvboxFg3\nhi! link StartifyFile GruvboxFg1\nhi! link StartifyNumber GruvboxBlue\nhi! link StartifyPath GruvboxGray\nhi! link StartifySlash GruvboxGray\nhi! link StartifySection GruvboxYellow\nhi! link StartifySpecial GruvboxBg2\nhi! link StartifyHeader GruvboxOrange\nhi! link StartifyFooter GruvboxBg2\n\n\" }}}\n\" Vimshell: {{{\n\nlet g:vimshell_escape_colors = [\n  \\ s:bg4[0], s:red[0], s:green[0], s:yellow[0],\n  \\ s:blue[0], s:purple[0], s:aqua[0], s:fg4[0],\n  \\ s:bg0[0], s:red[0], s:green[0], s:orange[0],\n  \\ s:blue[0], s:purple[0], s:aqua[0], s:fg0[0]\n  \\ ]\n\n\" }}}\n\" BufTabLine: {{{\n\ncall s:HL('BufTabLineCurrent', s:bg0, s:fg4)\ncall s:HL('BufTabLineActive', s:fg4, s:bg2)\ncall s:HL('BufTabLineHidden', s:bg4, s:bg1)\ncall s:HL('BufTabLineFill', s:bg0, s:bg0)\n\n\" }}}\n\" Asynchronous Lint Engine: {{{\n\ncall s:HL('ALEError', s:none, s:none, s:undercurl, s:red)\ncall s:HL('ALEWarning', s:none, s:none, s:undercurl, s:yellow)\ncall s:HL('ALEInfo', s:none, s:none, s:undercurl, s:blue)\n\nhi! link ALEErrorSign GruvboxRedSign\nhi! link ALEWarningSign GruvboxYellowSign\nhi! link ALEInfoSign GruvboxBlueSign\n\n\" }}}\n\" Dirvish: {{{\n\nhi! link DirvishPathTail GruvboxAqua\nhi! link DirvishArg GruvboxYellow\n\n\" }}}\n\" Netrw: {{{\n\nhi! link netrwDir GruvboxAqua\nhi! link netrwClassify GruvboxAqua\nhi! link netrwLink GruvboxGray\nhi! link netrwSymLink GruvboxFg1\nhi! link netrwExe GruvboxYellow\nhi! link netrwComment GruvboxGray\nhi! link netrwList GruvboxBlue\nhi! link netrwHelpCmd GruvboxAqua\nhi! link netrwCmdSep GruvboxFg3\nhi! link netrwVersion GruvboxGreen\n\n\" }}}\n\" NERDTree: {{{\n\nhi! link NERDTreeDir GruvboxAqua\nhi! link NERDTreeDirSlash GruvboxAqua\n\nhi! link NERDTreeOpenable GruvboxOrange\nhi! link NERDTreeClosable GruvboxOrange\n\nhi! link NERDTreeFile GruvboxFg1\nhi! link NERDTreeExecFile GruvboxYellow\n\nhi! link NERDTreeUp GruvboxGray\nhi! link NERDTreeCWD GruvboxGreen\nhi! link NERDTreeHelp GruvboxFg1\n\nhi! link NERDTreeToggleOn GruvboxGreen\nhi! link NERDTreeToggleOff GruvboxRed\n\n\" }}}\n\" Vim Multiple Cursors: {{{\n\ncall s:HL('multiple_cursors_cursor', s:none, s:none, s:inverse)\ncall s:HL('multiple_cursors_visual', s:none, s:bg2)\n\n\" }}}\n\" coc.nvim: {{{\n\nhi! link CocErrorSign GruvboxRedSign\nhi! link CocWarningSign GruvboxOrangeSign\nhi! link CocInfoSign GruvboxYellowSign\nhi! link CocHintSign GruvboxBlueSign\nhi! link CocErrorFloat GruvboxRed\nhi! link CocWarningFloat GruvboxOrange\nhi! link CocInfoFloat GruvboxYellow\nhi! link CocHintFloat GruvboxBlue\nhi! link CocDiagnosticsError GruvboxRed\nhi! link CocDiagnosticsWarning GruvboxOrange\nhi! link CocDiagnosticsInfo GruvboxYellow\nhi! link CocDiagnosticsHint GruvboxBlue\n\nhi! link CocSelectedText GruvboxRed\nhi! link CocCodeLens GruvboxGray\n\ncall s:HL('CocErrorHighlight', s:none, s:none, s:undercurl, s:red)\ncall s:HL('CocWarningHighlight', s:none, s:none, s:undercurl, s:orange)\ncall s:HL('CocInfoHighlight', s:none, s:none, s:undercurl, s:yellow)\ncall s:HL('CocHintHighlight', s:none, s:none, s:undercurl, s:blue)\n\n\" }}}\n\n\" Filetype specific -----------------------------------------------------------\n\" Diff: {{{\n\nhi! link diffAdded GruvboxGreen\nhi! link diffRemoved GruvboxRed\nhi! link diffChanged GruvboxAqua\n\nhi! link diffFile GruvboxOrange\nhi! link diffNewFile GruvboxYellow\n\nhi! link diffLine GruvboxBlue\n\n\" }}}\n\" Html: {{{\n\nhi! link htmlTag GruvboxBlue\nhi! link htmlEndTag GruvboxBlue\n\nhi! link htmlTagName GruvboxAquaBold\nhi! link htmlArg GruvboxAqua\n\nhi! link htmlScriptTag GruvboxPurple\nhi! link htmlTagN GruvboxFg1\nhi! link htmlSpecialTagName GruvboxAquaBold\n\ncall s:HL('htmlLink', s:fg4, s:none, s:underline)\n\nhi! link htmlSpecialChar GruvboxOrange\n\ncall s:HL('htmlBold', s:vim_fg, s:vim_bg, s:bold)\ncall s:HL('htmlBoldUnderline', s:vim_fg, s:vim_bg, s:bold . s:underline)\ncall s:HL('htmlBoldItalic', s:vim_fg, s:vim_bg, s:bold . s:italic)\ncall s:HL('htmlBoldUnderlineItalic', s:vim_fg, s:vim_bg, s:bold . s:underline . s:italic)\n\ncall s:HL('htmlUnderline', s:vim_fg, s:vim_bg, s:underline)\ncall s:HL('htmlUnderlineItalic', s:vim_fg, s:vim_bg, s:underline . s:italic)\ncall s:HL('htmlItalic', s:vim_fg, s:vim_bg, s:italic)\n\n\" }}}\n\" Xml: {{{\n\nhi! link xmlTag GruvboxBlue\nhi! link xmlEndTag GruvboxBlue\nhi! link xmlTagName GruvboxBlue\nhi! link xmlEqual GruvboxBlue\nhi! link docbkKeyword GruvboxAquaBold\n\nhi! link xmlDocTypeDecl GruvboxGray\nhi! link xmlDocTypeKeyword GruvboxPurple\nhi! link xmlCdataStart GruvboxGray\nhi! link xmlCdataCdata GruvboxPurple\nhi! link dtdFunction GruvboxGray\nhi! link dtdTagName GruvboxPurple\n\nhi! link xmlAttrib GruvboxAqua\nhi! link xmlProcessingDelim GruvboxGray\nhi! link dtdParamEntityPunct GruvboxGray\nhi! link dtdParamEntityDPunct GruvboxGray\nhi! link xmlAttribPunct GruvboxGray\n\nhi! link xmlEntity GruvboxOrange\nhi! link xmlEntityPunct GruvboxOrange\n\" }}}\n\" Vim: {{{\n\ncall s:HL('vimCommentTitle', s:fg4_256, s:none, s:bold . s:italicize_comments)\n\nhi! link vimNotation GruvboxOrange\nhi! link vimBracket GruvboxOrange\nhi! link vimMapModKey GruvboxOrange\nhi! link vimFuncSID GruvboxFg3\nhi! link vimSetSep GruvboxFg3\nhi! link vimSep GruvboxFg3\nhi! link vimContinue GruvboxFg3\n\n\" }}}\n\" Clojure: {{{\n\nhi! link clojureKeyword GruvboxBlue\nhi! link clojureCond GruvboxOrange\nhi! link clojureSpecial GruvboxOrange\nhi! link clojureDefine GruvboxOrange\n\nhi! link clojureFunc GruvboxYellow\nhi! link clojureRepeat GruvboxYellow\nhi! link clojureCharacter GruvboxAqua\nhi! link clojureStringEscape GruvboxAqua\nhi! link clojureException GruvboxRed\n\nhi! link clojureRegexp GruvboxAqua\nhi! link clojureRegexpEscape GruvboxAqua\ncall s:HL('clojureRegexpCharClass', s:fg3, s:none, s:bold)\nhi! link clojureRegexpMod clojureRegexpCharClass\nhi! link clojureRegexpQuantifier clojureRegexpCharClass\n\nhi! link clojureParen GruvboxFg3\nhi! link clojureAnonArg GruvboxYellow\nhi! link clojureVariable GruvboxBlue\nhi! link clojureMacro GruvboxOrange\n\nhi! link clojureMeta GruvboxYellow\nhi! link clojureDeref GruvboxYellow\nhi! link clojureQuote GruvboxYellow\nhi! link clojureUnquote GruvboxYellow\n\n\" }}}\n\" C: {{{\n\nhi! link cOperator GruvboxPurple\nhi! link cStructure GruvboxOrange\n\n\" }}}\n\" Python: {{{\n\nhi! link pythonBuiltin GruvboxOrange\nhi! link pythonBuiltinObj GruvboxOrange\nhi! link pythonBuiltinFunc GruvboxOrange\nhi! link pythonFunction GruvboxAqua\nhi! link pythonDecorator GruvboxRed\nhi! link pythonInclude GruvboxBlue\nhi! link pythonImport GruvboxBlue\nhi! link pythonRun GruvboxBlue\nhi! link pythonCoding GruvboxBlue\nhi! link pythonOperator GruvboxRed\nhi! link pythonException GruvboxRed\nhi! link pythonExceptions GruvboxPurple\nhi! link pythonBoolean GruvboxPurple\nhi! link pythonDot GruvboxFg3\nhi! link pythonConditional GruvboxRed\nhi! link pythonRepeat GruvboxRed\nhi! link pythonDottedName GruvboxGreenBold\n\n\" }}}\n\" CSS: {{{\n\nhi! link cssBraces GruvboxBlue\nhi! link cssFunctionName GruvboxYellow\nhi! link cssIdentifier GruvboxOrange\nhi! link cssClassName GruvboxGreen\nhi! link cssColor GruvboxBlue\nhi! link cssSelectorOp GruvboxBlue\nhi! link cssSelectorOp2 GruvboxBlue\nhi! link cssImportant GruvboxGreen\nhi! link cssVendor GruvboxFg1\n\nhi! link cssTextProp GruvboxAqua\nhi! link cssAnimationProp GruvboxAqua\nhi! link cssUIProp GruvboxYellow\nhi! link cssTransformProp GruvboxAqua\nhi! link cssTransitionProp GruvboxAqua\nhi! link cssPrintProp GruvboxAqua\nhi! link cssPositioningProp GruvboxYellow\nhi! link cssBoxProp GruvboxAqua\nhi! link cssFontDescriptorProp GruvboxAqua\nhi! link cssFlexibleBoxProp GruvboxAqua\nhi! link cssBorderOutlineProp GruvboxAqua\nhi! link cssBackgroundProp GruvboxAqua\nhi! link cssMarginProp GruvboxAqua\nhi! link cssListProp GruvboxAqua\nhi! link cssTableProp GruvboxAqua\nhi! link cssFontProp GruvboxAqua\nhi! link cssPaddingProp GruvboxAqua\nhi! link cssDimensionProp GruvboxAqua\nhi! link cssRenderProp GruvboxAqua\nhi! link cssColorProp GruvboxAqua\nhi! link cssGeneratedContentProp GruvboxAqua\n\n\" }}}\n\" JavaScript: {{{\n\nhi! link javaScriptBraces GruvboxFg1\nhi! link javaScriptFunction GruvboxAqua\nhi! link javaScriptIdentifier GruvboxRed\nhi! link javaScriptMember GruvboxBlue\nhi! link javaScriptNumber GruvboxPurple\nhi! link javaScriptNull GruvboxPurple\nhi! link javaScriptParens GruvboxFg3\n\n\" }}}\n\" YAJS: {{{\n\nhi! link javascriptImport GruvboxAqua\nhi! link javascriptExport GruvboxAqua\nhi! link javascriptClassKeyword GruvboxAqua\nhi! link javascriptClassExtends GruvboxAqua\nhi! link javascriptDefault GruvboxAqua\n\nhi! link javascriptClassName GruvboxYellow\nhi! link javascriptClassSuperName GruvboxYellow\nhi! link javascriptGlobal GruvboxYellow\n\nhi! link javascriptEndColons GruvboxFg1\nhi! link javascriptFuncArg GruvboxFg1\nhi! link javascriptGlobalMethod GruvboxFg1\nhi! link javascriptNodeGlobal GruvboxFg1\nhi! link javascriptBOMWindowProp GruvboxFg1\nhi! link javascriptArrayMethod GruvboxFg1\nhi! link javascriptArrayStaticMethod GruvboxFg1\nhi! link javascriptCacheMethod GruvboxFg1\nhi! link javascriptDateMethod GruvboxFg1\nhi! link javascriptMathStaticMethod GruvboxFg1\n\n\" hi! link javascriptProp GruvboxFg1\nhi! link javascriptURLUtilsProp GruvboxFg1\nhi! link javascriptBOMNavigatorProp GruvboxFg1\nhi! link javascriptDOMDocMethod GruvboxFg1\nhi! link javascriptDOMDocProp GruvboxFg1\nhi! link javascriptBOMLocationMethod GruvboxFg1\nhi! link javascriptBOMWindowMethod GruvboxFg1\nhi! link javascriptStringMethod GruvboxFg1\n\nhi! link javascriptVariable GruvboxOrange\n\" hi! link javascriptVariable GruvboxRed\n\" hi! link javascriptIdentifier GruvboxOrange\n\" hi! link javascriptClassSuper GruvboxOrange\nhi! link javascriptIdentifier GruvboxOrange\nhi! link javascriptClassSuper GruvboxOrange\n\n\" hi! link javascriptFuncKeyword GruvboxOrange\n\" hi! link javascriptAsyncFunc GruvboxOrange\nhi! link javascriptFuncKeyword GruvboxAqua\nhi! link javascriptAsyncFunc GruvboxAqua\nhi! link javascriptClassStatic GruvboxOrange\n\nhi! link javascriptOperator GruvboxRed\nhi! link javascriptForOperator GruvboxRed\nhi! link javascriptYield GruvboxRed\nhi! link javascriptExceptions GruvboxRed\nhi! link javascriptMessage GruvboxRed\n\nhi! link javascriptTemplateSB GruvboxAqua\nhi! link javascriptTemplateSubstitution GruvboxFg1\n\n\" hi! link javascriptLabel GruvboxBlue\n\" hi! link javascriptObjectLabel GruvboxBlue\n\" hi! link javascriptPropertyName GruvboxBlue\nhi! link javascriptLabel GruvboxFg1\nhi! link javascriptObjectLabel GruvboxFg1\nhi! link javascriptPropertyName GruvboxFg1\n\nhi! link javascriptLogicSymbols GruvboxFg1\nhi! link javascriptArrowFunc GruvboxYellow\n\nhi! link javascriptDocParamName GruvboxFg4\nhi! link javascriptDocTags GruvboxFg4\nhi! link javascriptDocNotation GruvboxFg4\nhi! link javascriptDocParamType GruvboxFg4\nhi! link javascriptDocNamedParamType GruvboxFg4\n\nhi! link javascriptBrackets GruvboxFg1\nhi! link javascriptDOMElemAttrs GruvboxFg1\nhi! link javascriptDOMEventMethod GruvboxFg1\nhi! link javascriptDOMNodeMethod GruvboxFg1\nhi! link javascriptDOMStorageMethod GruvboxFg1\nhi! link javascriptHeadersMethod GruvboxFg1\n\nhi! link javascriptAsyncFuncKeyword GruvboxRed\nhi! link javascriptAwaitFuncKeyword GruvboxRed\n\n\" }}}\n\" PanglossJS: {{{\n\nhi! link jsClassKeyword GruvboxAqua\nhi! link jsExtendsKeyword GruvboxAqua\nhi! link jsExportDefault GruvboxAqua\nhi! link jsTemplateBraces GruvboxAqua\nhi! link jsGlobalNodeObjects GruvboxFg1\nhi! link jsGlobalObjects GruvboxFg1\nhi! link jsFunction GruvboxAqua\nhi! link jsFuncParens GruvboxFg3\nhi! link jsParens GruvboxFg3\nhi! link jsNull GruvboxPurple\nhi! link jsUndefined GruvboxPurple\nhi! link jsClassDefinition GruvboxYellow\n\n\" }}}\n\" TypeScript: {{{\n\nhi! link typeScriptReserved GruvboxAqua\nhi! link typeScriptLabel GruvboxAqua\nhi! link typeScriptFuncKeyword GruvboxAqua\nhi! link typeScriptIdentifier GruvboxOrange\nhi! link typeScriptBraces GruvboxFg1\nhi! link typeScriptEndColons GruvboxFg1\nhi! link typeScriptDOMObjects GruvboxFg1\nhi! link typeScriptAjaxMethods GruvboxFg1\nhi! link typeScriptLogicSymbols GruvboxFg1\nhi! link typeScriptDocSeeTag Comment\nhi! link typeScriptDocParam Comment\nhi! link typeScriptDocTags vimCommentTitle\nhi! link typeScriptGlobalObjects GruvboxFg1\nhi! link typeScriptParens GruvboxFg3\nhi! link typeScriptOpSymbols GruvboxFg3\nhi! link typeScriptHtmlElemProperties GruvboxFg1\nhi! link typeScriptNull GruvboxPurple\nhi! link typeScriptInterpolationDelimiter GruvboxAqua\n\n\" }}}\n\" PureScript: {{{\n\nhi! link purescriptModuleKeyword GruvboxAqua\nhi! link purescriptModuleName GruvboxFg1\nhi! link purescriptWhere GruvboxAqua\nhi! link purescriptDelimiter GruvboxFg4\nhi! link purescriptType GruvboxFg1\nhi! link purescriptImportKeyword GruvboxAqua\nhi! link purescriptHidingKeyword GruvboxAqua\nhi! link purescriptAsKeyword GruvboxAqua\nhi! link purescriptStructure GruvboxAqua\nhi! link purescriptOperator GruvboxBlue\n\nhi! link purescriptTypeVar GruvboxFg1\nhi! link purescriptConstructor GruvboxFg1\nhi! link purescriptFunction GruvboxFg1\nhi! link purescriptConditional GruvboxOrange\nhi! link purescriptBacktick GruvboxOrange\n\n\" }}}\n\" CoffeeScript: {{{\n\nhi! link coffeeExtendedOp GruvboxFg3\nhi! link coffeeSpecialOp GruvboxFg3\nhi! link coffeeCurly GruvboxOrange\nhi! link coffeeParen GruvboxFg3\nhi! link coffeeBracket GruvboxOrange\n\n\" }}}\n\" Ruby: {{{\n\nhi! link rubyStringDelimiter GruvboxGreen\nhi! link rubyInterpolationDelimiter GruvboxAqua\n\n\" }}}\n\" ObjectiveC: {{{\n\nhi! link objcTypeModifier GruvboxRed\nhi! link objcDirective GruvboxBlue\n\n\" }}}\n\" Go: {{{\n\nhi! link goDirective GruvboxAqua\nhi! link goConstants GruvboxPurple\nhi! link goDeclaration GruvboxRed\nhi! link goDeclType GruvboxBlue\nhi! link goBuiltins GruvboxOrange\n\n\" }}}\n\" Lua: {{{\n\nhi! link luaIn GruvboxRed\nhi! link luaFunction GruvboxAqua\nhi! link luaTable GruvboxOrange\n\n\" }}}\n\" MoonScript: {{{\n\nhi! link moonSpecialOp GruvboxFg3\nhi! link moonExtendedOp GruvboxFg3\nhi! link moonFunction GruvboxFg3\nhi! link moonObject GruvboxYellow\n\n\" }}}\n\" Java: {{{\n\nhi! link javaAnnotation GruvboxBlue\nhi! link javaDocTags GruvboxAqua\nhi! link javaCommentTitle vimCommentTitle\nhi! link javaParen GruvboxFg3\nhi! link javaParen1 GruvboxFg3\nhi! link javaParen2 GruvboxFg3\nhi! link javaParen3 GruvboxFg3\nhi! link javaParen4 GruvboxFg3\nhi! link javaParen5 GruvboxFg3\nhi! link javaOperator GruvboxOrange\n\nhi! link javaVarArg GruvboxGreen\n\n\" }}}\n\" Elixir: {{{\n\nhi! link elixirDocString Comment\n\nhi! link elixirStringDelimiter GruvboxGreen\nhi! link elixirInterpolationDelimiter GruvboxAqua\n\nhi! link elixirModuleDeclaration GruvboxYellow\n\n\" }}}\n\" Scala: {{{\n\n\" NB: scala vim syntax file is kinda horrible\nhi! link scalaNameDefinition GruvboxFg1\nhi! link scalaCaseFollowing GruvboxFg1\nhi! link scalaCapitalWord GruvboxFg1\nhi! link scalaTypeExtension GruvboxFg1\n\nhi! link scalaKeyword GruvboxRed\nhi! link scalaKeywordModifier GruvboxRed\n\nhi! link scalaSpecial GruvboxAqua\nhi! link scalaOperator GruvboxFg1\n\nhi! link scalaTypeDeclaration GruvboxYellow\nhi! link scalaTypeTypePostDeclaration GruvboxYellow\n\nhi! link scalaInstanceDeclaration GruvboxFg1\nhi! link scalaInterpolation GruvboxAqua\n\n\" }}}\n\" Markdown: {{{\n\ncall s:HL('markdownItalic', s:fg3, s:none, s:italic)\n\nhi! link markdownH1 GruvboxGreenBold\nhi! link markdownH2 GruvboxGreenBold\nhi! link markdownH3 GruvboxYellowBold\nhi! link markdownH4 GruvboxYellowBold\nhi! link markdownH5 GruvboxYellow\nhi! link markdownH6 GruvboxYellow\n\nhi! link markdownCode GruvboxAqua\nhi! link markdownCodeBlock GruvboxAqua\nhi! link markdownCodeDelimiter GruvboxAqua\n\nhi! link markdownBlockquote GruvboxGray\nhi! link markdownListMarker GruvboxGray\nhi! link markdownOrderedListMarker GruvboxGray\nhi! link markdownRule GruvboxGray\nhi! link markdownHeadingRule GruvboxGray\n\nhi! link markdownUrlDelimiter GruvboxFg3\nhi! link markdownLinkDelimiter GruvboxFg3\nhi! link markdownLinkTextDelimiter GruvboxFg3\n\nhi! link markdownHeadingDelimiter GruvboxOrange\nhi! link markdownUrl GruvboxPurple\nhi! link markdownUrlTitleDelimiter GruvboxGreen\n\ncall s:HL('markdownLinkText', s:gray, s:none, s:underline)\nhi! link markdownIdDeclaration markdownLinkText\n\n\" }}}\n\" Haskell: {{{\n\n\" hi! link haskellType GruvboxYellow\n\" hi! link haskellOperators GruvboxOrange\n\" hi! link haskellConditional GruvboxAqua\n\" hi! link haskellLet GruvboxOrange\n\"\nhi! link haskellType GruvboxFg1\nhi! link haskellIdentifier GruvboxFg1\nhi! link haskellSeparator GruvboxFg1\nhi! link haskellDelimiter GruvboxFg4\nhi! link haskellOperators GruvboxBlue\n\"\nhi! link haskellBacktick GruvboxOrange\nhi! link haskellStatement GruvboxOrange\nhi! link haskellConditional GruvboxOrange\n\nhi! link haskellLet GruvboxAqua\nhi! link haskellDefault GruvboxAqua\nhi! link haskellWhere GruvboxAqua\nhi! link haskellBottom GruvboxAqua\nhi! link haskellBlockKeywords GruvboxAqua\nhi! link haskellImportKeywords GruvboxAqua\nhi! link haskellDeclKeyword GruvboxAqua\nhi! link haskellDeriving GruvboxAqua\nhi! link haskellAssocType GruvboxAqua\n\nhi! link haskellNumber GruvboxPurple\nhi! link haskellPragma GruvboxPurple\n\nhi! link haskellString GruvboxGreen\nhi! link haskellChar GruvboxGreen\n\n\" }}}\n\" Json: {{{\n\nhi! link jsonKeyword GruvboxGreen\nhi! link jsonQuote GruvboxGreen\nhi! link jsonBraces GruvboxFg1\nhi! link jsonString GruvboxFg1\n\n\" }}}\n\n\n\" Functions -------------------------------------------------------------------\n\" Search Highlighting Cursor {{{\n\nfunction! GruvboxHlsShowCursor()\n  call s:HL('Cursor', s:bg0, s:hls_cursor)\nendfunction\n\nfunction! GruvboxHlsHideCursor()\n  call s:HL('Cursor', s:none, s:none, s:inverse)\nendfunction\n\n\" }}}\n\n\" vim: set sw=2 ts=2 sts=2 et tw=80 ft=vim fdm=marker:\n"
  },
  {
    "path": "gruvbox_256palette.sh",
    "content": "#!/bin/sh\n\nif [ \"${TERM%%-*}\" = \"screen\" ]; then\n  if [ -n \"$TMUX\" ]; then\n    printf \"\\033Ptmux;\\033\\033]4;236;rgb:32/30/2f\\007\\033\\\\\"\n    printf \"\\033Ptmux;\\033\\033]4;234;rgb:1d/20/21\\007\\033\\\\\"\n\n    printf \"\\033Ptmux;\\033\\033]4;235;rgb:28/28/28\\007\\033\\\\\"\n    printf \"\\033Ptmux;\\033\\033]4;237;rgb:3c/38/36\\007\\033\\\\\"\n    printf \"\\033Ptmux;\\033\\033]4;239;rgb:50/49/45\\007\\033\\\\\"\n    printf \"\\033Ptmux;\\033\\033]4;241;rgb:66/5c/54\\007\\033\\\\\"\n    printf \"\\033Ptmux;\\033\\033]4;243;rgb:7c/6f/64\\007\\033\\\\\"\n\n    printf \"\\033Ptmux;\\033\\033]4;244;rgb:92/83/74\\007\\033\\\\\"\n    printf \"\\033Ptmux;\\033\\033]4;245;rgb:92/83/74\\007\\033\\\\\"\n\n    printf \"\\033Ptmux;\\033\\033]4;228;rgb:f2/e5/bc\\007\\033\\\\\"\n    printf \"\\033Ptmux;\\033\\033]4;230;rgb:f9/f5/d7\\007\\033\\\\\"\n\n    printf \"\\033Ptmux;\\033\\033]4;229;rgb:fb/f1/c7\\007\\033\\\\\"\n    printf \"\\033Ptmux;\\033\\033]4;223;rgb:eb/db/b2\\007\\033\\\\\"\n    printf \"\\033Ptmux;\\033\\033]4;250;rgb:d5/c4/a1\\007\\033\\\\\"\n    printf \"\\033Ptmux;\\033\\033]4;248;rgb:bd/ae/93\\007\\033\\\\\"\n    printf \"\\033Ptmux;\\033\\033]4;246;rgb:a8/99/84\\007\\033\\\\\"\n\n    printf \"\\033Ptmux;\\033\\033]4;167;rgb:fb/49/34\\007\\033\\\\\"\n    printf \"\\033Ptmux;\\033\\033]4;142;rgb:b8/bb/26\\007\\033\\\\\"\n    printf \"\\033Ptmux;\\033\\033]4;214;rgb:fa/bd/2f\\007\\033\\\\\"\n    printf \"\\033Ptmux;\\033\\033]4;109;rgb:83/a5/98\\007\\033\\\\\"\n    printf \"\\033Ptmux;\\033\\033]4;175;rgb:d3/86/9b\\007\\033\\\\\"\n    printf \"\\033Ptmux;\\033\\033]4;108;rgb:8e/c0/7c\\007\\033\\\\\"\n    printf \"\\033Ptmux;\\033\\033]4;208;rgb:fe/80/19\\007\\033\\\\\"\n\n    printf \"\\033Ptmux;\\033\\033]4;88;rgb:9d/00/06\\007\\033\\\\\"\n    printf \"\\033Ptmux;\\033\\033]4;100;rgb:79/74/0e\\007\\033\\\\\"\n    printf \"\\033Ptmux;\\033\\033]4;136;rgb:b5/76/14\\007\\033\\\\\"\n    printf \"\\033Ptmux;\\033\\033]4;24;rgb:07/66/78\\007\\033\\\\\"\n    printf \"\\033Ptmux;\\033\\033]4;96;rgb:8f/3f/71\\007\\033\\\\\"\n    printf \"\\033Ptmux;\\033\\033]4;66;rgb:42/7b/58\\007\\033\\\\\"\n    printf \"\\033Ptmux;\\033\\033]4;130;rgb:af/3a/03\\007\\033\\\\\"\n  else\n    printf \"\\033P\\033]4;236;rgb:32/30/2f\\007\\033\\\\\"\n    printf \"\\033P\\033]4;234;rgb:1d/20/21\\007\\033\\\\\"\n\n    printf \"\\033P\\033]4;235;rgb:28/28/28\\007\\033\\\\\"\n    printf \"\\033P\\033]4;237;rgb:3c/38/36\\007\\033\\\\\"\n    printf \"\\033P\\033]4;239;rgb:50/49/45\\007\\033\\\\\"\n    printf \"\\033P\\033]4;241;rgb:66/5c/54\\007\\033\\\\\"\n    printf \"\\033P\\033]4;243;rgb:7c/6f/64\\007\\033\\\\\"\n\n    printf \"\\033P\\033]4;244;rgb:92/83/74\\007\\033\\\\\"\n    printf \"\\033P\\033]4;245;rgb:92/83/74\\007\\033\\\\\"\n\n    printf \"\\033P\\033]4;228;rgb:f2/e5/bc\\007\\033\\\\\"\n    printf \"\\033P\\033]4;230;rgb:f9/f5/d7\\007\\033\\\\\"\n\n    printf \"\\033P\\033]4;229;rgb:fb/f1/c7\\007\\033\\\\\"\n    printf \"\\033P\\033]4;223;rgb:eb/db/b2\\007\\033\\\\\"\n    printf \"\\033P\\033]4;250;rgb:d5/c4/a1\\007\\033\\\\\"\n    printf \"\\033P\\033]4;248;rgb:bd/ae/93\\007\\033\\\\\"\n    printf \"\\033P\\033]4;246;rgb:a8/99/84\\007\\033\\\\\"\n\n    printf \"\\033P\\033]4;167;rgb:fb/49/34\\007\\033\\\\\"\n    printf \"\\033P\\033]4;142;rgb:b8/bb/26\\007\\033\\\\\"\n    printf \"\\033P\\033]4;214;rgb:fa/bd/2f\\007\\033\\\\\"\n    printf \"\\033P\\033]4;109;rgb:83/a5/98\\007\\033\\\\\"\n    printf \"\\033P\\033]4;175;rgb:d3/86/9b\\007\\033\\\\\"\n    printf \"\\033P\\033]4;108;rgb:8e/c0/7c\\007\\033\\\\\"\n    printf \"\\033P\\033]4;208;rgb:fe/80/19\\007\\033\\\\\"\n\n    printf \"\\033P\\033]4;88;rgb:9d/00/06\\007\\033\\\\\"\n    printf \"\\033P\\033]4;100;rgb:79/74/0e\\007\\033\\\\\"\n    printf \"\\033P\\033]4;136;rgb:b5/76/14\\007\\033\\\\\"\n    printf \"\\033P\\033]4;24;rgb:07/66/78\\007\\033\\\\\"\n    printf \"\\033P\\033]4;96;rgb:8f/3f/71\\007\\033\\\\\"\n    printf \"\\033P\\033]4;66;rgb:42/7b/58\\007\\033\\\\\"\n    printf \"\\033P\\033]4;130;rgb:af/3a/03\\007\\033\\\\\"\n  fi\n\nelif [ \"$TERM\" != \"linux\" ] && [ \"$TERM\" != \"vt100\" ] && [ \"$TERM\" != \"vt220\" ]; then\n\n  printf \"\\033]4;236;rgb:32/30/2f\\033\\\\\"\n  printf \"\\033]4;234;rgb:1d/20/21\\033\\\\\"\n\n  printf \"\\033]4;235;rgb:28/28/28\\033\\\\\"\n  printf \"\\033]4;237;rgb:3c/38/36\\033\\\\\"\n  printf \"\\033]4;239;rgb:50/49/45\\033\\\\\"\n  printf \"\\033]4;241;rgb:66/5c/54\\033\\\\\"\n  printf \"\\033]4;243;rgb:7c/6f/64\\033\\\\\"\n\n  printf \"\\033]4;244;rgb:92/83/74\\033\\\\\"\n  printf \"\\033]4;245;rgb:92/83/74\\033\\\\\"\n\n  printf \"\\033]4;228;rgb:f2/e5/bc\\033\\\\\"\n  printf \"\\033]4;230;rgb:f9/f5/d7\\033\\\\\"\n\n  printf \"\\033]4;229;rgb:fb/f1/c7\\033\\\\\"\n  printf \"\\033]4;223;rgb:eb/db/b2\\033\\\\\"\n  printf \"\\033]4;250;rgb:d5/c4/a1\\033\\\\\"\n  printf \"\\033]4;248;rgb:bd/ae/93\\033\\\\\"\n  printf \"\\033]4;246;rgb:a8/99/84\\033\\\\\"\n\n  printf \"\\033]4;167;rgb:fb/49/34\\033\\\\\"\n  printf \"\\033]4;142;rgb:b8/bb/26\\033\\\\\"\n  printf \"\\033]4;214;rgb:fa/bd/2f\\033\\\\\"\n  printf \"\\033]4;109;rgb:83/a5/98\\033\\\\\"\n  printf \"\\033]4;175;rgb:d3/86/9b\\033\\\\\"\n  printf \"\\033]4;108;rgb:8e/c0/7c\\033\\\\\"\n  printf \"\\033]4;208;rgb:fe/80/19\\033\\\\\"\n\n  printf \"\\033]4;88;rgb:9d/00/06\\033\\\\\"\n  printf \"\\033]4;100;rgb:79/74/0e\\033\\\\\"\n  printf \"\\033]4;136;rgb:b5/76/14\\033\\\\\"\n  printf \"\\033]4;24;rgb:07/66/78\\033\\\\\"\n  printf \"\\033]4;96;rgb:8f/3f/71\\033\\\\\"\n  printf \"\\033]4;66;rgb:42/7b/58\\033\\\\\"\n  printf \"\\033]4;130;rgb:af/3a/03\\033\\\\\"\nfi\n"
  },
  {
    "path": "gruvbox_256palette_osx.sh",
    "content": "#!/bin/sh\n\ncolors=(\n  # --- Background shades (used in layers, UI sections) ---\n  \"234=16/18/19\"   # bg0_h - very dark background\n  \"235=1e/1e/1e\"   # bg0    - base background\n  \"236=26/24/23\"   # bg1    - slightly lighter bg\n  \"237=2e/2a/29\"   # bg2    - line numbers, subtle bg\n  \"239=3f/39/35\"   # bg3    - border lines, splitbars\n  \"241=53/4a/42\"   # bg4    - cursor line bg, subtle contrast\n  \"243=68/5c/51\"   # bg5    - low contrast UI elements\n\n  # --- Faded foreground / comments / subdued text ---\n  \"244=7f/70/61\"   # gray1  - comments\n  \"245=7f/70/61\"   # gray2  - docstrings, hints (same as gray1)\n\n  # --- Main foreground and subtle variants ---\n  \"250=cb/b8/90\"   # fg     - default foreground text\n  \"248=af/9f/81\"   # fg1    - slightly faded text\n  \"246=97/87/71\"   # fg2    - further dimmed\n\n  # --- Light background highlights (e.g. selection, search) ---\n  \"228=ef/df/ae\"   # yellow1 - selection bg\n  \"229=fa/ee/bb\"   # yellow2 - search highlight bg\n  \"230=f8/f4/cd\"   # lightest - special highlights\n  \"223=e6/d4/a3\"   # alt highlight bg\n\n  # --- Core Gruvbox accent colors ---\n  \"167=f7/30/28\"   # red     - errors, removals\n  \"142=aa/b0/1e\"   # green   - additions, success\n  \"214=f7/b1/25\"   # yellow  - warnings\n  \"175=c7/70/89\"   # purple  - function names, git renamed\n  \"108=7d/b6/69\"   # aqua    - type hints, diffs\n  \"109=71/95/86\"   # teal    - status bars, cursor\n  \"208=fb/6a/16\"   # orange  - search match, bright UI\n\n  # --- Darker accent variants for backgrounds or subtle diff ---\n  \"88=89/00/09\"    # red dark     - error background\n  \"100=66/62/0d\"   # green dark   - diff bg\n  \"136=a5/63/11\"   # yellow dark  - change marker\n  \"130=9d/28/07\"   # orange dark  - symbol/markup\n  \"24=0e/53/65\"    # blue dark    - info, links\n  \"96=7b/2b/5e\"    # purple dark  - markdown, hint bg\n  \"66=35/6a/46\"    # green deep   - background diff +\n)\n\n# Detect terminal escape sequence wrapping\nif [ \"${TERM%%-*}\" = \"screen\" ]; then\n  if [ -n \"$TMUX\" ]; then\n    prefix=\"\\033Ptmux;\\033\"\n    suffix=\"\\033\\\\\"\n  else\n    prefix=\"\\033P\"\n    suffix=\"\\033\\\\\"\n  fi\nelse\n  prefix=\"\"\n  suffix=\"\\033\\\\\"\nfi\n\n# Apply one color index+value to the terminal palette\nset_color() {\n  index=\"${1%%=*}\"\n  value=\"${1#*=}\"\n  printf \"${prefix}\\033]4;%s;rgb:%s\\007${suffix}\" \"$index\" \"$value\"\n}\n\n# Loop over all defined colors\nfor color in \"${colors[@]}\"; do\n  set_color \"$color\"\ndone\n"
  },
  {
    "path": "package.json",
    "content": "{\n  \"name\": \"gruvbox\",\n  \"version\": \"2.0.0\",\n  \"repository\": \"git@github.com:morhetz/gruvbox.git\",\n  \"author\": \"Pavel Pertsev <morhetz@gmail.com>\",\n  \"license\": \"MIT\",\n  \"vim\": {\n    \"opt\": true\n  }\n}\n"
  }
]