hybrid.vim 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454
  1. " File: hybrid.vim
  2. " Maintainer: Andrew Wong (w0ng)
  3. " URL: https://github.com/w0ng/vim-hybrid
  4. " Modified: 27 Jan 2013 07:33 AM AEST
  5. " License: MIT
  6. " Description:"{{{
  7. " ----------------------------------------------------------------------------
  8. " The default RGB colour palette is taken from Tomorrow-Night.vim:
  9. " https://github.com/chriskempson/vim-tomorrow-theme
  10. "
  11. " The reduced RGB colour palette is taken from Codecademy's online editor:
  12. " https://www.codecademy.com/learn
  13. "
  14. " The syntax highlighting scheme is taken from jellybeans.vim:
  15. " https://github.com/nanotech/jellybeans.vim
  16. "
  17. " The is code taken from solarized.vim:
  18. " https://github.com/altercation/vim-colors-solarized
  19. "}}}
  20. " Requirements And Recommendations:"{{{
  21. " ----------------------------------------------------------------------------
  22. " Requirements
  23. " - gVim 7.3+ on Linux, Mac and Windows.
  24. " - Vim 7.3+ on Linux and Mac, using a terminal that supports 256 colours.
  25. "
  26. " Due to the limited 256 palette, colours in Vim and gVim will still be slightly
  27. " different.
  28. "
  29. " In order to have Vim use the same colours as gVim (the way this colour scheme
  30. " is intended), it is recommended that you define the basic 16 colours in your
  31. " terminal.
  32. "
  33. " For Linux users (rxvt-unicode, xterm):
  34. "
  35. " 1. Add the default palette to ~/.Xresources:
  36. "
  37. " https://gist.github.com/3278077
  38. "
  39. " or alternatively, add the reduced contrast palette to ~/.Xresources:
  40. "
  41. " https://gist.github.com/w0ng/16e33902508b4a0350ae
  42. "
  43. " 2. Add to ~/.vimrc:
  44. "
  45. " let g:hybrid_custom_term_colors = 1
  46. " let g:hybrid_reduced_contrast = 1 " Remove this line if using the default palette.
  47. " colorscheme hybrid
  48. "
  49. " For OSX users (iTerm):
  50. "
  51. " 1. Import the default colour preset into iTerm:
  52. "
  53. " https://raw.githubusercontent.com/w0ng/dotfiles/master/iterm2/hybrid.itermcolors
  54. "
  55. " or alternatively, import the reduced contrast color preset into iTerm:
  56. "
  57. " https://raw.githubusercontent.com/w0ng/dotfiles/master/iterm2/hybrid-reduced-contrast.itermcolors
  58. "
  59. " 2. Add to ~/.vimrc:
  60. "
  61. " let g:hybrid_custom_term_colors = 1
  62. " let g:hybrid_reduced_contrast = 1 " Remove this line if using the default palette.
  63. " colorscheme hybrid
  64. "}}}
  65. " Initialisation:"{{{
  66. " ----------------------------------------------------------------------------
  67. hi clear
  68. if exists("syntax_on")
  69. syntax reset
  70. endif
  71. let s:style = &background
  72. let g:colors_name = "hybrid"
  73. "}}}
  74. " GUI And Cterm Palettes:"{{{
  75. " ----------------------------------------------------------------------------
  76. let s:palette = {'gui' : {} , 'cterm' : {}}
  77. if exists("g:hybrid_reduced_contrast") && g:hybrid_reduced_contrast == 1
  78. let s:gui_background = "#232c31"
  79. let s:gui_selection = "#425059"
  80. let s:gui_line = "#2d3c46"
  81. let s:gui_comment = "#6c7a80"
  82. else
  83. let s:gui_background = "#1d1f21"
  84. let s:gui_selection = "#373b41"
  85. let s:gui_line = "#282a2e"
  86. let s:gui_comment = "#707880"
  87. endif
  88. let s:palette.gui.background = { 'dark' : s:gui_background , 'light' : "#e4e4e4" }
  89. let s:palette.gui.foreground = { 'dark' : "#c5c8c6" , 'light' : "#000000" }
  90. let s:palette.gui.selection = { 'dark' : s:gui_selection , 'light' : "#bcbcbc" }
  91. let s:palette.gui.line = { 'dark' : s:gui_line , 'light' : "#d0d0d0" }
  92. let s:palette.gui.comment = { 'dark' : s:gui_comment , 'light' : "#5f5f5f" }
  93. let s:palette.gui.red = { 'dark' : "#cc6666" , 'light' : "#5f0000" }
  94. let s:palette.gui.orange = { 'dark' : "#de935f" , 'light' : "#875f00" }
  95. let s:palette.gui.yellow = { 'dark' : "#f0c674" , 'light' : "#5f5f00" }
  96. let s:palette.gui.green = { 'dark' : "#b5bd68" , 'light' : "#005f00" }
  97. let s:palette.gui.aqua = { 'dark' : "#8abeb7" , 'light' : "#005f5f" }
  98. let s:palette.gui.blue = { 'dark' : "#81a2be" , 'light' : "#00005f" }
  99. let s:palette.gui.purple = { 'dark' : "#b294bb" , 'light' : "#5f005f" }
  100. let s:palette.gui.window = { 'dark' : "#303030" , 'light' : "#9e9e9e" }
  101. let s:palette.gui.darkcolumn = { 'dark' : "#1c1c1c" , 'light' : "#808080" }
  102. let s:palette.gui.addbg = { 'dark' : "#5F875F" , 'light' : "#d7ffd7" }
  103. let s:palette.gui.addfg = { 'dark' : "#d7ffaf" , 'light' : "#005f00" }
  104. let s:palette.gui.changebg = { 'dark' : "#5F5F87" , 'light' : "#d7d7ff" }
  105. let s:palette.gui.changefg = { 'dark' : "#d7d7ff" , 'light' : "#5f005f" }
  106. let s:palette.gui.delbg = { 'dark' : "#cc6666" , 'light' : "#ffd7d7" }
  107. let s:palette.gui.darkblue = { 'dark' : "#00005f" , 'light' : "#d7ffd7" }
  108. let s:palette.gui.darkcyan = { 'dark' : "#005f5f" , 'light' : "#005f00" }
  109. let s:palette.gui.darkred = { 'dark' : "#5f0000" , 'light' : "#d7d7ff" }
  110. let s:palette.gui.darkpurple = { 'dark' : "#5f005f" , 'light' : "#5f005f" }
  111. if exists("g:hybrid_custom_term_colors") && g:hybrid_custom_term_colors == 1
  112. let s:cterm_foreground = "15" " White
  113. let s:cterm_selection = "8" " DarkGrey
  114. let s:cterm_line = "0" " Black
  115. let s:cterm_comment = "7" " LightGrey
  116. let s:cterm_red = "9" " LightRed
  117. let s:cterm_orange = "3" " DarkYellow
  118. let s:cterm_yellow = "11" " LightYellow
  119. let s:cterm_green = "10" " LightGreen
  120. let s:cterm_aqua = "14" " LightCyan
  121. let s:cterm_blue = "12" " LightBlue
  122. let s:cterm_purple = "13" " LightMagenta
  123. let s:cterm_delbg = "9" " LightRed
  124. else
  125. let s:cterm_foreground = "250"
  126. let s:cterm_selection = "237"
  127. let s:cterm_line = "235"
  128. let s:cterm_comment = "243"
  129. let s:cterm_red = "167"
  130. let s:cterm_orange = "173"
  131. let s:cterm_yellow = "221"
  132. let s:cterm_green = "143"
  133. let s:cterm_aqua = "109"
  134. let s:cterm_blue = "110"
  135. let s:cterm_purple = "139"
  136. let s:cterm_delbg = "167"
  137. endif
  138. let s:palette.cterm.background = { 'dark' : "234" , 'light' : "254" }
  139. let s:palette.cterm.foreground = { 'dark' : s:cterm_foreground , 'light' : "16" }
  140. let s:palette.cterm.window = { 'dark' : "236" , 'light' : "247" }
  141. let s:palette.cterm.selection = { 'dark' : s:cterm_selection , 'light' : "250" }
  142. let s:palette.cterm.line = { 'dark' : s:cterm_line , 'light' : "252" }
  143. let s:palette.cterm.comment = { 'dark' : s:cterm_comment , 'light' : "59" }
  144. let s:palette.cterm.red = { 'dark' : s:cterm_red , 'light' : "52" }
  145. let s:palette.cterm.orange = { 'dark' : s:cterm_orange , 'light' : "94" }
  146. let s:palette.cterm.yellow = { 'dark' : s:cterm_yellow , 'light' : "58" }
  147. let s:palette.cterm.green = { 'dark' : s:cterm_green , 'light' : "22" }
  148. let s:palette.cterm.aqua = { 'dark' : s:cterm_aqua , 'light' : "23" }
  149. let s:palette.cterm.blue = { 'dark' : s:cterm_blue , 'light' : "17" }
  150. let s:palette.cterm.purple = { 'dark' : s:cterm_purple , 'light' : "53" }
  151. let s:palette.cterm.darkcolumn = { 'dark' : "234" , 'light' : "244" }
  152. let s:palette.cterm.addbg = { 'dark' : "65" , 'light' : "194" }
  153. let s:palette.cterm.addfg = { 'dark' : "193" , 'light' : "22" }
  154. let s:palette.cterm.changebg = { 'dark' : "60" , 'light' : "189" }
  155. let s:palette.cterm.changefg = { 'dark' : "189" , 'light' : "53" }
  156. let s:palette.cterm.delbg = { 'dark' : s:cterm_delbg , 'light' : "224" }
  157. let s:palette.cterm.darkblue = { 'dark' : "17" , 'light' : "194" }
  158. let s:palette.cterm.darkcyan = { 'dark' : "24" , 'light' : "22" }
  159. let s:palette.cterm.darkred = { 'dark' : "52" , 'light' : "189" }
  160. let s:palette.cterm.darkpurple = { 'dark' : "53" , 'light' : "53" }
  161. "}}}
  162. " Formatting Options:"{{{
  163. " ----------------------------------------------------------------------------
  164. let s:none = "NONE"
  165. let s:t_none = "NONE"
  166. let s:n = "NONE"
  167. let s:c = ",undercurl"
  168. let s:r = ",reverse"
  169. let s:s = ",standout"
  170. let s:b = ",bold"
  171. let s:u = ",underline"
  172. let s:i = ",italic"
  173. "}}}
  174. " Highlighting Primitives:"{{{
  175. " ----------------------------------------------------------------------------
  176. function! s:build_prim(hi_elem, field)
  177. " Given a:hi_elem = bg, a:field = comment
  178. let l:vname = "s:" . a:hi_elem . "_" . a:field " s:bg_comment
  179. let l:gui_assign = "gui".a:hi_elem."=".s:palette.gui[a:field][s:style] " guibg=...
  180. let l:cterm_assign = "cterm".a:hi_elem."=".s:palette.cterm[a:field][s:style] " ctermbg=...
  181. exe "let " . l:vname . " = ' " . l:gui_assign . " " . l:cterm_assign . "'"
  182. endfunction
  183. let s:bg_none = ' guibg=NONE ctermbg=NONE'
  184. call s:build_prim('bg', 'foreground')
  185. call s:build_prim('bg', 'background')
  186. call s:build_prim('bg', 'selection')
  187. call s:build_prim('bg', 'line')
  188. call s:build_prim('bg', 'comment')
  189. call s:build_prim('bg', 'red')
  190. call s:build_prim('bg', 'orange')
  191. call s:build_prim('bg', 'yellow')
  192. call s:build_prim('bg', 'green')
  193. call s:build_prim('bg', 'aqua')
  194. call s:build_prim('bg', 'blue')
  195. call s:build_prim('bg', 'purple')
  196. call s:build_prim('bg', 'window')
  197. call s:build_prim('bg', 'darkcolumn')
  198. call s:build_prim('bg', 'addbg')
  199. call s:build_prim('bg', 'addfg')
  200. call s:build_prim('bg', 'changebg')
  201. call s:build_prim('bg', 'changefg')
  202. call s:build_prim('bg', 'delbg')
  203. call s:build_prim('bg', 'darkblue')
  204. call s:build_prim('bg', 'darkcyan')
  205. call s:build_prim('bg', 'darkred')
  206. call s:build_prim('bg', 'darkpurple')
  207. let s:fg_none = ' guifg=NONE ctermfg=NONE'
  208. call s:build_prim('fg', 'foreground')
  209. call s:build_prim('fg', 'background')
  210. call s:build_prim('fg', 'selection')
  211. call s:build_prim('fg', 'line')
  212. call s:build_prim('fg', 'comment')
  213. call s:build_prim('fg', 'red')
  214. call s:build_prim('fg', 'orange')
  215. call s:build_prim('fg', 'yellow')
  216. call s:build_prim('fg', 'green')
  217. call s:build_prim('fg', 'aqua')
  218. call s:build_prim('fg', 'blue')
  219. call s:build_prim('fg', 'purple')
  220. call s:build_prim('fg', 'window')
  221. call s:build_prim('fg', 'darkcolumn')
  222. call s:build_prim('fg', 'addbg')
  223. call s:build_prim('fg', 'addfg')
  224. call s:build_prim('fg', 'changebg')
  225. call s:build_prim('fg', 'changefg')
  226. call s:build_prim('fg', 'darkblue')
  227. call s:build_prim('fg', 'darkcyan')
  228. call s:build_prim('fg', 'darkred')
  229. call s:build_prim('fg', 'darkpurple')
  230. exe "let s:fmt_none = ' gui=NONE". " cterm=NONE". " term=NONE" ."'"
  231. exe "let s:fmt_bold = ' gui=NONE".s:b. " cterm=NONE".s:b. " term=NONE".s:b ."'"
  232. exe "let s:fmt_bldi = ' gui=NONE".s:b. " cterm=NONE".s:b. " term=NONE".s:b ."'"
  233. exe "let s:fmt_undr = ' gui=NONE".s:u. " cterm=NONE".s:u. " term=NONE".s:u ."'"
  234. exe "let s:fmt_undb = ' gui=NONE".s:u.s:b. " cterm=NONE".s:u.s:b. " term=NONE".s:u.s:b."'"
  235. exe "let s:fmt_undi = ' gui=NONE".s:u. " cterm=NONE".s:u. " term=NONE".s:u ."'"
  236. exe "let s:fmt_curl = ' gui=NONE".s:c. " cterm=NONE".s:c. " term=NONE".s:c ."'"
  237. exe "let s:fmt_ital = ' gui=NONE".s:i. " cterm=NONE".s:i. " term=NONE".s:i ."'"
  238. exe "let s:fmt_stnd = ' gui=NONE".s:s. " cterm=NONE".s:s. " term=NONE".s:s ."'"
  239. exe "let s:fmt_revr = ' gui=NONE".s:r. " cterm=NONE".s:r. " term=NONE".s:r ."'"
  240. exe "let s:fmt_revb = ' gui=NONE".s:r.s:b. " cterm=NONE".s:r.s:b. " term=NONE".s:r.s:b."'"
  241. exe "let s:sp_none = ' guisp=". s:none ."'"
  242. exe "let s:sp_foreground = ' guisp=". s:palette.gui.foreground[s:style] ."'"
  243. exe "let s:sp_background = ' guisp=". s:palette.gui.background[s:style] ."'"
  244. exe "let s:sp_selection = ' guisp=". s:palette.gui.selection[s:style] ."'"
  245. exe "let s:sp_line = ' guisp=". s:palette.gui.line[s:style] ."'"
  246. exe "let s:sp_comment = ' guisp=". s:palette.gui.comment[s:style] ."'"
  247. exe "let s:sp_red = ' guisp=". s:palette.gui.red[s:style] ."'"
  248. exe "let s:sp_orange = ' guisp=". s:palette.gui.orange[s:style] ."'"
  249. exe "let s:sp_yellow = ' guisp=". s:palette.gui.yellow[s:style] ."'"
  250. exe "let s:sp_green = ' guisp=". s:palette.gui.green[s:style] ."'"
  251. exe "let s:sp_aqua = ' guisp=". s:palette.gui.aqua[s:style] ."'"
  252. exe "let s:sp_blue = ' guisp=". s:palette.gui.blue[s:style] ."'"
  253. exe "let s:sp_purple = ' guisp=". s:palette.gui.purple[s:style] ."'"
  254. exe "let s:sp_window = ' guisp=". s:palette.gui.window[s:style] ."'"
  255. exe "let s:sp_addbg = ' guisp=". s:palette.gui.addbg[s:style] ."'"
  256. exe "let s:sp_addfg = ' guisp=". s:palette.gui.addfg[s:style] ."'"
  257. exe "let s:sp_changebg = ' guisp=". s:palette.gui.changebg[s:style] ."'"
  258. exe "let s:sp_changefg = ' guisp=". s:palette.gui.changefg[s:style] ."'"
  259. exe "let s:sp_darkblue = ' guisp=". s:palette.gui.darkblue[s:style] ."'"
  260. exe "let s:sp_darkcyan = ' guisp=". s:palette.gui.darkcyan[s:style] ."'"
  261. exe "let s:sp_darkred = ' guisp=". s:palette.gui.darkred[s:style] ."'"
  262. exe "let s:sp_darkpurple = ' guisp=". s:palette.gui.darkpurple[s:style] ."'"
  263. "}}}
  264. " Vim Highlighting: (see :help highlight-groups)"{{{
  265. " ----------------------------------------------------------------------------
  266. exe "hi! ColorColumn" .s:fg_none .s:bg_line .s:fmt_none
  267. " Conceal"
  268. " Cursor"
  269. " CursorIM"
  270. exe "hi! CursorColumn" .s:fg_none .s:bg_line .s:fmt_none
  271. exe "hi! CursorLine" .s:fg_none .s:bg_line .s:fmt_none
  272. exe "hi! Directory" .s:fg_blue .s:bg_none .s:fmt_none
  273. exe "hi! DiffAdd" .s:fg_addfg .s:bg_addbg .s:fmt_none
  274. exe "hi! DiffChange" .s:fg_changefg .s:bg_changebg .s:fmt_none
  275. exe "hi! DiffDelete" .s:fg_background .s:bg_delbg .s:fmt_none
  276. exe "hi! DiffText" .s:fg_background .s:bg_blue .s:fmt_none
  277. exe "hi! ErrorMsg" .s:fg_background .s:bg_red .s:fmt_stnd
  278. exe "hi! VertSplit" .s:fg_window .s:bg_none .s:fmt_none
  279. exe "hi! Folded" .s:fg_comment .s:bg_darkcolumn .s:fmt_none
  280. exe "hi! FoldColumn" .s:fg_none .s:bg_darkcolumn .s:fmt_none
  281. exe "hi! SignColumn" .s:fg_none .s:bg_darkcolumn .s:fmt_none
  282. " Incsearch"
  283. exe "hi! LineNr" .s:fg_selection .s:bg_none .s:fmt_none
  284. exe "hi! CursorLineNr" .s:fg_yellow .s:bg_none .s:fmt_none
  285. exe "hi! MatchParen" .s:fg_background .s:bg_changebg .s:fmt_none
  286. exe "hi! ModeMsg" .s:fg_green .s:bg_none .s:fmt_none
  287. exe "hi! MoreMsg" .s:fg_green .s:bg_none .s:fmt_none
  288. exe "hi! NonText" .s:fg_selection .s:bg_none .s:fmt_none
  289. exe "hi! Pmenu" .s:fg_foreground .s:bg_selection .s:fmt_none
  290. exe "hi! PmenuSel" .s:fg_foreground .s:bg_selection .s:fmt_revr
  291. " PmenuSbar"
  292. " PmenuThumb"
  293. exe "hi! Question" .s:fg_green .s:bg_none .s:fmt_none
  294. exe "hi! Search" .s:fg_background .s:bg_yellow .s:fmt_none
  295. exe "hi! SpecialKey" .s:fg_selection .s:bg_none .s:fmt_none
  296. exe "hi! SpellCap" .s:fg_blue .s:bg_darkblue .s:fmt_undr
  297. exe "hi! SpellLocal" .s:fg_aqua .s:bg_darkcyan .s:fmt_undr
  298. exe "hi! SpellBad" .s:fg_red .s:bg_darkred .s:fmt_undr
  299. exe "hi! SpellRare" .s:fg_purple .s:bg_darkpurple .s:fmt_undr
  300. exe "hi! StatusLine" .s:fg_comment .s:bg_background .s:fmt_revr
  301. exe "hi! StatusLineNC" .s:fg_window .s:bg_comment .s:fmt_revr
  302. exe "hi! TabLine" .s:fg_foreground .s:bg_darkcolumn .s:fmt_revr
  303. " TabLineFill"
  304. " TabLineSel"
  305. exe "hi! Title" .s:fg_yellow .s:bg_none .s:fmt_none
  306. exe "hi! Visual" .s:fg_none .s:bg_selection .s:fmt_none
  307. " VisualNos"
  308. exe "hi! WarningMsg" .s:fg_red .s:bg_none .s:fmt_none
  309. " FIXME LongLineWarning to use variables instead of hardcoding
  310. hi LongLineWarning guifg=NONE guibg=#371F1C gui=underline ctermfg=NONE ctermbg=NONE cterm=underline
  311. " WildMenu"
  312. " Use defined custom background colour for terminal Vim.
  313. if !has('gui_running') && exists("g:hybrid_custom_term_colors") && g:hybrid_custom_term_colors == 1
  314. let s:bg_normal = s:bg_none
  315. else
  316. let s:bg_normal = s:bg_background
  317. endif
  318. exe "hi! Normal" .s:fg_foreground .s:bg_normal .s:fmt_none
  319. "}}}
  320. " Generic Syntax Highlighting: (see :help group-name)"{{{
  321. " ----------------------------------------------------------------------------
  322. exe "hi! Comment" .s:fg_comment .s:bg_none .s:fmt_none
  323. exe "hi! Constant" .s:fg_red .s:bg_none .s:fmt_none
  324. exe "hi! String" .s:fg_green .s:bg_none .s:fmt_none
  325. " Character"
  326. " Number"
  327. " Boolean"
  328. " Float"
  329. exe "hi! Identifier" .s:fg_purple .s:bg_none .s:fmt_none
  330. exe "hi! Function" .s:fg_yellow .s:bg_none .s:fmt_none
  331. exe "hi! Statement" .s:fg_blue .s:bg_none .s:fmt_none
  332. " Conditional"
  333. " Repeat"
  334. " Label"
  335. exe "hi! Operator" .s:fg_aqua .s:bg_none .s:fmt_none
  336. " Keyword"
  337. " Exception"
  338. exe "hi! PreProc" .s:fg_aqua .s:bg_none .s:fmt_none
  339. " Include"
  340. " Define"
  341. " Macro"
  342. " PreCondit"
  343. exe "hi! Type" .s:fg_orange .s:bg_none .s:fmt_none
  344. " StorageClass"
  345. exe "hi! Structure" .s:fg_aqua .s:bg_none .s:fmt_none
  346. " Typedef"
  347. exe "hi! Special" .s:fg_green .s:bg_none .s:fmt_none
  348. " SpecialChar"
  349. " Tag"
  350. " Delimiter"
  351. " SpecialComment"
  352. " Debug"
  353. "
  354. exe "hi! Underlined" .s:fg_blue .s:bg_none .s:fmt_none
  355. exe "hi! Ignore" .s:fg_none .s:bg_none .s:fmt_none
  356. exe "hi! Error" .s:fg_red .s:bg_darkred .s:fmt_undr
  357. exe "hi! Todo" .s:fg_addfg .s:bg_none .s:fmt_none
  358. " Quickfix window highlighting
  359. exe "hi! qfLineNr" .s:fg_yellow .s:bg_none .s:fmt_none
  360. " qfFileName"
  361. " qfLineNr"
  362. " qfError"
  363. "}}}
  364. " Diff Syntax Highlighting:"{{{
  365. " ----------------------------------------------------------------------------
  366. " Diff
  367. " diffOldFile
  368. " diffNewFile
  369. " diffFile
  370. " diffOnly
  371. " diffIdentical
  372. " diffDiffer
  373. " diffBDiffer
  374. " diffIsA
  375. " diffNoEOL
  376. " diffCommon
  377. hi! link diffRemoved Constant
  378. " diffChanged
  379. hi! link diffAdded Special
  380. " diffLine
  381. " diffSubname
  382. " diffComment
  383. "}}}
  384. "
  385. " This is needed for some reason: {{{
  386. let &background = s:style
  387. " }}}
  388. " Legal:"{{{
  389. " ----------------------------------------------------------------------------
  390. " Copyright (c) 2011 Ethan Schoonover
  391. " Copyright (c) 2009-2012 NanoTech
  392. " Copyright (c) 2012 w0ng
  393. "
  394. " Permission is hereby granted, free of charge, to any per‐
  395. " son obtaining a copy of this software and associated doc‐
  396. " umentation files (the “Software”), to deal in the Soft‐
  397. " ware without restriction, including without limitation
  398. " the rights to use, copy, modify, merge, publish, distrib‐
  399. " ute, sublicense, and/or sell copies of the Software, and
  400. " to permit persons to whom the Software is furnished to do
  401. " so, subject to the following conditions:
  402. "
  403. " The above copyright notice and this permission notice
  404. " shall be included in all copies or substantial portions
  405. " of the Software.
  406. "
  407. " THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY
  408. " KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
  409. " THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICU‐
  410. " LAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  411. " AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
  412. " DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CON‐
  413. " TRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CON‐
  414. " NECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  415. " THE SOFTWARE.
  416. " }}}