pink.vim 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. " Maintainer: paddynewman@gmail.com
  2. " License: BSD
  3. if &t_Co != 256 && !has("gui_running")
  4. echomsg ""
  5. echomsg "write 'set t_Co=256' in your .vimrc or this file won't load"
  6. echomsg ""
  7. finish
  8. endif
  9. set background=dark
  10. hi clear
  11. if exists("syntax_on")
  12. syntax reset
  13. endif
  14. let g:colors_name = "pink"
  15. let s:save_cpo = &cpo
  16. set cpo&vim
  17. let s:colors256 = [
  18. \ ["Normal", "NONE", "238", "225" ],
  19. \ ["Cursor", "NONE", "NONE", "160" ],
  20. \ ["CursorLine", "NONE", "NONE", "222" ],
  21. \ ["CursorColumn", "NONE", "NONE", "223" ],
  22. \ ["Incsearch", "NONE", "NONE", "11" ],
  23. \ ["Search", "NONE", "NONE", "11" ],
  24. \ ["ErrorMsg", "BOLD", "16", "9" ],
  25. \ ["WarningMsg", "BOLD", "16", "11" ],
  26. \ ["ModeMsg", "BOLD", "NONE", "11" ],
  27. \ ["MoreMsg", "BOLD", "16", "11" ],
  28. \ ["Question", "BOLD", "27", "NONE" ],
  29. \ ["StatusLine", "NONE", "0", "219" ],
  30. \ ["StatusLineNC", "NONE", "238", "219" ],
  31. \ ["User1", "BOLD", "28", "NONE" ],
  32. \ ["User2", "BOLD", "39", "NONE" ],
  33. \ ["VertSplit", "NONE", "84", "22" ],
  34. \ ["WildMenu", "BOLD", "87", "35" ],
  35. \ ["DiffText", "NONE", "16", "190" ],
  36. \ ["DiffChange", "NONE", "16", "83" ],
  37. \ ["DiffDelete", "NONE", "79", "124" ],
  38. \ ["DiffAdd", "NONE", "79", "21" ],
  39. \ ["Folded", "NONE", "238", "255" ],
  40. \ ["FoldedColumn", "NONE", "238", "255" ],
  41. \ ["FoldColumn", "NONE", "225", "255" ],
  42. \ ["Directory", "NONE", "28", "NONE" ],
  43. \ ["LineNr", "NONE", "238", "255" ],
  44. \ ["NonText", "NONE", "238", "225" ],
  45. \ ["SpecialKey", "NONE", "9", "NONE" ],
  46. \ ["Title", "BOLD", "18", "NONE" ],
  47. \ ["Visual", "NONE", "NONE", "220" ],
  48. \ ["Comment", "NONE", "238", "255" ],
  49. \ ["Costant", "NONE", "58", "NONE" ],
  50. \ ["String", "NONE", "160", "NONE" ],
  51. \ ["Error", "NONE", "130", "NONE" ],
  52. \ ["Identifier", "NONE", "31", "NONE" ],
  53. \ ["Ignore", "NONE", "NONE", "NONE" ],
  54. \ ["Number", "NONE", "23", "NONE" ],
  55. \ ["PreProc", "NONE", "26", "255" ],
  56. \ ["Special", "NONE", "238", "NONE" ],
  57. \ ["SpecialChar", "NONE", "22", "NONE" ],
  58. \ ["Statement", "NONE", "36", "NONE" ],
  59. \ ["Todo", "NONE", "NONE", "229" ],
  60. \ ["Type", "NONE", "20", "NONE" ],
  61. \ ["Underlined", "BOLD", "25", "NONE" ],
  62. \ ["TaglistTagName","BOLD", "29", "118" ]]
  63. let s:colorvim7 = [
  64. \ ["Pmenu", "NONE", "238", "219" ],
  65. \ ["PmenuSel", "NONE", "238", "11" ],
  66. \ ["PmenuSbar", "NONE", "238", "11" ],
  67. \ ["PmenuThumb", "NONE", "238", "11" ],
  68. \ ["SpellBad", "NONE", "238", "9" ],
  69. \ ["SpellRare", "NONE", "NONE", "228" ],
  70. \ ["SpellLocal", "NONE", "NONE", "224" ],
  71. \ ["SpellCap", "NONE", "NONE", "247" ],
  72. \ ["MatchParen", "NONE", "NONE", "11" ],
  73. \ ["TabLine", "NONE", "238", "219" ],
  74. \ ["TabLineSel", "NONE", "0", "225" ],
  75. \ ["TabLineFill", "NONE", "219", "219" ]]
  76. function! s:checkargs(arg)
  77. if a:arg+0 == 0 && a:arg != "0" "its a string
  78. return a:arg
  79. else
  80. return s:cmap[a:arg+0] "get rgb color based on the number
  81. endif
  82. endfunction
  83. if !has("gui_running")
  84. for s:col in s:colors256
  85. exec "hi " . s:col[0] . " cterm=" . s:col[1] .
  86. \ " ctermfg=" . s:col[2] . " ctermbg=" . s:col[3]
  87. endfor
  88. if v:version >= 700
  89. for s:col in s:colorvim7
  90. exec "hi " .s:col[0] . " cterm=" . s:col[1] .
  91. \ " ctermfg=" . s:col[2] . " ctermbg=" . s:col[3]
  92. endfor
  93. endif
  94. else
  95. let s:cmap = [
  96. \ "#000000", "#800000", "#008000", "#808000",
  97. \ "#000080", "#800080", "#008080", "#c0c0c0",
  98. \ "#808080", "#ff0000", "#00ff00", "#ffff00",
  99. \ "#0000ff", "#ff00ff", "#00ffff", "#ffffff",
  100. \
  101. \ "#000000", "#00005f", "#00008f", "#0000af", "#0000d7", "#0000ff",
  102. \ "#005f00", "#005f5f", "#005f8f", "#005faf", "#005fd7", "#005fff",
  103. \ "#008f00", "#008f5f", "#008f8f", "#008faf", "#008fd7", "#008fff",
  104. \ "#00af00", "#00af5f", "#00af8f", "#00afaf", "#00afd7", "#00afff",
  105. \ "#00d700", "#00d75f", "#00d78f", "#00d7af", "#00d7d7", "#00d7ff",
  106. \ "#00ff00", "#00ff5f", "#00ff8f", "#00ffaf", "#00ffd7", "#00ffff",
  107. \ "#5f0000", "#5f005f", "#5f008f", "#5f00af", "#5f00d7", "#5f00ff",
  108. \ "#5f5f00", "#5f5f5f", "#5f5f8f", "#5f5faf", "#5f5fd7", "#5f5fff",
  109. \ "#5f8f00", "#5f8f5f", "#5f8f8f", "#5f8faf", "#5f8fd7", "#5f8fff",
  110. \ "#5faf00", "#5faf5f", "#5faf8f", "#5fafaf", "#5fafd7", "#5fafff",
  111. \ "#5fd700", "#5fd75f", "#5fd78f", "#5fd7af", "#5fd7d7", "#5fd7ff",
  112. \ "#5fff00", "#5fff5f", "#5fff8f", "#5fffaf", "#5fffd7", "#5fffff",
  113. \ "#8f0000", "#8f005f", "#8f008f", "#8f00af", "#8f00d7", "#8f00ff",
  114. \ "#8f5f00", "#8f5f5f", "#8f5f8f", "#8f5faf", "#8f5fd7", "#8f5fff",
  115. \ "#8f8f00", "#8f8f5f", "#8f8f8f", "#8f8faf", "#8f8fd7", "#8f8fff",
  116. \ "#8faf00", "#8faf5f", "#8faf8f", "#8fafaf", "#8fafd7", "#8fafff",
  117. \ "#8fd700", "#8fd75f", "#8fd78f", "#8fd7af", "#8fd7d7", "#8fd7ff",
  118. \ "#8fff00", "#8fff5f", "#8fff8f", "#8fffaf", "#8fffd7", "#8fffff",
  119. \ "#af0000", "#af005f", "#af008f", "#af00af", "#af00d7", "#af00ff",
  120. \ "#af5f00", "#af5f5f", "#af5f8f", "#af5faf", "#af5fd7", "#af5fff",
  121. \ "#af8f00", "#af8f5f", "#af8f8f", "#af8faf", "#af8fd7", "#af8fff",
  122. \ "#afaf00", "#afaf5f", "#afaf8f", "#afafaf", "#afafd7", "#afafff",
  123. \ "#afd700", "#afd75f", "#afd78f", "#afd7af", "#afd7d7", "#afd7ff",
  124. \ "#afff00", "#afff5f", "#afff8f", "#afffaf", "#afffd7", "#afffff",
  125. \ "#d70000", "#d7005f", "#d7008f", "#d700af", "#d700d7", "#d700ff",
  126. \ "#d75f00", "#d75f5f", "#d75f8f", "#d75faf", "#d75fd7", "#d75fff",
  127. \ "#d78f00", "#d78f5f", "#d78f8f", "#d78faf", "#d78fd7", "#d78fff",
  128. \ "#d7af00", "#d7af5f", "#d7af8f", "#d7afaf", "#d7afd7", "#d7afff",
  129. \ "#d7d700", "#d7d75f", "#d7d78f", "#d7d7af", "#d7d7d7", "#d7d7ff",
  130. \ "#d7ff00", "#d7ff5f", "#d7ff8f", "#d7ffaf", "#d7ffd7", "#d7ffff",
  131. \ "#ff0000", "#ff005f", "#ff008f", "#ff00af", "#ff00d7", "#ff00ff",
  132. \ "#ff5f00", "#ff5f5f", "#ff5f8f", "#ff5faf", "#ff5fd7", "#ff5fff",
  133. \ "#ff8f00", "#ff8f5f", "#ff8f8f", "#ff8faf", "#ff8fd7", "#ff8fff",
  134. \ "#ffaf00", "#ffaf5f", "#ffaf8f", "#ffafaf", "#ffafd7", "#ffafff",
  135. \ "#ffd700", "#ffd75f", "#ffd78f", "#ffd7af", "#ffd7d7", "#ffd7ff",
  136. \ "#ffff00", "#ffff5f", "#ffff8f", "#ffffaf", "#ffffd7", "#ffffff",
  137. \
  138. \ "#080808", "#121212", "#1c1c1c", "#262626", "#303030", "#3a3a3a",
  139. \ "#444444", "#4e4e4e", "#585858", "#606060", "#666666", "#767676",
  140. \ "#808080", "#8a8a8a", "#949494", "#9e9e9e", "#a8a8a8", "#b2b2b2",
  141. \ "#bcbcbc", "#c6c6c6", "#d0d0d0", "#dadada", "#e4e4e4", "#eeeeee" ]
  142. for s:col in s:colors256
  143. let fg = s:checkargs(s:col[2])
  144. let bg = s:checkargs(s:col[3])
  145. exec "hi " .s:col[0] . " gui=" . s:col[1] . " guifg=" .
  146. \ fg . " guibg=" .bg
  147. endfor
  148. if v:version >= 700
  149. for s:col in s:colorvim7
  150. let fg = s:checkargs(s:col[2])
  151. let bg = s:checkargs(s:col[3])
  152. exec "hi " . s:col[0] . " gui=" . s:col[1] .
  153. \ " guifg=" . fg . " guibg=" . bg
  154. endfor
  155. endif
  156. endif
  157. let &cpo = s:save_cpo " restoring &cpo value