gruvbox.vim 31 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210
  1. " -----------------------------------------------------------------------------
  2. " File: gruvbox.vim
  3. " Description: Retro groove color scheme for Vim
  4. " Author: morhetz <morhetz@gmail.com>
  5. " Source: https://github.com/morhetz/gruvbox
  6. " Last Modified: 01 Sep 2015
  7. " -----------------------------------------------------------------------------
  8. " Supporting code -------------------------------------------------------------
  9. " Initialisation: {{{
  10. if version > 580
  11. hi clear
  12. if exists("syntax_on")
  13. syntax reset
  14. endif
  15. endif
  16. let g:colors_name='gruvbox'
  17. if !has('gui_running') && &t_Co != 256
  18. finish
  19. endif
  20. " }}}
  21. " Global Settings: {{{
  22. if !exists('g:gruvbox_bold')
  23. let g:gruvbox_bold=1
  24. endif
  25. if !exists('g:gruvbox_italic')
  26. if has('gui_running') || $TERM_ITALICS == 'true'
  27. let g:gruvbox_italic=1
  28. else
  29. let g:gruvbox_italic=0
  30. endif
  31. endif
  32. if !exists('g:gruvbox_undercurl')
  33. let g:gruvbox_undercurl=1
  34. endif
  35. if !exists('g:gruvbox_underline')
  36. let g:gruvbox_underline=1
  37. endif
  38. if !exists('g:gruvbox_inverse')
  39. let g:gruvbox_inverse=1
  40. endif
  41. if !exists('g:gruvbox_guisp_fallback') || index(['fg', 'bg'], g:gruvbox_guisp_fallback) == -1
  42. let g:gruvbox_guisp_fallback='NONE'
  43. endif
  44. if !exists('g:gruvbox_improved_strings')
  45. let g:gruvbox_improved_strings=0
  46. endif
  47. if !exists('g:gruvbox_improved_warnings')
  48. let g:gruvbox_improved_warnings=0
  49. endif
  50. if !exists('g:gruvbox_termcolors')
  51. let g:gruvbox_termcolors=256
  52. endif
  53. if !exists('g:gruvbox_invert_indent_guides')
  54. let g:gruvbox_invert_indent_guides=0
  55. endif
  56. if exists('g:gruvbox_contrast')
  57. echo 'g:gruvbox_contrast is deprecated; use g:gruvbox_contrast_light and g:gruvbox_contrast_dark instead'
  58. endif
  59. if !exists('g:gruvbox_contrast_dark')
  60. let g:gruvbox_contrast_dark='medium'
  61. endif
  62. if !exists('g:gruvbox_contrast_light')
  63. let g:gruvbox_contrast_light='medium'
  64. endif
  65. let s:is_dark=(&background == 'dark')
  66. " }}}
  67. " Palette: {{{
  68. " setup palette dictionary
  69. let s:gb = {}
  70. " fill it with absolute colors
  71. let s:gb.dark0_hard = ['#1d2021', 234] " 29-32-33
  72. let s:gb.dark0 = ['#282828', 235] " 40-40-40
  73. let s:gb.dark0_soft = ['#32302f', 236] " 50-48-47
  74. let s:gb.dark1 = ['#3c3836', 237] " 60-56-54
  75. let s:gb.dark2 = ['#504945', 239] " 80-73-69
  76. let s:gb.dark3 = ['#665c54', 241] " 102-92-84
  77. let s:gb.dark4 = ['#7c6f64', 243] " 124-111-100
  78. let s:gb.dark4_256 = ['#7c6f64', 243] " 124-111-100
  79. let s:gb.gray_245 = ['#928374', 245] " 146-131-116
  80. let s:gb.gray_244 = ['#928374', 244] " 146-131-116
  81. let s:gb.light0_hard = ['#f9f5d7', 230] " 249-245-215
  82. let s:gb.light0 = ['#fdf4c1', 229] " 253-244-193
  83. let s:gb.light0_soft = ['#f2e5bc', 228] " 242-229-188
  84. let s:gb.light1 = ['#ebdbb2', 223] " 235-219-178
  85. let s:gb.light2 = ['#d5c4a1', 250] " 213-196-161
  86. let s:gb.light3 = ['#bdae93', 248] " 189-174-147
  87. let s:gb.light4 = ['#a89984', 246] " 168-153-132
  88. let s:gb.light4_256 = ['#a89984', 246] " 168-153-132
  89. let s:gb.bright_red = ['#fb4934', 167] " 251-73-52
  90. let s:gb.bright_green = ['#b8bb26', 142] " 184-187-38
  91. let s:gb.bright_yellow = ['#fabd2f', 214] " 250-189-47
  92. let s:gb.bright_blue = ['#83a598', 109] " 131-165-152
  93. let s:gb.bright_purple = ['#d3869b', 175] " 211-134-155
  94. let s:gb.bright_aqua = ['#8ec07c', 108] " 142-192-124
  95. let s:gb.bright_orange = ['#fe8019', 208] " 254-128-25
  96. let s:gb.neutral_red = ['#cc241d', 124] " 204-36-29
  97. let s:gb.neutral_green = ['#98971a', 106] " 152-151-26
  98. let s:gb.neutral_yellow = ['#d79921', 172] " 215-153-33
  99. let s:gb.neutral_blue = ['#458588', 66] " 69-133-136
  100. let s:gb.neutral_purple = ['#b16286', 132] " 177-98-134
  101. let s:gb.neutral_aqua = ['#689d6a', 72] " 104-157-106
  102. let s:gb.neutral_orange = ['#d65d0e', 166] " 214-93-14
  103. let s:gb.faded_red = ['#9d0006', 88] " 157-0-6
  104. let s:gb.faded_green = ['#79740e', 100] " 121-116-14
  105. let s:gb.faded_yellow = ['#b57614', 136] " 181-118-20
  106. let s:gb.faded_blue = ['#076678', 24] " 7-102-120
  107. let s:gb.faded_purple = ['#8f3f71', 96] " 143-63-113
  108. let s:gb.faded_aqua = ['#427b58', 66] " 66-123-88
  109. let s:gb.faded_orange = ['#af3a03', 130] " 175-58-3
  110. " }}}
  111. " Setup Emphasis: {{{
  112. let s:bold = 'bold,'
  113. if g:gruvbox_bold == 0
  114. let s:bold = ''
  115. endif
  116. let s:italic = 'italic,'
  117. if g:gruvbox_italic == 0
  118. let s:italic = ''
  119. endif
  120. let s:underline = 'underline,'
  121. if g:gruvbox_underline == 0
  122. let s:underline = ''
  123. endif
  124. let s:undercurl = 'undercurl,'
  125. if g:gruvbox_undercurl == 0
  126. let s:undercurl = ''
  127. endif
  128. let s:inverse = 'inverse,'
  129. if g:gruvbox_inverse == 0
  130. let s:inverse = ''
  131. endif
  132. " }}}
  133. " Setup Colors: {{{
  134. let s:vim_bg = ['bg', 'bg']
  135. let s:vim_fg = ['fg', 'fg']
  136. let s:none = ['NONE', 'NONE']
  137. " determine relative colors
  138. if s:is_dark
  139. let s:bg0 = s:gb.dark0
  140. if g:gruvbox_contrast_dark == 'soft'
  141. let s:bg0 = s:gb.dark0_soft
  142. elseif g:gruvbox_contrast_dark == 'hard'
  143. let s:bg0 = s:gb.dark0_hard
  144. endif
  145. let s:bg1 = s:gb.dark1
  146. let s:bg2 = s:gb.dark2
  147. let s:bg3 = s:gb.dark3
  148. let s:bg4 = s:gb.dark4
  149. let s:gray = s:gb.gray_245
  150. let s:fg0 = s:gb.light0
  151. let s:fg1 = s:gb.light1
  152. let s:fg2 = s:gb.light2
  153. let s:fg3 = s:gb.light3
  154. let s:fg4 = s:gb.light4
  155. let s:fg4_256 = s:gb.light4_256
  156. let s:red = s:gb.bright_red
  157. let s:green = s:gb.bright_green
  158. let s:yellow = s:gb.bright_yellow
  159. let s:blue = s:gb.bright_blue
  160. let s:purple = s:gb.bright_purple
  161. let s:aqua = s:gb.bright_aqua
  162. let s:orange = s:gb.bright_orange
  163. else
  164. let s:bg0 = s:gb.light0
  165. if g:gruvbox_contrast_light == 'soft'
  166. let s:bg0 = s:gb.light0_soft
  167. elseif g:gruvbox_contrast_light == 'hard'
  168. let s:bg0 = s:gb.light0_hard
  169. endif
  170. let s:bg1 = s:gb.light1
  171. let s:bg2 = s:gb.light2
  172. let s:bg3 = s:gb.light3
  173. let s:bg4 = s:gb.light4
  174. let s:gray = s:gb.gray_244
  175. let s:fg0 = s:gb.dark0
  176. let s:fg1 = s:gb.dark1
  177. let s:fg2 = s:gb.dark2
  178. let s:fg3 = s:gb.dark3
  179. let s:fg4 = s:gb.dark4
  180. let s:fg4_256 = s:gb.dark4_256
  181. let s:red = s:gb.faded_red
  182. let s:green = s:gb.faded_green
  183. let s:yellow = s:gb.faded_yellow
  184. let s:blue = s:gb.faded_blue
  185. let s:purple = s:gb.faded_purple
  186. let s:aqua = s:gb.faded_aqua
  187. let s:orange = s:gb.faded_orange
  188. endif
  189. " reset to 16 colors fallback
  190. if g:gruvbox_termcolors == 16
  191. let s:bg0[1] = 0
  192. let s:fg4[1] = 7
  193. let s:gray[1] = 8
  194. let s:red[1] = 9
  195. let s:green[1] = 10
  196. let s:yellow[1] = 11
  197. let s:blue[1] = 12
  198. let s:purple[1] = 13
  199. let s:aqua[1] = 14
  200. let s:fg1[1] = 15
  201. endif
  202. " save current relative colors back to palette dictionary
  203. let s:gb.bg0 = s:bg0
  204. let s:gb.bg1 = s:bg1
  205. let s:gb.bg2 = s:bg2
  206. let s:gb.bg3 = s:bg3
  207. let s:gb.bg4 = s:bg4
  208. let s:gb.gray = s:gray
  209. let s:gb.fg0 = s:fg0
  210. let s:gb.fg1 = s:fg1
  211. let s:gb.fg2 = s:fg2
  212. let s:gb.fg3 = s:fg3
  213. let s:gb.fg4 = s:fg4
  214. let s:gb.fg4_256 = s:fg4_256
  215. let s:gb.red = s:red
  216. let s:gb.green = s:green
  217. let s:gb.yellow = s:yellow
  218. let s:gb.blue = s:blue
  219. let s:gb.purple = s:purple
  220. let s:gb.aqua = s:aqua
  221. let s:gb.orange = s:orange
  222. " }}}
  223. " Overload Setting: {{{
  224. let s:hls_cursor = s:orange
  225. if exists('g:gruvbox_hls_cursor')
  226. let s:hls_cursor = get(s:gb, g:gruvbox_hls_cursor)
  227. endif
  228. let s:number_column = s:bg4
  229. let s:sign_column = s:bg1
  230. if exists('g:gitgutter_override_sign_column_highlight') &&
  231. \ g:gitgutter_override_sign_column_highlight == 1
  232. let s:sign_column = s:number_column
  233. else
  234. let g:gitgutter_override_sign_column_highlight = 0
  235. if exists('g:gruvbox_sign_column')
  236. let s:sign_column = get(s:gb, g:gruvbox_sign_column)
  237. endif
  238. endif
  239. let s:color_column = s:bg1
  240. if exists('g:gruvbox_color_column')
  241. let s:color_column = get(s:gb, g:gruvbox_color_column)
  242. endif
  243. let s:vert_split = s:bg2
  244. if exists('g:gruvbox_vert_split')
  245. let s:vert_split = get(s:gb, g:gruvbox_vert_split)
  246. endif
  247. let s:invert_signs = ''
  248. if exists('g:gruvbox_invert_signs')
  249. if g:gruvbox_invert_signs == 1
  250. let s:invert_signs = s:inverse
  251. endif
  252. endif
  253. let s:invert_selection = s:inverse
  254. if exists('g:gruvbox_invert_selection')
  255. if g:gruvbox_invert_selection == 0
  256. let s:invert_selection = ''
  257. endif
  258. endif
  259. let s:invert_tabline = ''
  260. if exists('g:gruvbox_invert_tabline')
  261. if g:gruvbox_invert_tabline == 1
  262. let s:invert_tabline = s:inverse
  263. endif
  264. endif
  265. let s:italicize_comments = s:italic
  266. if exists('g:gruvbox_italicize_comments')
  267. if g:gruvbox_italicize_comments == 0
  268. let s:italicize_comments = ''
  269. endif
  270. endif
  271. let s:italicize_strings = ''
  272. if exists('g:gruvbox_italicize_strings')
  273. if g:gruvbox_italicize_strings == 1
  274. let s:italicize_strings = s:italic
  275. endif
  276. endif
  277. " }}}
  278. " Highlighting Function: {{{
  279. function! s:HL(group, fg, ...)
  280. " Arguments: group, guifg, guibg, gui, guisp
  281. " foreground
  282. let fg = a:fg
  283. " background
  284. if a:0 >= 1
  285. let bg = a:1
  286. else
  287. let bg = s:none
  288. endif
  289. " emphasis
  290. if a:0 >= 2 && strlen(a:2)
  291. let emstr = a:2
  292. else
  293. let emstr = 'NONE,'
  294. endif
  295. " special fallback
  296. if a:0 >= 3
  297. if g:gruvbox_guisp_fallback != 'NONE'
  298. let fg = a:3
  299. endif
  300. " bg fallback mode should invert higlighting
  301. if g:gruvbox_guisp_fallback == 'bg'
  302. let emstr .= 'inverse,'
  303. endif
  304. endif
  305. let histring = [ 'hi', a:group,
  306. \ 'guifg=' . fg[0], 'ctermfg=' . fg[1],
  307. \ 'guibg=' . bg[0], 'ctermbg=' . bg[1],
  308. \ 'gui=' . emstr[:-2], 'cterm=' . emstr[:-2]
  309. \ ]
  310. " special
  311. if a:0 >= 3
  312. call add(histring, 'guisp=' . a:3[0])
  313. endif
  314. execute join(histring, ' ')
  315. endfunction
  316. " }}}
  317. " Gruvbox Hi Groups: {{{
  318. " memoize common hi groups
  319. call s:HL('GruvboxFg0', s:fg0)
  320. call s:HL('GruvboxFg1', s:fg1)
  321. call s:HL('GruvboxFg3', s:fg3)
  322. call s:HL('GruvboxFg4', s:fg4)
  323. call s:HL('GruvboxGray', s:gray)
  324. call s:HL('GruvboxBg2', s:bg2)
  325. call s:HL('GruvboxRed', s:red)
  326. call s:HL('GruvboxRedBold', s:red, s:none, s:bold)
  327. call s:HL('GruvboxGreen', s:green)
  328. call s:HL('GruvboxGreenBold', s:green, s:none, s:bold)
  329. call s:HL('GruvboxYellow', s:yellow)
  330. call s:HL('GruvboxYellowBold', s:yellow, s:none, s:bold)
  331. call s:HL('GruvboxBlue', s:blue)
  332. " call s:HL('GruvboxBlueBold', s:blue, s:none, s:bold)
  333. call s:HL('GruvboxPurple', s:purple)
  334. " call s:HL('GruvboxPurpleBold', s:purple, s:none, s:bold)
  335. call s:HL('GruvboxAqua', s:aqua)
  336. call s:HL('GruvboxAquaBold', s:aqua, s:none, s:bold)
  337. call s:HL('GruvboxOrange', s:orange)
  338. call s:HL('GruvboxOrangeBold', s:orange, s:none, s:bold)
  339. call s:HL('GruvboxRedSign', s:red, s:sign_column, s:invert_signs)
  340. call s:HL('GruvboxGreenSign', s:green, s:sign_column, s:invert_signs)
  341. call s:HL('GruvboxYellowSign', s:yellow, s:sign_column, s:invert_signs)
  342. call s:HL('GruvboxBlueSign', s:blue, s:sign_column, s:invert_signs)
  343. call s:HL('GruvboxPurpleSign', s:purple, s:sign_column, s:invert_signs)
  344. call s:HL('GruvboxAquaSign', s:aqua, s:sign_column, s:invert_signs)
  345. " }}}
  346. " Vanilla colorscheme ---------------------------------------------------------
  347. " General UI: {{{
  348. " Normal text
  349. call s:HL('Normal', s:fg1, s:bg0)
  350. " Correct background (see issue #7):
  351. " --- Problem with changing between dark and light on 256 color terminal
  352. " --- https://github.com/morhetz/gruvbox/issues/7
  353. if s:is_dark
  354. set background=dark
  355. else
  356. set background=light
  357. endif
  358. if version >= 700
  359. " Screen line that the cursor is
  360. call s:HL('CursorLine', s:none, s:bg1)
  361. " Screen column that the cursor is
  362. hi! link CursorColumn CursorLine
  363. " Tab pages line filler
  364. call s:HL('TabLineFill', s:bg4, s:vim_bg, s:invert_tabline)
  365. " Active tab page label
  366. call s:HL('TabLineSel', s:vim_bg, s:bg4, s:bold . s:invert_tabline)
  367. " Not active tab page label
  368. hi! link TabLine TabLineFill
  369. " Match paired bracket under the cursor
  370. call s:HL('MatchParen', s:none, s:bg3, s:bold)
  371. endif
  372. if version >= 703
  373. " Highlighted screen columns
  374. call s:HL('ColorColumn', s:none, s:color_column)
  375. " Concealed element: \lambda → λ
  376. call s:HL('Conceal', s:blue, s:none)
  377. " Line number of CursorLine
  378. call s:HL('CursorLineNr', s:yellow, s:bg1)
  379. endif
  380. hi! link NonText GruvboxBg2
  381. hi! link SpecialKey GruvboxBg2
  382. call s:HL('Visual', s:none, s:bg3, s:invert_selection)
  383. hi! link VisualNOS Visual
  384. call s:HL('Search', s:bg0, s:yellow)
  385. call s:HL('IncSearch', s:bg0, s:hls_cursor)
  386. call s:HL('Underlined', s:blue, s:none, s:underline)
  387. call s:HL('StatusLine', s:bg4, s:bg0, s:bold . s:inverse)
  388. call s:HL('StatusLineNC', s:bg2, s:fg4, s:bold . s:inverse)
  389. " The column separating vertically split windows
  390. call s:HL('VertSplit', s:fg4, s:vert_split)
  391. " Current match in wildmenu completion
  392. call s:HL('WildMenu', s:blue, s:bg2, s:bold)
  393. " Directory names, special names in listing
  394. hi! link Directory GruvboxGreenBold
  395. " Titles for output from :set all, :autocmd, etc.
  396. hi! link Title GruvboxGreenBold
  397. " Error messages on the command line
  398. call s:HL('ErrorMsg', s:vim_bg, s:red, s:bold)
  399. " More prompt: -- More --
  400. hi! link MoreMsg GruvboxYellowBold
  401. " Current mode message: -- INSERT --
  402. hi! link ModeMsg GruvboxYellowBold
  403. " 'Press enter' prompt and yes/no questions
  404. hi! link Question GruvboxOrangeBold
  405. " Warning messages
  406. hi! link WarningMsg GruvboxRedBold
  407. " }}}
  408. " Gutter: {{{
  409. " Line number for :number and :# commands
  410. call s:HL('LineNr', s:number_column)
  411. " Column where signs are displayed
  412. call s:HL('SignColumn', s:none, s:sign_column)
  413. " Line used for closed folds
  414. call s:HL('Folded', s:gray, s:bg1, s:italic)
  415. " Column where folds are displayed
  416. call s:HL('FoldColumn', s:gray, s:bg1)
  417. " }}}
  418. " Cursor: {{{
  419. " Character under cursor
  420. call s:HL('Cursor', s:none, s:none, s:inverse)
  421. " Visual mode cursor, selection
  422. hi! link vCursor Cursor
  423. " Input moder cursor
  424. hi! link iCursor Cursor
  425. " Language mapping cursor
  426. hi! link lCursor Cursor
  427. " }}}
  428. " Syntax Highlighting: {{{
  429. if g:gruvbox_improved_strings == 0
  430. hi! link Special GruvboxOrange
  431. else
  432. call s:HL('Special', s:bg1, s:orange, s:italic)
  433. endif
  434. call s:HL('Comment', s:gray, s:none, s:italicize_comments)
  435. call s:HL('Todo', s:vim_fg, s:vim_bg, s:bold . s:italic)
  436. call s:HL('Error', s:red, s:vim_bg, s:bold . s:inverse)
  437. " Generic statement
  438. hi! link Statement GruvboxRed
  439. " if, then, else, endif, swicth, etc.
  440. hi! link Conditional GruvboxRed
  441. " for, do, while, etc.
  442. hi! link Repeat GruvboxRed
  443. " case, default, etc.
  444. hi! link Label GruvboxRed
  445. " try, catch, throw
  446. hi! link Exception GruvboxRed
  447. " sizeof, "+", "*", etc.
  448. hi! link Operator Normal
  449. " Any other keyword
  450. hi! link Keyword GruvboxRed
  451. " Variable name
  452. hi! link Identifier GruvboxBlue
  453. " Function name
  454. hi! link Function GruvboxGreenBold
  455. " Generic preprocessor
  456. hi! link PreProc GruvboxAqua
  457. " Preprocessor #include
  458. hi! link Include GruvboxAqua
  459. " Preprocessor #define
  460. hi! link Define GruvboxAqua
  461. " Same as Define
  462. hi! link Macro GruvboxAqua
  463. " Preprocessor #if, #else, #endif, etc.
  464. hi! link PreCondit GruvboxAqua
  465. " Generic constant
  466. hi! link Constant GruvboxPurple
  467. " Character constant: 'c', '/n'
  468. hi! link Character GruvboxPurple
  469. " String constant: "this is a string"
  470. if g:gruvbox_improved_strings == 0
  471. call s:HL('String', s:green, s:none, s:italicize_strings)
  472. else
  473. call s:HL('String', s:bg1, s:fg1, s:italicize_strings)
  474. endif
  475. " Boolean constant: TRUE, false
  476. hi! link Boolean GruvboxPurple
  477. " Number constant: 234, 0xff
  478. hi! link Number GruvboxPurple
  479. " Floating point constant: 2.3e10
  480. hi! link Float GruvboxPurple
  481. " Generic type
  482. hi! link Type GruvboxYellow
  483. " static, register, volatile, etc
  484. hi! link StorageClass GruvboxOrange
  485. " struct, union, enum, etc.
  486. hi! link Structure GruvboxAqua
  487. " typedef
  488. hi! link Typedef GruvboxYellow
  489. " }}}
  490. " Completion Menu: {{{
  491. if version >= 700
  492. " Popup menu: normal item
  493. call s:HL('Pmenu', s:fg1, s:bg2)
  494. " Popup menu: selected item
  495. call s:HL('PmenuSel', s:bg2, s:blue, s:bold)
  496. " Popup menu: scrollbar
  497. call s:HL('PmenuSbar', s:none, s:bg2)
  498. " Popup menu: scrollbar thumb
  499. call s:HL('PmenuThumb', s:none, s:bg4)
  500. endif
  501. " }}}
  502. " Diffs: {{{
  503. call s:HL('DiffDelete', s:red, s:bg0, s:inverse)
  504. call s:HL('DiffAdd', s:green, s:bg0, s:inverse)
  505. "call s:HL('DiffChange', s:bg0, s:blue)
  506. "call s:HL('DiffText', s:bg0, s:yellow)
  507. " Alternative setting
  508. call s:HL('DiffChange', s:aqua, s:bg0, s:inverse)
  509. call s:HL('DiffText', s:yellow, s:bg0, s:inverse)
  510. " }}}
  511. " Spelling: {{{
  512. if has("spell")
  513. " Not capitalised word, or compile warnings
  514. if g:gruvbox_improved_warnings == 0
  515. call s:HL('SpellCap', s:none, s:none, s:undercurl, s:red)
  516. else
  517. call s:HL('SpellCap', s:green, s:none, s:bold . s:italic)
  518. endif
  519. " Not recognized word
  520. call s:HL('SpellBad', s:none, s:none, s:undercurl, s:blue)
  521. " Wrong spelling for selected region
  522. call s:HL('SpellLocal', s:none, s:none, s:undercurl, s:aqua)
  523. " Rare word
  524. call s:HL('SpellRare', s:none, s:none, s:undercurl, s:purple)
  525. endif
  526. " }}}
  527. " Plugin specific -------------------------------------------------------------
  528. " EasyMotion: {{{
  529. hi! link EasyMotionTarget Search
  530. hi! link EasyMotionShade Comment
  531. " }}}
  532. " Sneak: {{{
  533. hi! link SneakPluginTarget Search
  534. hi! link SneakStreakTarget Search
  535. call s:HL('SneakStreakMask', s:yellow, s:yellow)
  536. hi! link SneakStreakStatusLine Search
  537. " }}}
  538. " Indent Guides: {{{
  539. if !exists('g:indent_guides_auto_colors')
  540. let g:indent_guides_auto_colors = 0
  541. endif
  542. if g:indent_guides_auto_colors == 0
  543. if g:gruvbox_invert_indent_guides == 0
  544. call s:HL('IndentGuidesOdd', s:vim_bg, s:bg2)
  545. call s:HL('IndentGuidesEven', s:vim_bg, s:bg1)
  546. else
  547. call s:HL('IndentGuidesOdd', s:vim_bg, s:bg2, s:inverse)
  548. call s:HL('IndentGuidesEven', s:vim_bg, s:bg3, s:inverse)
  549. endif
  550. endif
  551. " }}}
  552. " IndentLine: {{{
  553. if !exists('g:indentLine_color_term')
  554. let g:indentLine_color_term = s:bg2[1]
  555. endif
  556. if !exists('g:indentLine_color_gui')
  557. let g:indentLine_color_gui = s:bg2[0]
  558. endif
  559. " }}}
  560. " Rainbow Parentheses: {{{
  561. if !exists('g:rbpt_colorpairs')
  562. let g:rbpt_colorpairs =
  563. \ [
  564. \ ['blue', '#458588'], ['magenta', '#b16286'],
  565. \ ['red', '#cc241d'], ['166', '#d65d0e']
  566. \ ]
  567. endif
  568. let g:rainbow_guifgs = [ '#d65d0e', '#cc241d', '#b16286', '#458588' ]
  569. let g:rainbow_ctermfgs = [ '166', 'red', 'magenta', 'blue' ]
  570. if !exists('g:rainbow_conf')
  571. let g:rainbow_conf = {}
  572. endif
  573. if !has_key(g:rainbow_conf, 'guifgs')
  574. let g:rainbow_conf['guifgs'] = g:rainbow_guifgs
  575. endif
  576. if !has_key(g:rainbow_conf, 'ctermfgs')
  577. let g:rainbow_conf['ctermfgs'] = g:rainbow_ctermfgs
  578. endif
  579. let g:niji_dark_colours = g:rbpt_colorpairs
  580. let g:niji_light_colours = g:rbpt_colorpairs
  581. "}}}
  582. " GitGutter: {{{
  583. hi! link GitGutterAdd GruvboxGreenSign
  584. hi! link GitGutterChange GruvboxAquaSign
  585. hi! link GitGutterDelete GruvboxRedSign
  586. hi! link GitGutterChangeDelete GruvboxAquaSign
  587. " }}}
  588. " GitCommit: "{{{
  589. hi! link gitcommitSelectedFile GruvboxGreen
  590. hi! link gitcommitDiscardedFile GruvboxRed
  591. " }}}
  592. " Signify: {{{
  593. hi! link SignifySignAdd GruvboxGreenSign
  594. hi! link SignifySignChange GruvboxAquaSign
  595. hi! link SignifySignDelete GruvboxRedSign
  596. " }}}
  597. " Syntastic: {{{
  598. call s:HL('SyntasticError', s:none, s:none, s:undercurl, s:red)
  599. call s:HL('SyntasticWarning', s:none, s:none, s:undercurl, s:yellow)
  600. hi! link SyntasticErrorSign GruvboxRedSign
  601. hi! link SyntasticWarningSign GruvboxYellowSign
  602. " }}}
  603. " Signature: {{{
  604. hi! link SignatureMarkerText GruvboxPurpleSign
  605. hi! link SignatureMarkText GruvboxBlueSign
  606. let g:SignatureMarkerTextHL='"SignatureMarkerText"'
  607. let g:SignatureMarkTextHL='"SignatureMarkText"'
  608. " }}}
  609. " ShowMarks: {{{
  610. hi! link ShowMarksHLl GruvboxBlueSign
  611. hi! link ShowMarksHLu GruvboxBlueSign
  612. hi! link ShowMarksHLo GruvboxBlueSign
  613. hi! link ShowMarksHLm GruvboxBlueSign
  614. " }}}
  615. " CtrlP: {{{
  616. hi! link CtrlPMatch GruvboxYellow
  617. hi! link CtrlPNoEntries GruvboxRed
  618. hi! link CtrlPPrtBase GruvboxBg2
  619. hi! link CtrlPPrtCursor GruvboxBlue
  620. hi! link CtrlPLinePre GruvboxBg2
  621. call s:HL('CtrlPMode1', s:blue, s:bg2, s:bold)
  622. call s:HL('CtrlPMode2', s:bg0, s:blue, s:bold)
  623. call s:HL('CtrlPStats', s:fg4, s:bg2, s:bold)
  624. " }}}
  625. " Startify: {{{
  626. hi! link StartifyBracket GruvboxFg3
  627. hi! link StartifyFile GruvboxFg0
  628. hi! link StartifyNumber GruvboxBlue
  629. hi! link StartifyPath GruvboxGray
  630. hi! link StartifySlash GruvboxGray
  631. hi! link StartifySection GruvboxYellow
  632. hi! link StartifySpecial GruvboxBg2
  633. hi! link StartifyHeader GruvboxOrange
  634. hi! link StartifyFooter GruvboxBg2
  635. " }}}
  636. " Vimshell: {{{
  637. let g:vimshell_escape_colors = [
  638. \ s:bg4[0], s:red[0], s:green[0], s:yellow[0],
  639. \ s:blue[0], s:purple[0], s:aqua[0], s:fg4[0],
  640. \ s:bg0[0], s:red[0], s:green[0], s:orange[0],
  641. \ s:blue[0], s:purple[0], s:aqua[0], s:fg0[0]
  642. \ ]
  643. " }}}
  644. " Filetype specific -----------------------------------------------------------
  645. " Diff: {{{
  646. hi! link diffAdded GruvboxGreen
  647. hi! link diffRemoved GruvboxRed
  648. hi! link diffChanged GruvboxAqua
  649. hi! link diffFile GruvboxOrange
  650. hi! link diffNewFile GruvboxYellow
  651. hi! link diffLine GruvboxBlue
  652. " }}}
  653. " Html: {{{
  654. hi! link htmlTag GruvboxBlue
  655. hi! link htmlEndTag GruvboxBlue
  656. hi! link htmlTagName GruvboxAquaBold
  657. hi! link htmlArg GruvboxAqua
  658. hi! link htmlScriptTag GruvboxPurple
  659. hi! link htmlTagN GruvboxFg1
  660. hi! link htmlSpecialTagName GruvboxAquaBold
  661. call s:HL('htmlLink', s:fg4, s:none, s:underline)
  662. hi! link htmlSpecialChar GruvboxOrange
  663. call s:HL('htmlBold', s:vim_fg, s:vim_bg, s:bold)
  664. call s:HL('htmlBoldUnderline', s:vim_fg, s:vim_bg, s:bold . s:underline)
  665. call s:HL('htmlBoldItalic', s:vim_fg, s:vim_bg, s:bold . s:italic)
  666. call s:HL('htmlBoldUnderlineItalic', s:vim_fg, s:vim_bg, s:bold . s:underline . s:italic)
  667. call s:HL('htmlUnderline', s:vim_fg, s:vim_bg, s:underline)
  668. call s:HL('htmlUnderlineItalic', s:vim_fg, s:vim_bg, s:underline . s:italic)
  669. call s:HL('htmlItalic', s:vim_fg, s:vim_bg, s:italic)
  670. " }}}
  671. " Xml: {{{
  672. hi! link xmlTag GruvboxBlue
  673. hi! link xmlEndTag GruvboxBlue
  674. hi! link xmlTagName GruvboxBlue
  675. hi! link xmlEqual GruvboxBlue
  676. hi! link docbkKeyword GruvboxAquaBold
  677. hi! link xmlDocTypeDecl GruvboxGray
  678. hi! link xmlDocTypeKeyword GruvboxPurple
  679. hi! link xmlCdataStart GruvboxGray
  680. hi! link xmlCdataCdata GruvboxPurple
  681. hi! link dtdFunction GruvboxGray
  682. hi! link dtdTagName GruvboxPurple
  683. hi! link xmlAttrib GruvboxAqua
  684. hi! link xmlProcessingDelim GruvboxGray
  685. hi! link dtdParamEntityPunct GruvboxGray
  686. hi! link dtdParamEntityDPunct GruvboxGray
  687. hi! link xmlAttribPunct GruvboxGray
  688. hi! link xmlEntity GruvboxOrange
  689. hi! link xmlEntityPunct GruvboxOrange
  690. " }}}
  691. " Vim: {{{
  692. call s:HL('vimCommentTitle', s:fg4_256, s:none, s:bold . s:italicize_comments)
  693. hi! link vimNotation GruvboxOrange
  694. hi! link vimBracket GruvboxOrange
  695. hi! link vimMapModKey GruvboxOrange
  696. hi! link vimFuncSID GruvboxFg3
  697. hi! link vimSetSep GruvboxFg3
  698. hi! link vimSep GruvboxFg3
  699. hi! link vimContinue GruvboxFg3
  700. " }}}
  701. " Clojure: {{{
  702. hi! link clojureKeyword GruvboxBlue
  703. hi! link clojureCond GruvboxOrange
  704. hi! link clojureSpecial GruvboxOrange
  705. hi! link clojureDefine GruvboxOrange
  706. hi! link clojureFunc GruvboxYellow
  707. hi! link clojureRepeat GruvboxYellow
  708. hi! link clojureCharacter GruvboxAqua
  709. hi! link clojureStringEscape GruvboxAqua
  710. hi! link clojureException GruvboxRed
  711. hi! link clojureRegexp GruvboxAqua
  712. hi! link clojureRegexpEscape GruvboxAqua
  713. call s:HL('clojureRegexpCharClass', s:fg3, s:none, s:bold)
  714. hi! link clojureRegexpMod clojureRegexpCharClass
  715. hi! link clojureRegexpQuantifier clojureRegexpCharClass
  716. hi! link clojureParen GruvboxFg3
  717. hi! link clojureAnonArg GruvboxYellow
  718. hi! link clojureVariable GruvboxBlue
  719. hi! link clojureMacro GruvboxOrange
  720. hi! link clojureMeta GruvboxYellow
  721. hi! link clojureDeref GruvboxYellow
  722. hi! link clojureQuote GruvboxYellow
  723. hi! link clojureUnquote GruvboxYellow
  724. " }}}
  725. " C: {{{
  726. hi! link cOperator GruvboxPurple
  727. hi! link cStructure GruvboxOrange
  728. " }}}
  729. " Python: {{{
  730. hi! link pythonBuiltin GruvboxOrange
  731. hi! link pythonBuiltinObj GruvboxOrange
  732. hi! link pythonBuiltinFunc GruvboxOrange
  733. hi! link pythonFunction GruvboxAqua
  734. hi! link pythonDecorator GruvboxRed
  735. hi! link pythonInclude GruvboxBlue
  736. hi! link pythonImport GruvboxBlue
  737. hi! link pythonRun GruvboxBlue
  738. hi! link pythonCoding GruvboxBlue
  739. hi! link pythonOperator GruvboxRed
  740. hi! link pythonExceptions GruvboxPurple
  741. hi! link pythonBoolean GruvboxPurple
  742. hi! link pythonDot GruvboxFg3
  743. " }}}
  744. " CSS: {{{
  745. hi! link cssBraces GruvboxBlue
  746. hi! link cssFunctionName GruvboxYellow
  747. hi! link cssIdentifier GruvboxOrange
  748. hi! link cssClassName GruvboxGreen
  749. hi! link cssColor GruvboxBlue
  750. hi! link cssSelectorOp GruvboxBlue
  751. hi! link cssSelectorOp2 GruvboxBlue
  752. hi! link cssImportant GruvboxGreen
  753. hi! link cssVendor GruvboxFg1
  754. hi! link cssTextProp GruvboxAqua
  755. hi! link cssAnimationProp GruvboxAqua
  756. hi! link cssUIProp GruvboxYellow
  757. hi! link cssTransformProp GruvboxAqua
  758. hi! link cssTransitionProp GruvboxAqua
  759. hi! link cssPrintProp GruvboxAqua
  760. hi! link cssPositioningProp GruvboxYellow
  761. hi! link cssBoxProp GruvboxAqua
  762. hi! link cssFontDescriptorProp GruvboxAqua
  763. hi! link cssFlexibleBoxProp GruvboxAqua
  764. hi! link cssBorderOutlineProp GruvboxAqua
  765. hi! link cssBackgroundProp GruvboxAqua
  766. hi! link cssMarginProp GruvboxAqua
  767. hi! link cssListProp GruvboxAqua
  768. hi! link cssTableProp GruvboxAqua
  769. hi! link cssFontProp GruvboxAqua
  770. hi! link cssPaddingProp GruvboxAqua
  771. hi! link cssDimensionProp GruvboxAqua
  772. hi! link cssRenderProp GruvboxAqua
  773. hi! link cssColorProp GruvboxAqua
  774. hi! link cssGeneratedContentProp GruvboxAqua
  775. " }}}
  776. " JavaScript: {{{
  777. hi! link javaScriptBraces GruvboxFg1
  778. hi! link javaScriptFunction GruvboxAqua
  779. hi! link javaScriptIdentifier GruvboxRed
  780. hi! link javaScriptMember GruvboxBlue
  781. hi! link javaScriptNumber GruvboxPurple
  782. hi! link javaScriptNull GruvboxPurple
  783. hi! link javaScriptParens GruvboxFg3
  784. " }}}
  785. " YAJS: {{{
  786. hi! link javascriptImport GruvboxAqua
  787. hi! link javascriptExport GruvboxAqua
  788. hi! link javascriptClassKeyword GruvboxAqua
  789. hi! link javascriptClassExtends GruvboxAqua
  790. hi! link javascriptDefault GruvboxAqua
  791. hi! link javascriptClassName GruvboxYellow
  792. hi! link javascriptClassSuperName GruvboxYellow
  793. hi! link javascriptGlobal GruvboxYellow
  794. hi! link javascriptEndColons GruvboxFg1
  795. hi! link javascriptFuncArg GruvboxFg1
  796. hi! link javascriptGlobalMethod GruvboxFg1
  797. hi! link javascriptNodeGlobal GruvboxFg1
  798. " hi! link javascriptVariable GruvboxOrange
  799. hi! link javascriptVariable GruvboxRed
  800. " hi! link javascriptIdentifier GruvboxOrange
  801. " hi! link javascriptClassSuper GruvboxOrange
  802. hi! link javascriptIdentifier GruvboxOrange
  803. hi! link javascriptClassSuper GruvboxOrange
  804. " hi! link javascriptFuncKeyword GruvboxOrange
  805. " hi! link javascriptAsyncFunc GruvboxOrange
  806. hi! link javascriptFuncKeyword GruvboxAqua
  807. hi! link javascriptAsyncFunc GruvboxAqua
  808. hi! link javascriptClassStatic GruvboxOrange
  809. hi! link javascriptOperator GruvboxRed
  810. hi! link javascriptForOperator GruvboxRed
  811. hi! link javascriptYield GruvboxRed
  812. hi! link javascriptExceptions GruvboxRed
  813. hi! link javascriptMessage GruvboxRed
  814. hi! link javascriptTemplateSB GruvboxAqua
  815. hi! link javascriptTemplateSubstitution GruvboxFg1
  816. " hi! link javascriptLabel GruvboxBlue
  817. " hi! link javascriptObjectLabel GruvboxBlue
  818. " hi! link javascriptPropertyName GruvboxBlue
  819. hi! link javascriptLabel GruvboxFg1
  820. hi! link javascriptObjectLabel GruvboxFg1
  821. hi! link javascriptPropertyName GruvboxFg1
  822. hi! link javascriptLogicSymbols GruvboxFg1
  823. hi! link javascriptArrowFunc GruvboxFg1
  824. hi! link javascriptDocParamName GruvboxFg4
  825. hi! link javascriptDocTags GruvboxFg4
  826. hi! link javascriptDocNotation GruvboxFg4
  827. hi! link javascriptDocParamType GruvboxFg4
  828. hi! link javascriptDocNamedParamType GruvboxFg4
  829. " }}}
  830. " CoffeeScript: {{{
  831. hi! link coffeeExtendedOp GruvboxFg3
  832. hi! link coffeeSpecialOp GruvboxFg3
  833. hi! link coffeeCurly GruvboxOrange
  834. hi! link coffeeParen GruvboxFg3
  835. hi! link coffeeBracket GruvboxOrange
  836. " }}}
  837. " Ruby: {{{
  838. hi! link rubyStringDelimiter GruvboxGreen
  839. hi! link rubyInterpolationDelimiter GruvboxAqua
  840. " }}}
  841. " ObjectiveC: {{{
  842. hi! link objcTypeModifier GruvboxRed
  843. hi! link objcDirective GruvboxBlue
  844. " }}}
  845. " Go: {{{
  846. hi! link goDirective GruvboxAqua
  847. hi! link goConstants GruvboxPurple
  848. hi! link goDeclaration GruvboxRed
  849. hi! link goDeclType GruvboxBlue
  850. hi! link goBuiltins GruvboxOrange
  851. " }}}
  852. " Lua: {{{
  853. hi! link luaIn GruvboxRed
  854. hi! link luaFunction GruvboxAqua
  855. hi! link luaTable GruvboxOrange
  856. " }}}
  857. " MoonScript: {{{
  858. hi! link moonSpecialOp GruvboxFg3
  859. hi! link moonExtendedOp GruvboxFg3
  860. hi! link moonFunction GruvboxFg3
  861. hi! link moonObject GruvboxYellow
  862. " }}}
  863. " Java: {{{
  864. hi! link javaAnnotation GruvboxBlue
  865. hi! link javaDocTags GruvboxAqua
  866. hi! link javaCommentTitle vimCommentTitle
  867. hi! link javaParen GruvboxFg3
  868. hi! link javaParen1 GruvboxFg3
  869. hi! link javaParen2 GruvboxFg3
  870. hi! link javaParen3 GruvboxFg3
  871. hi! link javaParen4 GruvboxFg3
  872. hi! link javaParen5 GruvboxFg3
  873. hi! link javaOperator GruvboxOrange
  874. hi! link javaVarArg GruvboxGreen
  875. " }}}
  876. " Elixir: {{{
  877. hi! link elixirDocString Comment
  878. hi! link elixirStringDelimiter GruvboxGreen
  879. hi! link elixirInterpolationDelimiter GruvboxAqua
  880. " }}}
  881. " Scala: {{{
  882. " NB: scala vim syntax file is kinda horrible
  883. hi! link scalaNameDefinition GruvboxFg1
  884. hi! link scalaCaseFollowing GruvboxFg1
  885. hi! link scalaCapitalWord GruvboxFg1
  886. hi! link scalaTypeExtension GruvboxFg1
  887. hi! link scalaKeyword GruvboxRed
  888. hi! link scalaKeywordModifier GruvboxRed
  889. hi! link scalaSpecial GruvboxAqua
  890. hi! link scalaOperator GruvboxFg1
  891. hi! link scalaTypeDeclaration GruvboxYellow
  892. hi! link scalaTypeTypePostDeclaration GruvboxYellow
  893. hi! link scalaInstanceDeclaration GruvboxFg1
  894. hi! link scalaInterpolation GruvboxAqua
  895. " }}}
  896. " Markdown: {{{
  897. call s:HL('markdownItalic', s:fg3, s:none, s:italic)
  898. hi! link markdownH1 GruvboxGreenBold
  899. hi! link markdownH2 GruvboxGreenBold
  900. hi! link markdownH3 GruvboxYellowBold
  901. hi! link markdownH4 GruvboxYellowBold
  902. hi! link markdownH5 GruvboxYellow
  903. hi! link markdownH6 GruvboxYellow
  904. hi! link markdownCode GruvboxAqua
  905. hi! link markdownCodeBlock GruvboxAqua
  906. hi! link markdownCodeDelimiter GruvboxAqua
  907. hi! link markdownBlockquote GruvboxGray
  908. hi! link markdownListMarker GruvboxGray
  909. hi! link markdownOrderedListMarker GruvboxGray
  910. hi! link markdownRule GruvboxGray
  911. hi! link markdownHeadingRule GruvboxGray
  912. hi! link markdownUrlDelimiter GruvboxFg3
  913. hi! link markdownLinkDelimiter GruvboxFg3
  914. hi! link markdownLinkTextDelimiter GruvboxFg3
  915. hi! link markdownHeadingDelimiter GruvboxOrange
  916. hi! link markdownUrl GruvboxPurple
  917. hi! link markdownUrlTitleDelimiter GruvboxGreen
  918. call s:HL('markdownLinkText', s:gray, s:none, s:underline)
  919. call s:HL('markdownIdDeclaration', s:gray, s:none, s:underline)
  920. " }}}
  921. " Haskell: {{{
  922. " hi! link haskellType GruvboxYellow
  923. " hi! link haskellOperators GruvboxOrange
  924. " hi! link haskellConditional GruvboxAqua
  925. " hi! link haskellLet GruvboxOrange
  926. "
  927. hi! link haskellType GruvboxFg1
  928. hi! link haskellIdentifier GruvboxFg1
  929. hi! link haskellSeparator GruvboxFg1
  930. hi! link haskellDelimiter GruvboxFg4
  931. hi! link haskellOperators GruvboxBlue
  932. "
  933. hi! link haskellBacktick GruvboxOrange
  934. hi! link haskellStatement GruvboxOrange
  935. hi! link haskellConditional GruvboxOrange
  936. hi! link haskellLet GruvboxAqua
  937. hi! link haskellDefault GruvboxAqua
  938. hi! link haskellWhere GruvboxAqua
  939. hi! link haskellBottom GruvboxAqua
  940. hi! link haskellBlockKeywords GruvboxAqua
  941. hi! link haskellImportKeywords GruvboxAqua
  942. hi! link haskellDeclKeyword GruvboxAqua
  943. hi! link haskellDeriving GruvboxAqua
  944. hi! link haskellAssocType GruvboxAqua
  945. hi! link haskellNumber GruvboxPurple
  946. hi! link haskellPragma GruvboxPurple
  947. hi! link haskellString GruvboxGreen
  948. hi! link haskellChar GruvboxGreen
  949. " }}}
  950. " Json: {{{
  951. hi! link jsonKeyword GruvboxGreen
  952. hi! link jsonQuote GruvboxGreen
  953. hi! link jsonBraces GruvboxFg1
  954. hi! link jsonString GruvboxFg1
  955. " }}}
  956. " Functions -------------------------------------------------------------------
  957. " Search Highlighting Cursor {{{
  958. function! GruvboxHlsShowCursor()
  959. call s:HL('Cursor', s:bg0, s:hls_cursor)
  960. endfunction
  961. function! GruvboxHlsHideCursor()
  962. call s:HL('Cursor', s:none, s:none, s:inverse)
  963. endfunction
  964. " }}}
  965. " vim: set sw=2 ts=2 sts=2 et tw=80 ft=vim fdm=marker: