Advertisement
Guest User

Untitled

a guest
Nov 25th, 2017
397
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 37.64 KB | None | 0 0
  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: 12 Aug 2017
  7. " -----------------------------------------------------------------------------
  8.  
  9. " Supporting code -------------------------------------------------------------
  10. " Initialisation: {{{
  11.  
  12. if version > 580
  13. hi clear
  14. if exists("syntax_on")
  15. syntax reset
  16. endif
  17. endif
  18.  
  19. let g:colors_name='gruvbox'
  20.  
  21. if !(has('termguicolors') && &termguicolors) && !has('gui_running') && &t_Co != 256
  22. finish
  23. endif
  24.  
  25. " }}}
  26. " Global Settings: {{{
  27.  
  28. if !exists('g:gruvbox_bold')
  29. let g:gruvbox_bold=0
  30. endif
  31. if !exists('g:gruvbox_italic')
  32. if has('gui_running') || $TERM_ITALICS == 'true'
  33. let g:gruvbox_italic=1
  34. else
  35. let g:gruvbox_italic=0
  36. endif
  37. endif
  38. if !exists('g:gruvbox_undercurl')
  39. let g:gruvbox_undercurl=0
  40. endif
  41. if !exists('g:gruvbox_underline')
  42. let g:gruvbox_underline=0
  43. endif
  44. if !exists('g:gruvbox_inverse')
  45. let g:gruvbox_inverse=1
  46. endif
  47.  
  48. if !exists('g:gruvbox_guisp_fallback') || index(['fg', 'bg'], g:gruvbox_guisp_fallback) == -1
  49. let g:gruvbox_guisp_fallback='NONE'
  50. endif
  51.  
  52. if !exists('g:gruvbox_improved_strings')
  53. let g:gruvbox_improved_strings=0
  54. endif
  55.  
  56. if !exists('g:gruvbox_improved_warnings')
  57. let g:gruvbox_improved_warnings=0
  58. endif
  59.  
  60. if !exists('g:gruvbox_termcolors')
  61. let g:gruvbox_termcolors=256
  62. endif
  63.  
  64. if !exists('g:gruvbox_invert_indent_guides')
  65. let g:gruvbox_invert_indent_guides=0
  66. endif
  67.  
  68. if exists('g:gruvbox_contrast')
  69. echo 'g:gruvbox_contrast is deprecated; use g:gruvbox_contrast_light and g:gruvbox_contrast_dark instead'
  70. endif
  71.  
  72. if !exists('g:gruvbox_contrast_dark')
  73. let g:gruvbox_contrast_dark='soft'
  74. endif
  75.  
  76. if !exists('g:gruvbox_contrast_light')
  77. let g:gruvbox_contrast_light='medium'
  78. endif
  79.  
  80. let s:is_dark=(&background == 'dark')
  81.  
  82. " }}}
  83. " Palette: {{{
  84.  
  85. " setup palette dictionary
  86. let s:gb = {}
  87.  
  88. " fill it with absolute colors
  89. let s:gb.dark0_hard = ['#1d2021', 234] " 29-32-33
  90. let s:gb.dark0 = ['#282828', 235] " 40-40-40
  91. let s:gb.dark0_soft = ['#32302f', 236] " 50-48-47
  92. let s:gb.dark1 = ['#3c3836', 237] " 60-56-54
  93. let s:gb.dark2 = ['#504945', 239] " 80-73-69
  94. let s:gb.dark3 = ['#665c54', 241] " 102-92-84
  95. let s:gb.dark4 = ['#7c6f64', 243] " 124-111-100
  96. let s:gb.dark4_256 = ['#7c6f64', 243] " 124-111-100
  97.  
  98. let s:gb.gray_245 = ['#928374', 245] " 146-131-116
  99. let s:gb.gray_244 = ['#928374', 244] " 146-131-116
  100.  
  101. let s:gb.light0_hard = ['#f9f5d7', 230] " 249-245-215
  102. let s:gb.light0 = ['#fbf1c7', 229] " 253-244-193
  103. let s:gb.light0_soft = ['#f2e5bc', 228] " 242-229-188
  104. let s:gb.light1 = ['#ebdbb2', 223] " 235-219-178
  105. let s:gb.light2 = ['#d5c4a1', 250] " 213-196-161
  106. let s:gb.light3 = ['#bdae93', 248] " 189-174-147
  107. let s:gb.light4 = ['#a89984', 246] " 168-153-132
  108. let s:gb.light4_256 = ['#a89984', 246] " 168-153-132
  109.  
  110. let s:gb.bright_red = ['#fb4934', 167] " 251-73-52
  111. let s:gb.bright_green = ['#b8bb26', 149] " 184-187-38
  112. let s:gb.bright_yellow = ['#fabd2f', 214] " 250-189-47
  113. let s:gb.bright_blue = ['#83a598', 109] " 131-165-152
  114. let s:gb.bright_purple = ['#d3869b', 175] " 211-134-155
  115. let s:gb.bright_aqua = ['#8ec07c', 108] " 142-192-124
  116. let s:gb.bright_orange = ['#fe8019', 208] " 254-128-25
  117.  
  118. let s:gb.neutral_red = ['#cc241d', 124] " 204-36-29
  119. let s:gb.neutral_green = ['#98971a', 106] " 152-151-26
  120. let s:gb.neutral_yellow = ['#d79921', 172] " 215-153-33
  121. let s:gb.neutral_blue = ['#458588', 66] " 69-133-136
  122. let s:gb.neutral_purple = ['#b16286', 132] " 177-98-134
  123. let s:gb.neutral_aqua = ['#689d6a', 72] " 104-157-106
  124. let s:gb.neutral_orange = ['#d65d0e', 166] " 214-93-14
  125.  
  126. let s:gb.faded_red = ['#9d0006', 88] " 157-0-6
  127. let s:gb.faded_green = ['#79740e', 100] " 121-116-14
  128. let s:gb.faded_yellow = ['#b57614', 136] " 181-118-20
  129. let s:gb.faded_blue = ['#076678', 24] " 7-102-120
  130. let s:gb.faded_purple = ['#8f3f71', 96] " 143-63-113
  131. let s:gb.faded_aqua = ['#427b58', 66] " 66-123-88
  132. let s:gb.faded_orange = ['#af3a03', 130] " 175-58-3
  133.  
  134. " }}}
  135. " Setup Emphasis: {{{
  136.  
  137. let s:bold = 'bold,'
  138. if g:gruvbox_bold == 0
  139. let s:bold = ''
  140. endif
  141.  
  142. let s:italic = 'italic,'
  143. if g:gruvbox_italic == 0
  144. let s:italic = ''
  145. endif
  146.  
  147. let s:underline = 'underline,'
  148. if g:gruvbox_underline == 0
  149. let s:underline = ''
  150. endif
  151.  
  152. let s:undercurl = 'undercurl,'
  153. if g:gruvbox_undercurl == 0
  154. let s:undercurl = ''
  155. endif
  156.  
  157. let s:inverse = 'inverse,'
  158. if g:gruvbox_inverse == 0
  159. let s:inverse = ''
  160. endif
  161.  
  162. " }}}
  163. " Setup Colors: {{{
  164.  
  165. let s:vim_bg = ['bg', 'bg']
  166. let s:vim_fg = ['fg', 'fg']
  167. let s:none = ['NONE', 'NONE']
  168.  
  169. " determine relative colors
  170. if s:is_dark
  171. let s:bg0 = s:gb.dark0
  172. if g:gruvbox_contrast_dark == 'soft'
  173. let s:bg0 = s:gb.dark0_soft
  174. elseif g:gruvbox_contrast_dark == 'hard'
  175. let s:bg0 = s:gb.dark0_hard
  176. endif
  177.  
  178. let s:bg1 = s:gb.dark1
  179. let s:bg2 = s:gb.dark2
  180. let s:bg3 = s:gb.dark3
  181. let s:bg4 = s:gb.dark4
  182.  
  183. let s:gray = s:gb.gray_245
  184.  
  185. let s:fg0 = s:gb.light0
  186. let s:fg1 = s:gb.light1
  187. let s:fg2 = s:gb.light2
  188. let s:fg3 = s:gb.light3
  189. let s:fg4 = s:gb.light4
  190.  
  191. let s:fg4_256 = s:gb.light4_256
  192.  
  193. let s:red = s:gb.bright_red
  194. let s:green = s:gb.bright_green
  195. let s:yellow = s:gb.bright_yellow
  196. let s:blue = s:gb.bright_blue
  197. let s:purple = s:gb.bright_purple
  198. let s:aqua = s:gb.bright_aqua
  199. let s:orange = s:gb.bright_orange
  200. else
  201. let s:bg0 = s:gb.light0
  202. if g:gruvbox_contrast_light == 'soft'
  203. let s:bg0 = s:gb.light0_soft
  204. elseif g:gruvbox_contrast_light == 'hard'
  205. let s:bg0 = s:gb.light0_hard
  206. endif
  207.  
  208. let s:bg1 = s:gb.light1
  209. let s:bg2 = s:gb.light2
  210. let s:bg3 = s:gb.light3
  211. let s:bg4 = s:gb.light4
  212.  
  213. let s:gray = s:gb.gray_244
  214.  
  215. let s:fg0 = s:gb.dark0
  216. let s:fg1 = s:gb.dark1
  217. let s:fg2 = s:gb.dark2
  218. let s:fg3 = s:gb.dark3
  219. let s:fg4 = s:gb.dark4
  220.  
  221. let s:fg4_256 = s:gb.dark4_256
  222.  
  223. let s:red = s:gb.faded_red
  224. let s:green = s:gb.faded_green
  225. let s:yellow = s:gb.faded_yellow
  226. let s:blue = s:gb.faded_blue
  227. let s:purple = s:gb.faded_purple
  228. let s:aqua = s:gb.faded_aqua
  229. let s:orange = s:gb.faded_orange
  230. endif
  231.  
  232. " reset to 16 colors fallback
  233. if g:gruvbox_termcolors == 16
  234. let s:bg0[1] = 0
  235. let s:fg4[1] = 7
  236. let s:gray[1] = 8
  237. let s:red[1] = 9
  238. let s:green[1] = 10
  239. let s:yellow[1] = 11
  240. let s:blue[1] = 12
  241. let s:purple[1] = 13
  242. let s:aqua[1] = 14
  243. let s:fg1[1] = 15
  244. endif
  245.  
  246. " save current relative colors back to palette dictionary
  247. let s:gb.bg0 = s:bg0
  248. let s:gb.bg1 = s:bg1
  249. let s:gb.bg2 = s:bg2
  250. let s:gb.bg3 = s:bg3
  251. let s:gb.bg4 = s:bg4
  252.  
  253. let s:gb.gray = s:gray
  254.  
  255. let s:gb.fg0 = s:fg0
  256. let s:gb.fg1 = s:fg1
  257. let s:gb.fg2 = s:fg2
  258. let s:gb.fg3 = s:fg3
  259. let s:gb.fg4 = s:fg4
  260.  
  261. let s:gb.fg4_256 = s:fg4_256
  262.  
  263. let s:gb.red = s:red
  264. let s:gb.green = s:green
  265. let s:gb.yellow = s:yellow
  266. let s:gb.blue = s:blue
  267. let s:gb.purple = s:purple
  268. let s:gb.aqua = s:aqua
  269. let s:gb.orange = s:orange
  270.  
  271. " }}}
  272. " Setup Terminal Colors For Neovim: {{{
  273.  
  274. if has('nvim')
  275. let g:terminal_color_0 = s:bg0[0]
  276. let g:terminal_color_8 = s:gray[0]
  277.  
  278. let g:terminal_color_1 = s:gb.neutral_red[0]
  279. let g:terminal_color_9 = s:red[0]
  280.  
  281. let g:terminal_color_2 = s:gb.neutral_green[0]
  282. let g:terminal_color_10 = s:green[0]
  283.  
  284. let g:terminal_color_3 = s:gb.neutral_yellow[0]
  285. let g:terminal_color_11 = s:yellow[0]
  286.  
  287. let g:terminal_color_4 = s:gb.neutral_blue[0]
  288. let g:terminal_color_12 = s:blue[0]
  289.  
  290. let g:terminal_color_5 = s:gb.neutral_purple[0]
  291. let g:terminal_color_13 = s:purple[0]
  292.  
  293. let g:terminal_color_6 = s:gb.neutral_aqua[0]
  294. let g:terminal_color_14 = s:aqua[0]
  295.  
  296. let g:terminal_color_7 = s:fg4[0]
  297. let g:terminal_color_15 = s:fg1[0]
  298. endif
  299.  
  300. " }}}
  301. " Overload Setting: {{{
  302.  
  303. let s:hls_cursor = s:orange
  304. if exists('g:gruvbox_hls_cursor')
  305. let s:hls_cursor = get(s:gb, g:gruvbox_hls_cursor)
  306. endif
  307.  
  308. let s:number_column = s:none
  309. if exists('g:gruvbox_number_column')
  310. let s:number_column = get(s:gb, g:gruvbox_number_column)
  311. endif
  312.  
  313. let s:sign_column = s:bg1
  314.  
  315. if exists('g:gitgutter_override_sign_column_highlight') &&
  316. \ g:gitgutter_override_sign_column_highlight == 1
  317. let s:sign_column = s:number_column
  318. else
  319. let g:gitgutter_override_sign_column_highlight = 0
  320.  
  321. if exists('g:gruvbox_sign_column')
  322. let s:sign_column = get(s:gb, g:gruvbox_sign_column)
  323. endif
  324. endif
  325.  
  326. let s:color_column = s:bg1
  327. if exists('g:gruvbox_color_column')
  328. let s:color_column = get(s:gb, g:gruvbox_color_column)
  329. endif
  330.  
  331. let s:vert_split = s:bg0
  332. if exists('g:gruvbox_vert_split')
  333. let s:vert_split = get(s:gb, g:gruvbox_vert_split)
  334. endif
  335.  
  336. let s:invert_signs = ''
  337. if exists('g:gruvbox_invert_signs')
  338. if g:gruvbox_invert_signs == 1
  339. let s:invert_signs = s:inverse
  340. endif
  341. endif
  342.  
  343. let s:invert_selection = s:inverse
  344. if exists('g:gruvbox_invert_selection')
  345. if g:gruvbox_invert_selection == 0
  346. let s:invert_selection = ''
  347. endif
  348. endif
  349.  
  350. let s:invert_tabline = ''
  351. if exists('g:gruvbox_invert_tabline')
  352. if g:gruvbox_invert_tabline == 1
  353. let s:invert_tabline = s:inverse
  354. endif
  355. endif
  356.  
  357. let s:italicize_comments = s:italic
  358. if exists('g:gruvbox_italicize_comments')
  359. if g:gruvbox_italicize_comments == 0
  360. let s:italicize_comments = ''
  361. endif
  362. endif
  363.  
  364. let s:italicize_strings = ''
  365. if exists('g:gruvbox_italicize_strings')
  366. if g:gruvbox_italicize_strings == 1
  367. let s:italicize_strings = s:italic
  368. endif
  369. endif
  370.  
  371. " }}}
  372. " Highlighting Function: {{{
  373.  
  374. function! s:HL(group, fg, ...)
  375. " Arguments: group, guifg, guibg, gui, guisp
  376.  
  377. " foreground
  378. let fg = a:fg
  379.  
  380. " background
  381. if a:0 >= 1
  382. let bg = a:1
  383. else
  384. let bg = s:none
  385. endif
  386.  
  387. " emphasis
  388. if a:0 >= 2 && strlen(a:2)
  389. let emstr = a:2
  390. else
  391. let emstr = 'NONE,'
  392. endif
  393.  
  394. " special fallback
  395. if a:0 >= 3
  396. if g:gruvbox_guisp_fallback != 'NONE'
  397. let fg = a:3
  398. endif
  399.  
  400. " bg fallback mode should invert higlighting
  401. if g:gruvbox_guisp_fallback == 'bg'
  402. let emstr .= 'inverse,'
  403. endif
  404. endif
  405.  
  406. let histring = [ 'hi', a:group,
  407. \ 'guifg=' . fg[0], 'ctermfg=' . fg[1],
  408. \ 'guibg=' . bg[0], 'ctermbg=' . bg[1],
  409. \ 'gui=' . emstr[:-2], 'cterm=' . emstr[:-2]
  410. \ ]
  411.  
  412. " special
  413. if a:0 >= 3
  414. call add(histring, 'guisp=' . a:3[0])
  415. endif
  416.  
  417. execute join(histring, ' ')
  418. endfunction
  419.  
  420. " }}}
  421. " Gruvbox Hi Groups: {{{
  422.  
  423. " memoize common hi groups
  424. call s:HL('GruvboxFg0', s:fg0)
  425. call s:HL('GruvboxFg1', s:fg1)
  426. call s:HL('GruvboxFg2', s:fg2)
  427. call s:HL('GruvboxFg3', s:fg3)
  428. call s:HL('GruvboxFg4', s:fg4)
  429. call s:HL('GruvboxGray', s:gray)
  430. call s:HL('GruvboxBg0', s:bg0)
  431. call s:HL('GruvboxBg1', s:bg1)
  432. call s:HL('GruvboxBg2', s:bg2)
  433. call s:HL('GruvboxBg3', s:bg3)
  434. call s:HL('GruvboxBg4', s:bg4)
  435.  
  436. call s:HL('GruvboxRed', s:red)
  437. call s:HL('GruvboxRedBold', s:red, s:none, s:bold)
  438. call s:HL('GruvboxGreen', s:green)
  439. call s:HL('GruvboxGreenBold', s:green, s:none, s:bold)
  440. call s:HL('GruvboxYellow', s:yellow)
  441. call s:HL('GruvboxYellowBold', s:yellow, s:none, s:bold)
  442. call s:HL('GruvboxBlue', s:blue)
  443. call s:HL('GruvboxBlueBold', s:blue, s:none, s:bold)
  444. call s:HL('GruvboxPurple', s:purple)
  445. call s:HL('GruvboxPurpleBold', s:purple, s:none, s:bold)
  446. call s:HL('GruvboxAqua', s:aqua)
  447. call s:HL('GruvboxAquaBold', s:aqua, s:none, s:bold)
  448. call s:HL('GruvboxOrange', s:orange)
  449. call s:HL('GruvboxOrangeBold', s:orange, s:none, s:bold)
  450.  
  451. call s:HL('GruvboxRedSign', s:red, s:sign_column, s:invert_signs)
  452. call s:HL('GruvboxGreenSign', s:green, s:sign_column, s:invert_signs)
  453. call s:HL('GruvboxYellowSign', s:yellow, s:sign_column, s:invert_signs)
  454. call s:HL('GruvboxBlueSign', s:blue, s:sign_column, s:invert_signs)
  455. call s:HL('GruvboxPurpleSign', s:purple, s:sign_column, s:invert_signs)
  456. call s:HL('GruvboxAquaSign', s:aqua, s:sign_column, s:invert_signs)
  457.  
  458. " }}}
  459.  
  460. " Vanilla colorscheme ---------------------------------------------------------
  461. " General UI: {{{
  462.  
  463. " Normal text
  464. call s:HL('Normal', s:fg1, s:bg0)
  465.  
  466. " Correct background (see issue #7):
  467. " --- Problem with changing between dark and light on 256 color terminal
  468. " --- https://github.com/morhetz/gruvbox/issues/7
  469. if s:is_dark
  470. set background=dark
  471. else
  472. set background=light
  473. endif
  474.  
  475. if version >= 700
  476. " Screen line that the cursor is
  477. call s:HL('CursorLine', s:none, s:bg1)
  478. " Screen column that the cursor is
  479. hi! link CursorColumn CursorLine
  480.  
  481. " Tab pages line filler
  482. call s:HL('TabLineFill', s:bg4, s:bg1, s:invert_tabline)
  483. " Active tab page label
  484. call s:HL('TabLineSel', s:green, s:bg1, s:invert_tabline)
  485. " Not active tab page label
  486. hi! link TabLine TabLineFill
  487.  
  488. " Match paired bracket under the cursor
  489. call s:HL('MatchParen', s:none, s:bg3, s:bold)
  490. endif
  491.  
  492. if version >= 703
  493. " Highlighted screen columns
  494. call s:HL('ColorColumn', s:none, s:color_column)
  495.  
  496. " Concealed element: \lambda → λ
  497. call s:HL('Conceal', s:blue, s:none)
  498.  
  499. " Line number of CursorLine
  500. call s:HL('CursorLineNr', s:yellow, s:bg1)
  501. endif
  502.  
  503. hi! link NonText GruvboxBg2
  504. hi! link SpecialKey GruvboxBg2
  505.  
  506. call s:HL('Visual', s:none, s:bg3, s:invert_selection)
  507. hi! link VisualNOS Visual
  508.  
  509. call s:HL('Search', s:yellow, s:bg0, s:inverse)
  510. call s:HL('IncSearch', s:hls_cursor, s:bg0, s:inverse)
  511.  
  512. call s:HL('Underlined', s:blue, s:none, s:underline)
  513.  
  514. call s:HL('StatusLine', s:bg2, s:fg1, s:inverse)
  515. call s:HL('StatusLineNC', s:bg1, s:fg4, s:inverse)
  516.  
  517. " The column separating vertically split windows
  518. call s:HL('VertSplit', s:bg3, s:vert_split)
  519.  
  520. " Current match in wildmenu completion
  521. call s:HL('WildMenu', s:blue, s:bg2, s:bold)
  522.  
  523. " Directory names, special names in listing
  524. hi! link Directory GruvboxGreenBold
  525.  
  526. " Titles for output from :set all, :autocmd, etc.
  527. hi! link Title GruvboxGreenBold
  528.  
  529. " Error messages on the command line
  530. call s:HL('ErrorMsg', s:bg0, s:red, s:bold)
  531. " More prompt: -- More --
  532. hi! link MoreMsg GruvboxYellowBold
  533. " Current mode message: -- INSERT --
  534. hi! link ModeMsg GruvboxYellowBold
  535. " 'Press enter' prompt and yes/no questions
  536. hi! link Question GruvboxOrangeBold
  537. " Warning messages
  538. hi! link WarningMsg GruvboxRedBold
  539.  
  540. " }}}
  541. " Gutter: {{{
  542.  
  543. " Line number for :number and :# commands
  544. call s:HL('LineNr', s:bg4, s:number_column)
  545.  
  546. " Column where signs are displayed
  547. call s:HL('SignColumn', s:none, s:sign_column)
  548.  
  549. " Line used for closed folds
  550. call s:HL('Folded', s:gray, s:bg1, s:italic)
  551. " Column where folds are displayed
  552. call s:HL('FoldColumn', s:gray, s:bg1)
  553.  
  554. " }}}
  555. " Cursor: {{{
  556.  
  557. " Character under cursor
  558. call s:HL('Cursor', s:none, s:none, s:inverse)
  559. " Visual mode cursor, selection
  560. hi! link vCursor Cursor
  561. " Input moder cursor
  562. hi! link iCursor Cursor
  563. " Language mapping cursor
  564. hi! link lCursor Cursor
  565.  
  566. " }}}
  567. " Syntax Highlighting: {{{
  568.  
  569. if g:gruvbox_improved_strings == 0
  570. hi! link Special GruvboxOrange
  571. else
  572. call s:HL('Special', s:orange, s:bg1, s:italicize_strings)
  573. endif
  574.  
  575. call s:HL('Comment', s:gray, s:none, s:italicize_comments)
  576. call s:HL('Todo', s:vim_fg, s:vim_bg, s:bold . s:italic)
  577. call s:HL('Error', s:red, s:vim_bg, s:bold . s:inverse)
  578.  
  579. " Generic statement
  580. hi! link Statement GruvboxRed
  581. " if, then, else, endif, swicth, etc.
  582. hi! link Conditional GruvboxRed
  583. " for, do, while, etc.
  584. hi! link Repeat GruvboxRed
  585. " case, default, etc.
  586. hi! link Label GruvboxRed
  587. " try, catch, throw
  588. hi! link Exception GruvboxRed
  589. " sizeof, "+", "*", etc.
  590. hi! link Operator Normal
  591. " Any other keyword
  592. hi! link Keyword GruvboxRed
  593.  
  594. " Variable name
  595. hi! link Identifier GruvboxBlue
  596. " Function name
  597. hi! link Function GruvboxGreenBold
  598.  
  599. " Generic preprocessor
  600. hi! link PreProc GruvboxAqua
  601. " Preprocessor #include
  602. hi! link Include GruvboxAqua
  603. " Preprocessor #define
  604. hi! link Define GruvboxAqua
  605. " Same as Define
  606. hi! link Macro GruvboxAqua
  607. " Preprocessor #if, #else, #endif, etc.
  608. hi! link PreCondit GruvboxAqua
  609.  
  610. " Generic constant
  611. hi! link Constant GruvboxPurple
  612. " Character constant: 'c', '/n'
  613. hi! link Character GruvboxPurple
  614. " String constant: "this is a string"
  615. if g:gruvbox_improved_strings == 0
  616. call s:HL('String', s:green, s:none, s:italicize_strings)
  617. else
  618. call s:HL('String', s:fg1, s:bg1, s:italicize_strings)
  619. endif
  620. " Boolean constant: TRUE, false
  621. hi! link Boolean GruvboxPurple
  622. " Number constant: 234, 0xff
  623. hi! link Number GruvboxPurple
  624. " Floating point constant: 2.3e10
  625. hi! link Float GruvboxPurple
  626.  
  627. " Generic type
  628. hi! link Type GruvboxYellow
  629. " static, register, volatile, etc
  630. hi! link StorageClass GruvboxOrange
  631. " struct, union, enum, etc.
  632. hi! link Structure GruvboxAqua
  633. " typedef
  634. hi! link Typedef GruvboxYellow
  635.  
  636. " }}}
  637. " Completion Menu: {{{
  638.  
  639. if version >= 700
  640. " Popup menu: normal item
  641. call s:HL('Pmenu', s:fg1, s:bg2)
  642. " Popup menu: selected item
  643. call s:HL('PmenuSel', s:bg2, s:blue, s:bold)
  644. " Popup menu: scrollbar
  645. call s:HL('PmenuSbar', s:none, s:bg2)
  646. " Popup menu: scrollbar thumb
  647. call s:HL('PmenuThumb', s:none, s:bg4)
  648. endif
  649.  
  650. " }}}
  651. " Diffs: {{{
  652.  
  653. call s:HL('DiffDelete', s:red, s:bg0, s:inverse)
  654. call s:HL('DiffAdd', s:green, s:bg0, s:inverse)
  655. "call s:HL('DiffChange', s:bg0, s:blue)
  656. "call s:HL('DiffText', s:bg0, s:yellow)
  657.  
  658. " Alternative setting
  659. call s:HL('DiffChange', s:aqua, s:bg0, s:inverse)
  660. call s:HL('DiffText', s:yellow, s:bg0, s:inverse)
  661.  
  662. " }}}
  663. " Spelling: {{{
  664.  
  665. if has("spell")
  666. " Not capitalised word, or compile warnings
  667. if g:gruvbox_improved_warnings == 0
  668. call s:HL('SpellCap', s:none, s:none, s:undercurl, s:red)
  669. else
  670. call s:HL('SpellCap', s:green, s:none, s:bold . s:italic)
  671. endif
  672. " Not recognized word
  673. call s:HL('SpellBad', s:none, s:none, s:undercurl, s:blue)
  674. " Wrong spelling for selected region
  675. call s:HL('SpellLocal', s:none, s:none, s:undercurl, s:aqua)
  676. " Rare word
  677. call s:HL('SpellRare', s:none, s:none, s:undercurl, s:purple)
  678. endif
  679.  
  680. " }}}
  681.  
  682. " Plugin specific -------------------------------------------------------------
  683. " EasyMotion: {{{
  684.  
  685. hi! link EasyMotionTarget Search
  686. hi! link EasyMotionShade Comment
  687.  
  688. " }}}
  689. " Sneak: {{{
  690.  
  691. autocmd ColorScheme gruvbox hi! link Sneak Search
  692. autocmd ColorScheme gruvbox hi! link SneakLabel Search
  693.  
  694. " }}}
  695. " Indent Guides: {{{
  696.  
  697. if !exists('g:indent_guides_auto_colors')
  698. let g:indent_guides_auto_colors = 0
  699. endif
  700.  
  701. if g:indent_guides_auto_colors == 0
  702. if g:gruvbox_invert_indent_guides == 0
  703. call s:HL('IndentGuidesOdd', s:vim_bg, s:bg2)
  704. call s:HL('IndentGuidesEven', s:vim_bg, s:bg1)
  705. else
  706. call s:HL('IndentGuidesOdd', s:vim_bg, s:bg2, s:inverse)
  707. call s:HL('IndentGuidesEven', s:vim_bg, s:bg3, s:inverse)
  708. endif
  709. endif
  710.  
  711. " }}}
  712. " IndentLine: {{{
  713.  
  714. if !exists('g:indentLine_color_term')
  715. let g:indentLine_color_term = s:bg2[1]
  716. endif
  717. if !exists('g:indentLine_color_gui')
  718. let g:indentLine_color_gui = s:bg2[0]
  719. endif
  720.  
  721. " }}}
  722. " Rainbow Parentheses: {{{
  723.  
  724. if !exists('g:rbpt_colorpairs')
  725. let g:rbpt_colorpairs =
  726. \ [
  727. \ ['blue', '#458588'], ['magenta', '#b16286'],
  728. \ ['red', '#cc241d'], ['166', '#d65d0e']
  729. \ ]
  730. endif
  731.  
  732. let g:rainbow_guifgs = [ '#d65d0e', '#cc241d', '#b16286', '#458588' ]
  733. let g:rainbow_ctermfgs = [ '166', 'red', 'magenta', 'blue' ]
  734.  
  735. if !exists('g:rainbow_conf')
  736. let g:rainbow_conf = {}
  737. endif
  738. if !has_key(g:rainbow_conf, 'guifgs')
  739. let g:rainbow_conf['guifgs'] = g:rainbow_guifgs
  740. endif
  741. if !has_key(g:rainbow_conf, 'ctermfgs')
  742. let g:rainbow_conf['ctermfgs'] = g:rainbow_ctermfgs
  743. endif
  744.  
  745. let g:niji_dark_colours = g:rbpt_colorpairs
  746. let g:niji_light_colours = g:rbpt_colorpairs
  747.  
  748. "}}}
  749. " GitGutter: {{{
  750.  
  751. hi! link GitGutterAdd GruvboxGreenSign
  752. hi! link GitGutterChange GruvboxAquaSign
  753. hi! link GitGutterDelete GruvboxRedSign
  754. hi! link GitGutterChangeDelete GruvboxAquaSign
  755.  
  756. " }}}
  757. " GitCommit: "{{{
  758.  
  759. hi! link gitcommitSelectedFile GruvboxGreen
  760. hi! link gitcommitDiscardedFile GruvboxRed
  761.  
  762. " }}}
  763. " Signify: {{{
  764.  
  765. hi! link SignifySignAdd GruvboxGreenSign
  766. hi! link SignifySignChange GruvboxAquaSign
  767. hi! link SignifySignDelete GruvboxRedSign
  768.  
  769. " }}}
  770. " Syntastic: {{{
  771.  
  772. call s:HL('SyntasticError', s:none, s:none, s:undercurl, s:red)
  773. call s:HL('SyntasticWarning', s:none, s:none, s:undercurl, s:yellow)
  774.  
  775. hi! link SyntasticErrorSign GruvboxRedSign
  776. hi! link SyntasticWarningSign GruvboxYellowSign
  777.  
  778. " }}}
  779. " Signature: {{{
  780. hi! link SignatureMarkText GruvboxBlueSign
  781. hi! link SignatureMarkerText GruvboxPurpleSign
  782.  
  783. " }}}
  784. " ShowMarks: {{{
  785.  
  786. hi! link ShowMarksHLl GruvboxBlueSign
  787. hi! link ShowMarksHLu GruvboxBlueSign
  788. hi! link ShowMarksHLo GruvboxBlueSign
  789. hi! link ShowMarksHLm GruvboxBlueSign
  790.  
  791. " }}}
  792. " CtrlP: {{{
  793.  
  794. hi! link CtrlPMatch GruvboxYellow
  795. hi! link CtrlPNoEntries GruvboxRed
  796. hi! link CtrlPPrtBase GruvboxBg2
  797. hi! link CtrlPPrtCursor GruvboxBlue
  798. hi! link CtrlPLinePre GruvboxBg2
  799.  
  800. call s:HL('CtrlPMode1', s:blue, s:bg2, s:bold)
  801. call s:HL('CtrlPMode2', s:bg0, s:blue, s:bold)
  802. call s:HL('CtrlPStats', s:fg4, s:bg2, s:bold)
  803.  
  804. " }}}
  805. " Startify: {{{
  806.  
  807. hi! link StartifyBracket GruvboxFg3
  808. hi! link StartifyFile GruvboxFg1
  809. hi! link StartifyNumber GruvboxBlue
  810. hi! link StartifyPath GruvboxGray
  811. hi! link StartifySlash GruvboxGray
  812. hi! link StartifySection GruvboxYellow
  813. hi! link StartifySpecial GruvboxBg2
  814. hi! link StartifyHeader GruvboxOrange
  815. hi! link StartifyFooter GruvboxBg2
  816.  
  817. " }}}
  818. " Vimshell: {{{
  819.  
  820. let g:vimshell_escape_colors = [
  821. \ s:bg4[0], s:red[0], s:green[0], s:yellow[0],
  822. \ s:blue[0], s:purple[0], s:aqua[0], s:fg4[0],
  823. \ s:bg0[0], s:red[0], s:green[0], s:orange[0],
  824. \ s:blue[0], s:purple[0], s:aqua[0], s:fg0[0]
  825. \ ]
  826.  
  827. " }}}
  828. " BufTabLine: {{{
  829.  
  830. call s:HL('BufTabLineCurrent', s:bg0, s:fg4)
  831. call s:HL('BufTabLineActive', s:fg4, s:bg2)
  832. call s:HL('BufTabLineHidden', s:bg4, s:bg1)
  833. call s:HL('BufTabLineFill', s:bg0, s:bg0)
  834.  
  835. " }}}
  836. " Asynchronous Lint Engine: {{{
  837.  
  838. call s:HL('ALEError', s:none, s:none, s:undercurl, s:red)
  839. call s:HL('ALEWarning', s:none, s:none, s:undercurl, s:yellow)
  840. call s:HL('ALEInfo', s:none, s:none, s:undercurl, s:blue)
  841.  
  842. hi! link ALEErrorSign GruvboxRedSign
  843. hi! link ALEWarningSign GruvboxYellowSign
  844. hi! link ALEInfoSign GruvboxBlueSign
  845.  
  846. " }}}
  847. " Dirvish: {{{
  848.  
  849. hi! link DirvishPathTail GruvboxAqua
  850. hi! link DirvishArg GruvboxYellow
  851.  
  852. " }}}
  853. " Netrw: {{{
  854.  
  855. hi! link netrwDir GruvboxAqua
  856. hi! link netrwClassify GruvboxAqua
  857. hi! link netrwLink GruvboxGray
  858. hi! link netrwSymLink GruvboxFg1
  859. hi! link netrwExe GruvboxYellow
  860. hi! link netrwComment GruvboxGray
  861. hi! link netrwList GruvboxBlue
  862. hi! link netrwHelpCmd GruvboxAqua
  863. hi! link netrwCmdSep GruvboxFg3
  864. hi! link netrwVersion GruvboxGreen
  865.  
  866. " }}}
  867. " NERDTree: {{{
  868.  
  869. hi! link NERDTreeDir GruvboxAqua
  870. hi! link NERDTreeDirSlash GruvboxAqua
  871.  
  872. hi! link NERDTreeOpenable GruvboxOrange
  873. hi! link NERDTreeClosable GruvboxOrange
  874.  
  875. hi! link NERDTreeFile GruvboxFg1
  876. hi! link NERDTreeExecFile GruvboxYellow
  877.  
  878. hi! link NERDTreeUp GruvboxGray
  879. hi! link NERDTreeCWD GruvboxBlue
  880. hi! link NERDTreeHelp GruvboxFg1
  881.  
  882. hi! link NERDTreeToggleOn GruvboxGreen
  883. hi! link NERDTreeToggleOff GruvboxRed
  884.  
  885. " }}}
  886. " Vim Multiple Cursors: {{{
  887.  
  888. call s:HL('multiple_cursors_cursor', s:none, s:none, s:inverse)
  889. call s:HL('multiple_cursors_visual', s:none, s:bg2)
  890.  
  891. " }}}
  892.  
  893. " Filetype specific -----------------------------------------------------------
  894. " Diff: {{{
  895.  
  896. hi! link diffAdded GruvboxGreen
  897. hi! link diffRemoved GruvboxRed
  898. hi! link diffChanged GruvboxAqua
  899.  
  900. hi! link diffFile GruvboxOrange
  901. hi! link diffNewFile GruvboxYellow
  902.  
  903. hi! link diffLine GruvboxBlue
  904.  
  905. " }}}
  906. " Html: {{{
  907.  
  908. hi! link htmlTag GruvboxBlue
  909. hi! link htmlEndTag GruvboxBlue
  910.  
  911. hi! link htmlTagName GruvboxAquaBold
  912. hi! link htmlArg GruvboxAqua
  913.  
  914. hi! link htmlScriptTag GruvboxPurple
  915. hi! link htmlTagN GruvboxFg1
  916. hi! link htmlSpecialTagName GruvboxAquaBold
  917.  
  918. call s:HL('htmlLink', s:fg4, s:none, s:underline)
  919.  
  920. hi! link htmlSpecialChar GruvboxOrange
  921.  
  922. call s:HL('htmlBold', s:vim_fg, s:vim_bg, s:bold)
  923. call s:HL('htmlBoldUnderline', s:vim_fg, s:vim_bg, s:bold . s:underline)
  924. call s:HL('htmlBoldItalic', s:vim_fg, s:vim_bg, s:bold . s:italic)
  925. call s:HL('htmlBoldUnderlineItalic', s:vim_fg, s:vim_bg, s:bold . s:underline . s:italic)
  926.  
  927. call s:HL('htmlUnderline', s:vim_fg, s:vim_bg, s:underline)
  928. call s:HL('htmlUnderlineItalic', s:vim_fg, s:vim_bg, s:underline . s:italic)
  929. call s:HL('htmlItalic', s:vim_fg, s:vim_bg, s:italic)
  930.  
  931. " }}}
  932. " Xml: {{{
  933.  
  934. hi! link xmlTag GruvboxBlue
  935. hi! link xmlEndTag GruvboxBlue
  936. hi! link xmlTagName GruvboxBlue
  937. hi! link xmlEqual GruvboxBlue
  938. hi! link docbkKeyword GruvboxAquaBold
  939.  
  940. hi! link xmlDocTypeDecl GruvboxGray
  941. hi! link xmlDocTypeKeyword GruvboxPurple
  942. hi! link xmlCdataStart GruvboxGray
  943. hi! link xmlCdataCdata GruvboxPurple
  944. hi! link dtdFunction GruvboxGray
  945. hi! link dtdTagName GruvboxPurple
  946.  
  947. hi! link xmlAttrib GruvboxAqua
  948. hi! link xmlProcessingDelim GruvboxGray
  949. hi! link dtdParamEntityPunct GruvboxGray
  950. hi! link dtdParamEntityDPunct GruvboxGray
  951. hi! link xmlAttribPunct GruvboxGray
  952.  
  953. hi! link xmlEntity GruvboxOrange
  954. hi! link xmlEntityPunct GruvboxOrange
  955. " }}}
  956. " Vim: {{{
  957.  
  958. call s:HL('vimCommentTitle', s:fg4_256, s:none, s:bold . s:italicize_comments)
  959.  
  960. hi! link vimNotation GruvboxOrange
  961. hi! link vimBracket GruvboxOrange
  962. hi! link vimMapModKey GruvboxOrange
  963. hi! link vimFuncSID GruvboxFg3
  964. hi! link vimSetSep GruvboxFg3
  965. hi! link vimSep GruvboxFg3
  966. hi! link vimContinue GruvboxFg3
  967.  
  968. " }}}
  969. " Clojure: {{{
  970.  
  971. hi! link clojureKeyword GruvboxBlue
  972. hi! link clojureCond GruvboxOrange
  973. hi! link clojureSpecial GruvboxOrange
  974. hi! link clojureDefine GruvboxOrange
  975.  
  976. hi! link clojureFunc GruvboxYellow
  977. hi! link clojureRepeat GruvboxYellow
  978. hi! link clojureCharacter GruvboxAqua
  979. hi! link clojureStringEscape GruvboxAqua
  980. hi! link clojureException GruvboxRed
  981.  
  982. hi! link clojureRegexp GruvboxAqua
  983. hi! link clojureRegexpEscape GruvboxAqua
  984. call s:HL('clojureRegexpCharClass', s:fg3, s:none, s:bold)
  985. hi! link clojureRegexpMod clojureRegexpCharClass
  986. hi! link clojureRegexpQuantifier clojureRegexpCharClass
  987.  
  988. hi! link clojureParen GruvboxFg3
  989. hi! link clojureAnonArg GruvboxYellow
  990. hi! link clojureVariable GruvboxBlue
  991. hi! link clojureMacro GruvboxOrange
  992.  
  993. hi! link clojureMeta GruvboxYellow
  994. hi! link clojureDeref GruvboxYellow
  995. hi! link clojureQuote GruvboxYellow
  996. hi! link clojureUnquote GruvboxYellow
  997.  
  998. " }}}
  999. " C: {{{
  1000.  
  1001. hi! link cOperator GruvboxPurple
  1002. hi! link cStructure GruvboxOrange
  1003.  
  1004. " }}}
  1005. " Python: {{{
  1006.  
  1007. hi! link pythonBuiltin GruvboxOrange
  1008. hi! link pythonBuiltinObj GruvboxOrange
  1009. hi! link pythonBuiltinFunc GruvboxOrange
  1010. hi! link pythonFunction GruvboxAqua
  1011. hi! link pythonDecorator GruvboxRed
  1012. hi! link pythonInclude GruvboxBlue
  1013. hi! link pythonImport GruvboxBlue
  1014. hi! link pythonRun GruvboxBlue
  1015. hi! link pythonCoding GruvboxBlue
  1016. hi! link pythonOperator GruvboxRed
  1017. hi! link pythonException GruvboxRed
  1018. hi! link pythonExceptions GruvboxPurple
  1019. hi! link pythonBoolean GruvboxPurple
  1020. hi! link pythonDot GruvboxFg3
  1021. hi! link pythonConditional GruvboxRed
  1022. hi! link pythonRepeat GruvboxRed
  1023. hi! link pythonDottedName GruvboxGreenBold
  1024.  
  1025. " }}}
  1026. " CSS: {{{
  1027.  
  1028. hi! link cssBraces GruvboxBlue
  1029. hi! link cssFunctionName GruvboxYellow
  1030. hi! link cssIdentifier GruvboxOrange
  1031. hi! link cssClassName GruvboxGreen
  1032. hi! link cssColor GruvboxBlue
  1033. hi! link cssSelectorOp GruvboxBlue
  1034. hi! link cssSelectorOp2 GruvboxBlue
  1035. hi! link cssImportant GruvboxGreen
  1036. hi! link cssVendor GruvboxFg1
  1037.  
  1038. hi! link cssTextProp GruvboxAqua
  1039. hi! link cssAnimationProp GruvboxAqua
  1040. hi! link cssUIProp GruvboxYellow
  1041. hi! link cssTransformProp GruvboxAqua
  1042. hi! link cssTransitionProp GruvboxAqua
  1043. hi! link cssPrintProp GruvboxAqua
  1044. hi! link cssPositioningProp GruvboxYellow
  1045. hi! link cssBoxProp GruvboxAqua
  1046. hi! link cssFontDescriptorProp GruvboxAqua
  1047. hi! link cssFlexibleBoxProp GruvboxAqua
  1048. hi! link cssBorderOutlineProp GruvboxAqua
  1049. hi! link cssBackgroundProp GruvboxAqua
  1050. hi! link cssMarginProp GruvboxAqua
  1051. hi! link cssListProp GruvboxAqua
  1052. hi! link cssTableProp GruvboxAqua
  1053. hi! link cssFontProp GruvboxAqua
  1054. hi! link cssPaddingProp GruvboxAqua
  1055. hi! link cssDimensionProp GruvboxAqua
  1056. hi! link cssRenderProp GruvboxAqua
  1057. hi! link cssColorProp GruvboxAqua
  1058. hi! link cssGeneratedContentProp GruvboxAqua
  1059.  
  1060. " }}}
  1061. " JavaScript: {{{
  1062.  
  1063. hi! link javaScriptBraces GruvboxFg1
  1064. hi! link javaScriptFunction GruvboxAqua
  1065. hi! link javaScriptIdentifier GruvboxRed
  1066. hi! link javaScriptMember GruvboxBlue
  1067. hi! link javaScriptNumber GruvboxPurple
  1068. hi! link javaScriptNull GruvboxPurple
  1069. hi! link javaScriptParens GruvboxFg3
  1070.  
  1071. " }}}
  1072. " YAJS: {{{
  1073.  
  1074. hi! link javascriptImport GruvboxAqua
  1075. hi! link javascriptExport GruvboxAqua
  1076. hi! link javascriptClassKeyword GruvboxAqua
  1077. hi! link javascriptClassExtends GruvboxAqua
  1078. hi! link javascriptDefault GruvboxAqua
  1079.  
  1080. hi! link javascriptClassName GruvboxYellow
  1081. hi! link javascriptClassSuperName GruvboxYellow
  1082. hi! link javascriptGlobal GruvboxYellow
  1083.  
  1084. hi! link javascriptEndColons GruvboxFg1
  1085. hi! link javascriptFuncArg GruvboxFg1
  1086. hi! link javascriptGlobalMethod GruvboxFg1
  1087. hi! link javascriptNodeGlobal GruvboxFg1
  1088. hi! link javascriptBOMWindowProp GruvboxFg1
  1089. hi! link javascriptArrayMethod GruvboxFg1
  1090. hi! link javascriptArrayStaticMethod GruvboxFg1
  1091. hi! link javascriptCacheMethod GruvboxFg1
  1092. hi! link javascriptDateMethod GruvboxFg1
  1093. hi! link javascriptMathStaticMethod GruvboxFg1
  1094.  
  1095. " hi! link javascriptProp GruvboxFg1
  1096. hi! link javascriptURLUtilsProp GruvboxFg1
  1097. hi! link javascriptBOMNavigatorProp GruvboxFg1
  1098. hi! link javascriptDOMDocMethod GruvboxFg1
  1099. hi! link javascriptDOMDocProp GruvboxFg1
  1100. hi! link javascriptBOMLocationMethod GruvboxFg1
  1101. hi! link javascriptBOMWindowMethod GruvboxFg1
  1102. hi! link javascriptStringMethod GruvboxFg1
  1103.  
  1104. hi! link javascriptVariable GruvboxOrange
  1105. " hi! link javascriptVariable GruvboxRed
  1106. " hi! link javascriptIdentifier GruvboxOrange
  1107. " hi! link javascriptClassSuper GruvboxOrange
  1108. hi! link javascriptIdentifier GruvboxOrange
  1109. hi! link javascriptClassSuper GruvboxOrange
  1110.  
  1111. " hi! link javascriptFuncKeyword GruvboxOrange
  1112. " hi! link javascriptAsyncFunc GruvboxOrange
  1113. hi! link javascriptFuncKeyword GruvboxAqua
  1114. hi! link javascriptAsyncFunc GruvboxAqua
  1115. hi! link javascriptClassStatic GruvboxOrange
  1116.  
  1117. hi! link javascriptOperator GruvboxRed
  1118. hi! link javascriptForOperator GruvboxRed
  1119. hi! link javascriptYield GruvboxRed
  1120. hi! link javascriptExceptions GruvboxRed
  1121. hi! link javascriptMessage GruvboxRed
  1122.  
  1123. hi! link javascriptTemplateSB GruvboxAqua
  1124. hi! link javascriptTemplateSubstitution GruvboxFg1
  1125.  
  1126. " hi! link javascriptLabel GruvboxBlue
  1127. " hi! link javascriptObjectLabel GruvboxBlue
  1128. " hi! link javascriptPropertyName GruvboxBlue
  1129. hi! link javascriptLabel GruvboxFg1
  1130. hi! link javascriptObjectLabel GruvboxFg1
  1131. hi! link javascriptPropertyName GruvboxFg1
  1132.  
  1133. hi! link javascriptLogicSymbols GruvboxFg1
  1134. hi! link javascriptArrowFunc GruvboxYellow
  1135.  
  1136. hi! link javascriptDocParamName GruvboxFg4
  1137. hi! link javascriptDocTags GruvboxFg4
  1138. hi! link javascriptDocNotation GruvboxFg4
  1139. hi! link javascriptDocParamType GruvboxFg4
  1140. hi! link javascriptDocNamedParamType GruvboxFg4
  1141.  
  1142. hi! link javascriptBrackets GruvboxFg1
  1143. hi! link javascriptDOMElemAttrs GruvboxFg1
  1144. hi! link javascriptDOMEventMethod GruvboxFg1
  1145. hi! link javascriptDOMNodeMethod GruvboxFg1
  1146. hi! link javascriptDOMStorageMethod GruvboxFg1
  1147. hi! link javascriptHeadersMethod GruvboxFg1
  1148.  
  1149. hi! link javascriptAsyncFuncKeyword GruvboxRed
  1150. hi! link javascriptAwaitFuncKeyword GruvboxRed
  1151.  
  1152. " }}}
  1153. " PanglossJS: {{{
  1154.  
  1155. hi! link jsClassKeyword GruvboxAqua
  1156. hi! link jsExtendsKeyword GruvboxAqua
  1157. hi! link jsExportDefault GruvboxAqua
  1158. hi! link jsTemplateBraces GruvboxAqua
  1159. hi! link jsGlobalNodeObjects GruvboxFg1
  1160. hi! link jsGlobalObjects GruvboxFg1
  1161. hi! link jsFunction GruvboxAqua
  1162. hi! link jsFuncParens GruvboxFg3
  1163. hi! link jsParens GruvboxFg3
  1164. hi! link jsNull GruvboxPurple
  1165. hi! link jsUndefined GruvboxPurple
  1166. hi! link jsClassDefinition GruvboxYellow
  1167.  
  1168. " }}}
  1169. " TypeScript: {{{
  1170.  
  1171. hi! link typeScriptReserved GruvboxAqua
  1172. hi! link typeScriptLabel GruvboxAqua
  1173. hi! link typeScriptFuncKeyword GruvboxAqua
  1174. hi! link typeScriptIdentifier GruvboxOrange
  1175. hi! link typeScriptBraces GruvboxFg1
  1176. hi! link typeScriptEndColons GruvboxFg1
  1177. hi! link typeScriptDOMObjects GruvboxFg1
  1178. hi! link typeScriptAjaxMethods GruvboxFg1
  1179. hi! link typeScriptLogicSymbols GruvboxFg1
  1180. hi! link typeScriptDocSeeTag Comment
  1181. hi! link typeScriptDocParam Comment
  1182. hi! link typeScriptDocTags vimCommentTitle
  1183. hi! link typeScriptGlobalObjects GruvboxFg1
  1184. hi! link typeScriptParens GruvboxFg3
  1185. hi! link typeScriptOpSymbols GruvboxFg3
  1186. hi! link typeScriptHtmlElemProperties GruvboxFg1
  1187. hi! link typeScriptNull GruvboxPurple
  1188. hi! link typeScriptInterpolationDelimiter GruvboxAqua
  1189.  
  1190. " }}}
  1191. " PureScript: {{{
  1192.  
  1193. hi! link purescriptModuleKeyword GruvboxAqua
  1194. hi! link purescriptModuleName GruvboxFg1
  1195. hi! link purescriptWhere GruvboxAqua
  1196. hi! link purescriptDelimiter GruvboxFg4
  1197. hi! link purescriptType GruvboxFg1
  1198. hi! link purescriptImportKeyword GruvboxAqua
  1199. hi! link purescriptHidingKeyword GruvboxAqua
  1200. hi! link purescriptAsKeyword GruvboxAqua
  1201. hi! link purescriptStructure GruvboxAqua
  1202. hi! link purescriptOperator GruvboxBlue
  1203.  
  1204. hi! link purescriptTypeVar GruvboxFg1
  1205. hi! link purescriptConstructor GruvboxFg1
  1206. hi! link purescriptFunction GruvboxFg1
  1207. hi! link purescriptConditional GruvboxOrange
  1208. hi! link purescriptBacktick GruvboxOrange
  1209.  
  1210. " }}}
  1211. " CoffeeScript: {{{
  1212.  
  1213. hi! link coffeeExtendedOp GruvboxFg3
  1214. hi! link coffeeSpecialOp GruvboxFg3
  1215. hi! link coffeeCurly GruvboxOrange
  1216. hi! link coffeeParen GruvboxFg3
  1217. hi! link coffeeBracket GruvboxOrange
  1218.  
  1219. " }}}
  1220. " Ruby: {{{
  1221.  
  1222. hi! link rubyStringDelimiter GruvboxGreen
  1223. hi! link rubyInterpolationDelimiter GruvboxAqua
  1224.  
  1225. " }}}
  1226. " ObjectiveC: {{{
  1227.  
  1228. hi! link objcTypeModifier GruvboxRed
  1229. hi! link objcDirective GruvboxBlue
  1230.  
  1231. " }}}
  1232. " Go: {{{
  1233.  
  1234. hi! link goDirective GruvboxAqua
  1235. hi! link goConstants GruvboxPurple
  1236. hi! link goDeclaration GruvboxRed
  1237. hi! link goDeclType GruvboxBlue
  1238. hi! link goBuiltins GruvboxOrange
  1239.  
  1240. " }}}
  1241. " Lua: {{{
  1242.  
  1243. hi! link luaIn GruvboxRed
  1244. hi! link luaFunction GruvboxAqua
  1245. hi! link luaTable GruvboxOrange
  1246.  
  1247. " }}}
  1248. " MoonScript: {{{
  1249.  
  1250. hi! link moonSpecialOp GruvboxFg3
  1251. hi! link moonExtendedOp GruvboxFg3
  1252. hi! link moonFunction GruvboxFg3
  1253. hi! link moonObject GruvboxYellow
  1254.  
  1255. " }}}
  1256. " Java: {{{
  1257.  
  1258. hi! link javaAnnotation GruvboxBlue
  1259. hi! link javaDocTags GruvboxAqua
  1260. hi! link javaCommentTitle vimCommentTitle
  1261. hi! link javaParen GruvboxFg3
  1262. hi! link javaParen1 GruvboxFg3
  1263. hi! link javaParen2 GruvboxFg3
  1264. hi! link javaParen3 GruvboxFg3
  1265. hi! link javaParen4 GruvboxFg3
  1266. hi! link javaParen5 GruvboxFg3
  1267. hi! link javaOperator GruvboxOrange
  1268.  
  1269. hi! link javaVarArg GruvboxGreen
  1270.  
  1271. " }}}
  1272. " Elixir: {{{
  1273.  
  1274. hi! link elixirDocString Comment
  1275.  
  1276. hi! link elixirStringDelimiter GruvboxGreen
  1277. hi! link elixirInterpolationDelimiter GruvboxAqua
  1278.  
  1279. hi! link elixirModuleDeclaration GruvboxYellow
  1280.  
  1281. " }}}
  1282. " Scala: {{{
  1283.  
  1284. " NB: scala vim syntax file is kinda horrible
  1285. hi! link scalaNameDefinition GruvboxFg1
  1286. hi! link scalaCaseFollowing GruvboxFg1
  1287. hi! link scalaCapitalWord GruvboxFg1
  1288. hi! link scalaTypeExtension GruvboxFg1
  1289.  
  1290. hi! link scalaKeyword GruvboxRed
  1291. hi! link scalaKeywordModifier GruvboxRed
  1292.  
  1293. hi! link scalaSpecial GruvboxAqua
  1294. hi! link scalaOperator GruvboxFg1
  1295.  
  1296. hi! link scalaTypeDeclaration GruvboxYellow
  1297. hi! link scalaTypeTypePostDeclaration GruvboxYellow
  1298.  
  1299. hi! link scalaInstanceDeclaration GruvboxFg1
  1300. hi! link scalaInterpolation GruvboxAqua
  1301.  
  1302. " }}}
  1303. " Markdown: {{{
  1304.  
  1305. call s:HL('markdownItalic', s:fg3, s:none, s:italic)
  1306.  
  1307. hi! link markdownH1 GruvboxGreenBold
  1308. hi! link markdownH2 GruvboxGreenBold
  1309. hi! link markdownH3 GruvboxYellowBold
  1310. hi! link markdownH4 GruvboxYellowBold
  1311. hi! link markdownH5 GruvboxYellow
  1312. hi! link markdownH6 GruvboxYellow
  1313.  
  1314. hi! link markdownCode GruvboxAqua
  1315. hi! link markdownCodeBlock GruvboxAqua
  1316. hi! link markdownCodeDelimiter GruvboxAqua
  1317.  
  1318. hi! link markdownBlockquote GruvboxGray
  1319. hi! link markdownListMarker GruvboxGray
  1320. hi! link markdownOrderedListMarker GruvboxGray
  1321. hi! link markdownRule GruvboxGray
  1322. hi! link markdownHeadingRule GruvboxGray
  1323.  
  1324. hi! link markdownUrlDelimiter GruvboxFg3
  1325. hi! link markdownLinkDelimiter GruvboxFg3
  1326. hi! link markdownLinkTextDelimiter GruvboxFg3
  1327.  
  1328. hi! link markdownHeadingDelimiter GruvboxOrange
  1329. hi! link markdownUrl GruvboxPurple
  1330. hi! link markdownUrlTitleDelimiter GruvboxGreen
  1331.  
  1332. call s:HL('markdownLinkText', s:gray, s:none, s:underline)
  1333. hi! link markdownIdDeclaration markdownLinkText
  1334.  
  1335. " }}}
  1336. " Haskell: {{{
  1337.  
  1338. " hi! link haskellType GruvboxYellow
  1339. " hi! link haskellOperators GruvboxOrange
  1340. " hi! link haskellConditional GruvboxAqua
  1341. " hi! link haskellLet GruvboxOrange
  1342. "
  1343. hi! link haskellType GruvboxFg1
  1344. hi! link haskellIdentifier GruvboxFg1
  1345. hi! link haskellSeparator GruvboxFg1
  1346. hi! link haskellDelimiter GruvboxFg4
  1347. hi! link haskellOperators GruvboxBlue
  1348. "
  1349. hi! link haskellBacktick GruvboxOrange
  1350. hi! link haskellStatement GruvboxOrange
  1351. hi! link haskellConditional GruvboxOrange
  1352.  
  1353. hi! link haskellLet GruvboxAqua
  1354. hi! link haskellDefault GruvboxAqua
  1355. hi! link haskellWhere GruvboxAqua
  1356. hi! link haskellBottom GruvboxAqua
  1357. hi! link haskellBlockKeywords GruvboxAqua
  1358. hi! link haskellImportKeywords GruvboxAqua
  1359. hi! link haskellDeclKeyword GruvboxAqua
  1360. hi! link haskellDeriving GruvboxAqua
  1361. hi! link haskellAssocType GruvboxAqua
  1362.  
  1363. hi! link haskellNumber GruvboxPurple
  1364. hi! link haskellPragma GruvboxPurple
  1365.  
  1366. hi! link haskellString GruvboxGreen
  1367. hi! link haskellChar GruvboxGreen
  1368.  
  1369. " }}}
  1370. " Json: {{{
  1371.  
  1372. hi! link jsonKeyword GruvboxGreen
  1373. hi! link jsonQuote GruvboxGreen
  1374. hi! link jsonBraces GruvboxFg1
  1375. hi! link jsonString GruvboxFg1
  1376.  
  1377. " }}}
  1378.  
  1379.  
  1380. " Functions -------------------------------------------------------------------
  1381. " Search Highlighting Cursor {{{
  1382.  
  1383. function! GruvboxHlsShowCursor()
  1384. call s:HL('Cursor', s:bg0, s:hls_cursor)
  1385. endfunction
  1386.  
  1387. function! GruvboxHlsHideCursor()
  1388. call s:HL('Cursor', s:none, s:none, s:inverse)
  1389. endfunction
  1390.  
  1391. " }}}
  1392.  
  1393. " vim: set sw=2 ts=2 sts=2 et tw=80 ft=vim fdm=marker:
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement