My personal dotfiles
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

gruvbox.vim 32KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233
  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: 04 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('GruvboxFg2', s:fg2)
  322. call s:HL('GruvboxFg3', s:fg3)
  323. call s:HL('GruvboxFg4', s:fg4)
  324. call s:HL('GruvboxGray', s:gray)
  325. call s:HL('GruvboxBg0', s:bg0)
  326. call s:HL('GruvboxBg1', s:bg1)
  327. call s:HL('GruvboxBg2', s:bg2)
  328. call s:HL('GruvboxBg3', s:bg3)
  329. call s:HL('GruvboxBg4', s:bg4)
  330. call s:HL('GruvboxRed', s:red)
  331. call s:HL('GruvboxRedBold', s:red, s:none, s:bold)
  332. call s:HL('GruvboxGreen', s:green)
  333. call s:HL('GruvboxGreenBold', s:green, s:none, s:bold)
  334. call s:HL('GruvboxYellow', s:yellow)
  335. call s:HL('GruvboxYellowBold', s:yellow, s:none, s:bold)
  336. call s:HL('GruvboxBlue', s:blue)
  337. call s:HL('GruvboxBlueBold', s:blue, s:none, s:bold)
  338. call s:HL('GruvboxPurple', s:purple)
  339. call s:HL('GruvboxPurpleBold', s:purple, s:none, s:bold)
  340. call s:HL('GruvboxAqua', s:aqua)
  341. call s:HL('GruvboxAquaBold', s:aqua, s:none, s:bold)
  342. call s:HL('GruvboxOrange', s:orange)
  343. call s:HL('GruvboxOrangeBold', s:orange, s:none, s:bold)
  344. call s:HL('GruvboxRedSign', s:red, s:sign_column, s:invert_signs)
  345. call s:HL('GruvboxGreenSign', s:green, s:sign_column, s:invert_signs)
  346. call s:HL('GruvboxYellowSign', s:yellow, s:sign_column, s:invert_signs)
  347. call s:HL('GruvboxBlueSign', s:blue, s:sign_column, s:invert_signs)
  348. call s:HL('GruvboxPurpleSign', s:purple, s:sign_column, s:invert_signs)
  349. call s:HL('GruvboxAquaSign', s:aqua, s:sign_column, s:invert_signs)
  350. " }}}
  351. " Vanilla colorscheme ---------------------------------------------------------
  352. " General UI: {{{
  353. " Normal text
  354. call s:HL('Normal', s:fg1, s:bg0)
  355. " Correct background (see issue #7):
  356. " --- Problem with changing between dark and light on 256 color terminal
  357. " --- https://github.com/morhetz/gruvbox/issues/7
  358. if s:is_dark
  359. set background=dark
  360. else
  361. set background=light
  362. endif
  363. if version >= 700
  364. " Screen line that the cursor is
  365. call s:HL('CursorLine', s:none, s:bg1)
  366. " Screen column that the cursor is
  367. hi! link CursorColumn CursorLine
  368. " Tab pages line filler
  369. call s:HL('TabLineFill', s:bg4, s:vim_bg, s:invert_tabline)
  370. " Active tab page label
  371. call s:HL('TabLineSel', s:vim_bg, s:bg4, s:bold . s:invert_tabline)
  372. " Not active tab page label
  373. hi! link TabLine TabLineFill
  374. " Match paired bracket under the cursor
  375. call s:HL('MatchParen', s:none, s:bg3, s:bold)
  376. endif
  377. if version >= 703
  378. " Highlighted screen columns
  379. call s:HL('ColorColumn', s:none, s:color_column)
  380. " Concealed element: \lambda → λ
  381. call s:HL('Conceal', s:blue, s:none)
  382. " Line number of CursorLine
  383. call s:HL('CursorLineNr', s:yellow, s:bg1)
  384. endif
  385. hi! link NonText GruvboxBg2
  386. hi! link SpecialKey GruvboxBg2
  387. call s:HL('Visual', s:none, s:bg3, s:invert_selection)
  388. hi! link VisualNOS Visual
  389. call s:HL('Search', s:bg0, s:yellow)
  390. call s:HL('IncSearch', s:bg0, s:hls_cursor)
  391. call s:HL('Underlined', s:blue, s:none, s:underline)
  392. call s:HL('StatusLine', s:bg4, s:bg0, s:bold . s:inverse)
  393. call s:HL('StatusLineNC', s:bg2, s:fg4, s:bold . s:inverse)
  394. " The column separating vertically split windows
  395. call s:HL('VertSplit', s:fg4, s:vert_split)
  396. " Current match in wildmenu completion
  397. call s:HL('WildMenu', s:blue, s:bg2, s:bold)
  398. " Directory names, special names in listing
  399. hi! link Directory GruvboxGreenBold
  400. " Titles for output from :set all, :autocmd, etc.
  401. hi! link Title GruvboxGreenBold
  402. " Error messages on the command line
  403. call s:HL('ErrorMsg', s:vim_bg, s:red, s:bold)
  404. " More prompt: -- More --
  405. hi! link MoreMsg GruvboxYellowBold
  406. " Current mode message: -- INSERT --
  407. hi! link ModeMsg GruvboxYellowBold
  408. " 'Press enter' prompt and yes/no questions
  409. hi! link Question GruvboxOrangeBold
  410. " Warning messages
  411. hi! link WarningMsg GruvboxRedBold
  412. " }}}
  413. " Gutter: {{{
  414. " Line number for :number and :# commands
  415. call s:HL('LineNr', s:number_column)
  416. " Column where signs are displayed
  417. call s:HL('SignColumn', s:none, s:sign_column)
  418. " Line used for closed folds
  419. call s:HL('Folded', s:gray, s:bg1, s:italic)
  420. " Column where folds are displayed
  421. call s:HL('FoldColumn', s:gray, s:bg1)
  422. " }}}
  423. " Cursor: {{{
  424. " Character under cursor
  425. call s:HL('Cursor', s:none, s:none, s:inverse)
  426. " Visual mode cursor, selection
  427. hi! link vCursor Cursor
  428. " Input moder cursor
  429. hi! link iCursor Cursor
  430. " Language mapping cursor
  431. hi! link lCursor Cursor
  432. " }}}
  433. " Syntax Highlighting: {{{
  434. if g:gruvbox_improved_strings == 0
  435. hi! link Special GruvboxOrange
  436. else
  437. call s:HL('Special', s:bg1, s:orange, s:italic)
  438. endif
  439. call s:HL('Comment', s:gray, s:none, s:italicize_comments)
  440. call s:HL('Todo', s:vim_fg, s:vim_bg, s:bold . s:italic)
  441. call s:HL('Error', s:red, s:vim_bg, s:bold . s:inverse)
  442. " Generic statement
  443. hi! link Statement GruvboxRed
  444. " if, then, else, endif, swicth, etc.
  445. hi! link Conditional GruvboxRed
  446. " for, do, while, etc.
  447. hi! link Repeat GruvboxRed
  448. " case, default, etc.
  449. hi! link Label GruvboxRed
  450. " try, catch, throw
  451. hi! link Exception GruvboxRed
  452. " sizeof, "+", "*", etc.
  453. hi! link Operator Normal
  454. " Any other keyword
  455. hi! link Keyword GruvboxRed
  456. " Variable name
  457. hi! link Identifier GruvboxBlue
  458. " Function name
  459. hi! link Function GruvboxGreenBold
  460. " Generic preprocessor
  461. hi! link PreProc GruvboxAqua
  462. " Preprocessor #include
  463. hi! link Include GruvboxAqua
  464. " Preprocessor #define
  465. hi! link Define GruvboxAqua
  466. " Same as Define
  467. hi! link Macro GruvboxAqua
  468. " Preprocessor #if, #else, #endif, etc.
  469. hi! link PreCondit GruvboxAqua
  470. " Generic constant
  471. hi! link Constant GruvboxPurple
  472. " Character constant: 'c', '/n'
  473. hi! link Character GruvboxPurple
  474. " String constant: "this is a string"
  475. if g:gruvbox_improved_strings == 0
  476. call s:HL('String', s:green, s:none, s:italicize_strings)
  477. else
  478. call s:HL('String', s:bg1, s:fg1, s:italicize_strings)
  479. endif
  480. " Boolean constant: TRUE, false
  481. hi! link Boolean GruvboxPurple
  482. " Number constant: 234, 0xff
  483. hi! link Number GruvboxPurple
  484. " Floating point constant: 2.3e10
  485. hi! link Float GruvboxPurple
  486. " Generic type
  487. hi! link Type GruvboxYellow
  488. " static, register, volatile, etc
  489. hi! link StorageClass GruvboxOrange
  490. " struct, union, enum, etc.
  491. hi! link Structure GruvboxAqua
  492. " typedef
  493. hi! link Typedef GruvboxYellow
  494. " }}}
  495. " Completion Menu: {{{
  496. if version >= 700
  497. " Popup menu: normal item
  498. call s:HL('Pmenu', s:fg1, s:bg2)
  499. " Popup menu: selected item
  500. call s:HL('PmenuSel', s:bg2, s:blue, s:bold)
  501. " Popup menu: scrollbar
  502. call s:HL('PmenuSbar', s:none, s:bg2)
  503. " Popup menu: scrollbar thumb
  504. call s:HL('PmenuThumb', s:none, s:bg4)
  505. endif
  506. " }}}
  507. " Diffs: {{{
  508. call s:HL('DiffDelete', s:red, s:bg0, s:inverse)
  509. call s:HL('DiffAdd', s:green, s:bg0, s:inverse)
  510. "call s:HL('DiffChange', s:bg0, s:blue)
  511. "call s:HL('DiffText', s:bg0, s:yellow)
  512. " Alternative setting
  513. call s:HL('DiffChange', s:aqua, s:bg0, s:inverse)
  514. call s:HL('DiffText', s:yellow, s:bg0, s:inverse)
  515. " }}}
  516. " Spelling: {{{
  517. if has("spell")
  518. " Not capitalised word, or compile warnings
  519. if g:gruvbox_improved_warnings == 0
  520. call s:HL('SpellCap', s:none, s:none, s:undercurl, s:red)
  521. else
  522. call s:HL('SpellCap', s:green, s:none, s:bold . s:italic)
  523. endif
  524. " Not recognized word
  525. call s:HL('SpellBad', s:none, s:none, s:undercurl, s:blue)
  526. " Wrong spelling for selected region
  527. call s:HL('SpellLocal', s:none, s:none, s:undercurl, s:aqua)
  528. " Rare word
  529. call s:HL('SpellRare', s:none, s:none, s:undercurl, s:purple)
  530. endif
  531. " }}}
  532. " Plugin specific -------------------------------------------------------------
  533. " EasyMotion: {{{
  534. hi! link EasyMotionTarget Search
  535. hi! link EasyMotionShade Comment
  536. " }}}
  537. " Sneak: {{{
  538. hi! link SneakPluginTarget Search
  539. hi! link SneakStreakTarget Search
  540. call s:HL('SneakStreakMask', s:yellow, s:yellow)
  541. hi! link SneakStreakStatusLine Search
  542. " }}}
  543. " Indent Guides: {{{
  544. if !exists('g:indent_guides_auto_colors')
  545. let g:indent_guides_auto_colors = 0
  546. endif
  547. if g:indent_guides_auto_colors == 0
  548. if g:gruvbox_invert_indent_guides == 0
  549. call s:HL('IndentGuidesOdd', s:vim_bg, s:bg2)
  550. call s:HL('IndentGuidesEven', s:vim_bg, s:bg1)
  551. else
  552. call s:HL('IndentGuidesOdd', s:vim_bg, s:bg2, s:inverse)
  553. call s:HL('IndentGuidesEven', s:vim_bg, s:bg3, s:inverse)
  554. endif
  555. endif
  556. " }}}
  557. " IndentLine: {{{
  558. if !exists('g:indentLine_color_term')
  559. let g:indentLine_color_term = s:bg2[1]
  560. endif
  561. if !exists('g:indentLine_color_gui')
  562. let g:indentLine_color_gui = s:bg2[0]
  563. endif
  564. " }}}
  565. " Rainbow Parentheses: {{{
  566. if !exists('g:rbpt_colorpairs')
  567. let g:rbpt_colorpairs =
  568. \ [
  569. \ ['blue', '#458588'], ['magenta', '#b16286'],
  570. \ ['red', '#cc241d'], ['166', '#d65d0e']
  571. \ ]
  572. endif
  573. let g:rainbow_guifgs = [ '#d65d0e', '#cc241d', '#b16286', '#458588' ]
  574. let g:rainbow_ctermfgs = [ '166', 'red', 'magenta', 'blue' ]
  575. if !exists('g:rainbow_conf')
  576. let g:rainbow_conf = {}
  577. endif
  578. if !has_key(g:rainbow_conf, 'guifgs')
  579. let g:rainbow_conf['guifgs'] = g:rainbow_guifgs
  580. endif
  581. if !has_key(g:rainbow_conf, 'ctermfgs')
  582. let g:rainbow_conf['ctermfgs'] = g:rainbow_ctermfgs
  583. endif
  584. let g:niji_dark_colours = g:rbpt_colorpairs
  585. let g:niji_light_colours = g:rbpt_colorpairs
  586. "}}}
  587. " GitGutter: {{{
  588. hi! link GitGutterAdd GruvboxGreenSign
  589. hi! link GitGutterChange GruvboxAquaSign
  590. hi! link GitGutterDelete GruvboxRedSign
  591. hi! link GitGutterChangeDelete GruvboxAquaSign
  592. " }}}
  593. " GitCommit: "{{{
  594. hi! link gitcommitSelectedFile GruvboxGreen
  595. hi! link gitcommitDiscardedFile GruvboxRed
  596. " }}}
  597. " Signify: {{{
  598. hi! link SignifySignAdd GruvboxGreenSign
  599. hi! link SignifySignChange GruvboxAquaSign
  600. hi! link SignifySignDelete GruvboxRedSign
  601. " }}}
  602. " Syntastic: {{{
  603. call s:HL('SyntasticError', s:none, s:none, s:undercurl, s:red)
  604. call s:HL('SyntasticWarning', s:none, s:none, s:undercurl, s:yellow)
  605. hi! link SyntasticErrorSign GruvboxRedSign
  606. hi! link SyntasticWarningSign GruvboxYellowSign
  607. " }}}
  608. " Signature: {{{
  609. hi! link SignatureMarkerText GruvboxPurpleSign
  610. hi! link SignatureMarkText GruvboxBlueSign
  611. let g:SignatureMarkerTextHL='"SignatureMarkerText"'
  612. let g:SignatureMarkTextHL='"SignatureMarkText"'
  613. " }}}
  614. " ShowMarks: {{{
  615. hi! link ShowMarksHLl GruvboxBlueSign
  616. hi! link ShowMarksHLu GruvboxBlueSign
  617. hi! link ShowMarksHLo GruvboxBlueSign
  618. hi! link ShowMarksHLm GruvboxBlueSign
  619. " }}}
  620. " CtrlP: {{{
  621. hi! link CtrlPMatch GruvboxYellow
  622. hi! link CtrlPNoEntries GruvboxRed
  623. hi! link CtrlPPrtBase GruvboxBg2
  624. hi! link CtrlPPrtCursor GruvboxBlue
  625. hi! link CtrlPLinePre GruvboxBg2
  626. call s:HL('CtrlPMode1', s:blue, s:bg2, s:bold)
  627. call s:HL('CtrlPMode2', s:bg0, s:blue, s:bold)
  628. call s:HL('CtrlPStats', s:fg4, s:bg2, s:bold)
  629. " }}}
  630. " Startify: {{{
  631. hi! link StartifyBracket GruvboxFg3
  632. hi! link StartifyFile GruvboxFg0
  633. hi! link StartifyNumber GruvboxBlue
  634. hi! link StartifyPath GruvboxGray
  635. hi! link StartifySlash GruvboxGray
  636. hi! link StartifySection GruvboxYellow
  637. hi! link StartifySpecial GruvboxBg2
  638. hi! link StartifyHeader GruvboxOrange
  639. hi! link StartifyFooter GruvboxBg2
  640. " }}}
  641. " Vimshell: {{{
  642. let g:vimshell_escape_colors = [
  643. \ s:bg4[0], s:red[0], s:green[0], s:yellow[0],
  644. \ s:blue[0], s:purple[0], s:aqua[0], s:fg4[0],
  645. \ s:bg0[0], s:red[0], s:green[0], s:orange[0],
  646. \ s:blue[0], s:purple[0], s:aqua[0], s:fg0[0]
  647. \ ]
  648. " }}}
  649. " BufTabLine: {{{
  650. call s:HL('BufTabLineCurrent', s:bg0, s:fg4)
  651. call s:HL('BufTabLineActive', s:fg4, s:bg2)
  652. call s:HL('BufTabLineHidden', s:bg4, s:bg1)
  653. call s:HL('BufTabLineFill', s:bg0, s:bg0)
  654. " }}}
  655. " Filetype specific -----------------------------------------------------------
  656. " Diff: {{{
  657. hi! link diffAdded GruvboxGreen
  658. hi! link diffRemoved GruvboxRed
  659. hi! link diffChanged GruvboxAqua
  660. hi! link diffFile GruvboxOrange
  661. hi! link diffNewFile GruvboxYellow
  662. hi! link diffLine GruvboxBlue
  663. " }}}
  664. " Html: {{{
  665. hi! link htmlTag GruvboxBlue
  666. hi! link htmlEndTag GruvboxBlue
  667. hi! link htmlTagName GruvboxAquaBold
  668. hi! link htmlArg GruvboxAqua
  669. hi! link htmlScriptTag GruvboxPurple
  670. hi! link htmlTagN GruvboxFg1
  671. hi! link htmlSpecialTagName GruvboxAquaBold
  672. call s:HL('htmlLink', s:fg4, s:none, s:underline)
  673. hi! link htmlSpecialChar GruvboxOrange
  674. call s:HL('htmlBold', s:vim_fg, s:vim_bg, s:bold)
  675. call s:HL('htmlBoldUnderline', s:vim_fg, s:vim_bg, s:bold . s:underline)
  676. call s:HL('htmlBoldItalic', s:vim_fg, s:vim_bg, s:bold . s:italic)
  677. call s:HL('htmlBoldUnderlineItalic', s:vim_fg, s:vim_bg, s:bold . s:underline . s:italic)
  678. call s:HL('htmlUnderline', s:vim_fg, s:vim_bg, s:underline)
  679. call s:HL('htmlUnderlineItalic', s:vim_fg, s:vim_bg, s:underline . s:italic)
  680. call s:HL('htmlItalic', s:vim_fg, s:vim_bg, s:italic)
  681. " }}}
  682. " Xml: {{{
  683. hi! link xmlTag GruvboxBlue
  684. hi! link xmlEndTag GruvboxBlue
  685. hi! link xmlTagName GruvboxBlue
  686. hi! link xmlEqual GruvboxBlue
  687. hi! link docbkKeyword GruvboxAquaBold
  688. hi! link xmlDocTypeDecl GruvboxGray
  689. hi! link xmlDocTypeKeyword GruvboxPurple
  690. hi! link xmlCdataStart GruvboxGray
  691. hi! link xmlCdataCdata GruvboxPurple
  692. hi! link dtdFunction GruvboxGray
  693. hi! link dtdTagName GruvboxPurple
  694. hi! link xmlAttrib GruvboxAqua
  695. hi! link xmlProcessingDelim GruvboxGray
  696. hi! link dtdParamEntityPunct GruvboxGray
  697. hi! link dtdParamEntityDPunct GruvboxGray
  698. hi! link xmlAttribPunct GruvboxGray
  699. hi! link xmlEntity GruvboxOrange
  700. hi! link xmlEntityPunct GruvboxOrange
  701. " }}}
  702. " Vim: {{{
  703. call s:HL('vimCommentTitle', s:fg4_256, s:none, s:bold . s:italicize_comments)
  704. hi! link vimNotation GruvboxOrange
  705. hi! link vimBracket GruvboxOrange
  706. hi! link vimMapModKey GruvboxOrange
  707. hi! link vimFuncSID GruvboxFg3
  708. hi! link vimSetSep GruvboxFg3
  709. hi! link vimSep GruvboxFg3
  710. hi! link vimContinue GruvboxFg3
  711. " }}}
  712. " Clojure: {{{
  713. hi! link clojureKeyword GruvboxBlue
  714. hi! link clojureCond GruvboxOrange
  715. hi! link clojureSpecial GruvboxOrange
  716. hi! link clojureDefine GruvboxOrange
  717. hi! link clojureFunc GruvboxYellow
  718. hi! link clojureRepeat GruvboxYellow
  719. hi! link clojureCharacter GruvboxAqua
  720. hi! link clojureStringEscape GruvboxAqua
  721. hi! link clojureException GruvboxRed
  722. hi! link clojureRegexp GruvboxAqua
  723. hi! link clojureRegexpEscape GruvboxAqua
  724. call s:HL('clojureRegexpCharClass', s:fg3, s:none, s:bold)
  725. hi! link clojureRegexpMod clojureRegexpCharClass
  726. hi! link clojureRegexpQuantifier clojureRegexpCharClass
  727. hi! link clojureParen GruvboxFg3
  728. hi! link clojureAnonArg GruvboxYellow
  729. hi! link clojureVariable GruvboxBlue
  730. hi! link clojureMacro GruvboxOrange
  731. hi! link clojureMeta GruvboxYellow
  732. hi! link clojureDeref GruvboxYellow
  733. hi! link clojureQuote GruvboxYellow
  734. hi! link clojureUnquote GruvboxYellow
  735. " }}}
  736. " C: {{{
  737. hi! link cOperator GruvboxPurple
  738. hi! link cStructure GruvboxOrange
  739. " }}}
  740. " Python: {{{
  741. hi! link pythonBuiltin GruvboxOrange
  742. hi! link pythonBuiltinObj GruvboxOrange
  743. hi! link pythonBuiltinFunc GruvboxOrange
  744. hi! link pythonFunction GruvboxAqua
  745. hi! link pythonDecorator GruvboxRed
  746. hi! link pythonInclude GruvboxBlue
  747. hi! link pythonImport GruvboxBlue
  748. hi! link pythonRun GruvboxBlue
  749. hi! link pythonCoding GruvboxBlue
  750. hi! link pythonOperator GruvboxRed
  751. hi! link pythonExceptions GruvboxPurple
  752. hi! link pythonBoolean GruvboxPurple
  753. hi! link pythonDot GruvboxFg3
  754. " }}}
  755. " CSS: {{{
  756. hi! link cssBraces GruvboxBlue
  757. hi! link cssFunctionName GruvboxYellow
  758. hi! link cssIdentifier GruvboxOrange
  759. hi! link cssClassName GruvboxGreen
  760. hi! link cssColor GruvboxBlue
  761. hi! link cssSelectorOp GruvboxBlue
  762. hi! link cssSelectorOp2 GruvboxBlue
  763. hi! link cssImportant GruvboxGreen
  764. hi! link cssVendor GruvboxFg1
  765. hi! link cssTextProp GruvboxAqua
  766. hi! link cssAnimationProp GruvboxAqua
  767. hi! link cssUIProp GruvboxYellow
  768. hi! link cssTransformProp GruvboxAqua
  769. hi! link cssTransitionProp GruvboxAqua
  770. hi! link cssPrintProp GruvboxAqua
  771. hi! link cssPositioningProp GruvboxYellow
  772. hi! link cssBoxProp GruvboxAqua
  773. hi! link cssFontDescriptorProp GruvboxAqua
  774. hi! link cssFlexibleBoxProp GruvboxAqua
  775. hi! link cssBorderOutlineProp GruvboxAqua
  776. hi! link cssBackgroundProp GruvboxAqua
  777. hi! link cssMarginProp GruvboxAqua
  778. hi! link cssListProp GruvboxAqua
  779. hi! link cssTableProp GruvboxAqua
  780. hi! link cssFontProp GruvboxAqua
  781. hi! link cssPaddingProp GruvboxAqua
  782. hi! link cssDimensionProp GruvboxAqua
  783. hi! link cssRenderProp GruvboxAqua
  784. hi! link cssColorProp GruvboxAqua
  785. hi! link cssGeneratedContentProp GruvboxAqua
  786. " }}}
  787. " JavaScript: {{{
  788. hi! link javaScriptBraces GruvboxFg1
  789. hi! link javaScriptFunction GruvboxAqua
  790. hi! link javaScriptIdentifier GruvboxRed
  791. hi! link javaScriptMember GruvboxBlue
  792. hi! link javaScriptNumber GruvboxPurple
  793. hi! link javaScriptNull GruvboxPurple
  794. hi! link javaScriptParens GruvboxFg3
  795. " }}}
  796. " YAJS: {{{
  797. hi! link javascriptImport GruvboxAqua
  798. hi! link javascriptExport GruvboxAqua
  799. hi! link javascriptClassKeyword GruvboxAqua
  800. hi! link javascriptClassExtends GruvboxAqua
  801. hi! link javascriptDefault GruvboxAqua
  802. hi! link javascriptClassName GruvboxYellow
  803. hi! link javascriptClassSuperName GruvboxYellow
  804. hi! link javascriptGlobal GruvboxYellow
  805. hi! link javascriptEndColons GruvboxFg1
  806. hi! link javascriptFuncArg GruvboxFg1
  807. hi! link javascriptGlobalMethod GruvboxFg1
  808. hi! link javascriptNodeGlobal GruvboxFg1
  809. " hi! link javascriptVariable GruvboxOrange
  810. hi! link javascriptVariable GruvboxRed
  811. " hi! link javascriptIdentifier GruvboxOrange
  812. " hi! link javascriptClassSuper GruvboxOrange
  813. hi! link javascriptIdentifier GruvboxOrange
  814. hi! link javascriptClassSuper GruvboxOrange
  815. " hi! link javascriptFuncKeyword GruvboxOrange
  816. " hi! link javascriptAsyncFunc GruvboxOrange
  817. hi! link javascriptFuncKeyword GruvboxAqua
  818. hi! link javascriptAsyncFunc GruvboxAqua
  819. hi! link javascriptClassStatic GruvboxOrange
  820. hi! link javascriptOperator GruvboxRed
  821. hi! link javascriptForOperator GruvboxRed
  822. hi! link javascriptYield GruvboxRed
  823. hi! link javascriptExceptions GruvboxRed
  824. hi! link javascriptMessage GruvboxRed
  825. hi! link javascriptTemplateSB GruvboxAqua
  826. hi! link javascriptTemplateSubstitution GruvboxFg1
  827. " hi! link javascriptLabel GruvboxBlue
  828. " hi! link javascriptObjectLabel GruvboxBlue
  829. " hi! link javascriptPropertyName GruvboxBlue
  830. hi! link javascriptLabel GruvboxFg1
  831. hi! link javascriptObjectLabel GruvboxFg1
  832. hi! link javascriptPropertyName GruvboxFg1
  833. hi! link javascriptLogicSymbols GruvboxFg1
  834. hi! link javascriptArrowFunc GruvboxFg1
  835. hi! link javascriptDocParamName GruvboxFg4
  836. hi! link javascriptDocTags GruvboxFg4
  837. hi! link javascriptDocNotation GruvboxFg4
  838. hi! link javascriptDocParamType GruvboxFg4
  839. hi! link javascriptDocNamedParamType GruvboxFg4
  840. " }}}
  841. " CoffeeScript: {{{
  842. hi! link coffeeExtendedOp GruvboxFg3
  843. hi! link coffeeSpecialOp GruvboxFg3
  844. hi! link coffeeCurly GruvboxOrange
  845. hi! link coffeeParen GruvboxFg3
  846. hi! link coffeeBracket GruvboxOrange
  847. " }}}
  848. " Ruby: {{{
  849. hi! link rubyStringDelimiter GruvboxGreen
  850. hi! link rubyInterpolationDelimiter GruvboxAqua
  851. " }}}
  852. " ObjectiveC: {{{
  853. hi! link objcTypeModifier GruvboxRed
  854. hi! link objcDirective GruvboxBlue
  855. " }}}
  856. " Go: {{{
  857. hi! link goDirective GruvboxAqua
  858. hi! link goConstants GruvboxPurple
  859. hi! link goDeclaration GruvboxRed
  860. hi! link goDeclType GruvboxBlue
  861. hi! link goBuiltins GruvboxOrange
  862. " }}}
  863. " Lua: {{{
  864. hi! link luaIn GruvboxRed
  865. hi! link luaFunction GruvboxAqua
  866. hi! link luaTable GruvboxOrange
  867. " }}}
  868. " MoonScript: {{{
  869. hi! link moonSpecialOp GruvboxFg3
  870. hi! link moonExtendedOp GruvboxFg3
  871. hi! link moonFunction GruvboxFg3
  872. hi! link moonObject GruvboxYellow
  873. " }}}
  874. " Java: {{{
  875. hi! link javaAnnotation GruvboxBlue
  876. hi! link javaDocTags GruvboxAqua
  877. hi! link javaCommentTitle vimCommentTitle
  878. hi! link javaParen GruvboxFg3
  879. hi! link javaParen1 GruvboxFg3
  880. hi! link javaParen2 GruvboxFg3
  881. hi! link javaParen3 GruvboxFg3
  882. hi! link javaParen4 GruvboxFg3
  883. hi! link javaParen5 GruvboxFg3
  884. hi! link javaOperator GruvboxOrange
  885. hi! link javaVarArg GruvboxGreen
  886. " }}}
  887. " Elixir: {{{
  888. hi! link elixirDocString Comment
  889. hi! link elixirStringDelimiter GruvboxGreen
  890. hi! link elixirInterpolationDelimiter GruvboxAqua
  891. " }}}
  892. " Scala: {{{
  893. " NB: scala vim syntax file is kinda horrible
  894. hi! link scalaNameDefinition GruvboxFg1
  895. hi! link scalaCaseFollowing GruvboxFg1
  896. hi! link scalaCapitalWord GruvboxFg1
  897. hi! link scalaTypeExtension GruvboxFg1
  898. hi! link scalaKeyword GruvboxRed
  899. hi! link scalaKeywordModifier GruvboxRed
  900. hi! link scalaSpecial GruvboxAqua
  901. hi! link scalaOperator GruvboxFg1
  902. hi! link scalaTypeDeclaration GruvboxYellow
  903. hi! link scalaTypeTypePostDeclaration GruvboxYellow
  904. hi! link scalaInstanceDeclaration GruvboxFg1
  905. hi! link scalaInterpolation GruvboxAqua
  906. " }}}
  907. " Markdown: {{{
  908. call s:HL('markdownItalic', s:fg3, s:none, s:italic)
  909. hi! link markdownH1 GruvboxGreenBold
  910. hi! link markdownH2 GruvboxGreenBold
  911. hi! link markdownH3 GruvboxYellowBold
  912. hi! link markdownH4 GruvboxYellowBold
  913. hi! link markdownH5 GruvboxYellow
  914. hi! link markdownH6 GruvboxYellow
  915. hi! link markdownCode GruvboxYellow
  916. hi! link markdownCodeBlock GruvboxYellow
  917. hi! link markdownCodeDelimiter GruvboxAqua
  918. hi! link markdownBlockquote GruvboxGray
  919. hi! link markdownListMarker GruvboxGray
  920. hi! link markdownOrderedListMarker GruvboxGray
  921. hi! link markdownRule GruvboxGray
  922. hi! link markdownHeadingRule GruvboxGray
  923. hi! link markdownUrlDelimiter GruvboxFg3
  924. hi! link markdownLinkDelimiter GruvboxFg3
  925. hi! link markdownLinkTextDelimiter GruvboxFg3
  926. hi! link markdownHeadingDelimiter GruvboxOrange
  927. hi! link markdownUrl GruvboxPurple
  928. hi! link markdownUrlTitleDelimiter GruvboxGreen
  929. hi! link mkdDelimiter GruvboxGray
  930. hi! link htmlBold GruvboxPurple
  931. hi! link htmlItalic GruvboxAqua
  932. hi! link mkdLink GruvboxOrange
  933. hi! link mkdUrl GruvboxBlue
  934. hi! link mkdInLineUrl GruvboxBlue
  935. hi! link htmlTag GruvboxBlue
  936. hi! link htmlTagN GruvboxOrange
  937. hi! link mkdCode GruvboxYellow
  938. hi! link mkdCodeBlock GruvboxYellow
  939. call s:HL('markdownLinkText', s:gray, s:none, s:underline)
  940. hi! link markdownIdDeclaration markdownLinkText
  941. " }}}
  942. " Haskell: {{{
  943. " hi! link haskellType GruvboxYellow
  944. " hi! link haskellOperators GruvboxOrange
  945. " hi! link haskellConditional GruvboxAqua
  946. " hi! link haskellLet GruvboxOrange
  947. "
  948. hi! link haskellType GruvboxFg1
  949. hi! link haskellIdentifier GruvboxFg1
  950. hi! link haskellSeparator GruvboxFg1
  951. hi! link haskellDelimiter GruvboxFg4
  952. hi! link haskellOperators GruvboxBlue
  953. "
  954. hi! link haskellBacktick GruvboxOrange
  955. hi! link haskellStatement GruvboxOrange
  956. hi! link haskellConditional GruvboxOrange
  957. hi! link haskellLet GruvboxAqua
  958. hi! link haskellDefault GruvboxAqua
  959. hi! link haskellWhere GruvboxAqua
  960. hi! link haskellBottom GruvboxAqua
  961. hi! link haskellBlockKeywords GruvboxAqua
  962. hi! link haskellImportKeywords GruvboxAqua
  963. hi! link haskellDeclKeyword GruvboxAqua
  964. hi! link haskellDeriving GruvboxAqua
  965. hi! link haskellAssocType GruvboxAqua
  966. hi! link haskellNumber GruvboxPurple
  967. hi! link haskellPragma GruvboxPurple
  968. hi! link haskellString GruvboxGreen
  969. hi! link haskellChar GruvboxGreen
  970. " }}}
  971. " Json: {{{
  972. hi! link jsonKeyword GruvboxGreen
  973. hi! link jsonQuote GruvboxGreen
  974. hi! link jsonBraces GruvboxFg1
  975. hi! link jsonString GruvboxFg1
  976. " }}}
  977. " Functions -------------------------------------------------------------------
  978. " Search Highlighting Cursor {{{
  979. function! GruvboxHlsShowCursor()
  980. call s:HL('Cursor', s:bg0, s:hls_cursor)
  981. endfunction
  982. function! GruvboxHlsHideCursor()
  983. call s:HL('Cursor', s:none, s:none, s:inverse)
  984. endfunction
  985. " }}}
  986. " vim: set sw=2 ts=2 sts=2 et tw=80 ft=vim fdm=marker: