Files
nix-config/.config/nvim/colors/space-vim-dark.vim
2020-07-15 09:28:34 -04:00

459 lines
17 KiB
VimL

" Vim color file
"
" Author: Liu-Cheng Xu
" URL: https://github.com/liuchengxu/space-vim-dark
"
" Note: Inspired by spacemacs-dark theme
hi clear
if v:version > 580
" no guarantees for version 5.8 and below, but this makes it stop
" complaining
hi clear
if exists('g:syntax_on')
syntax reset
endif
endif
let g:colors_name='space-vim-dark'
" refer to http://www.calmar.ws/vim/256-xterm-24bit-rgb-color-chart.html
let s:color_map = {
\ 16 : '#000000', 17 : '#00005f', 18 : '#000087', 19 : '#0000af', 20 : '#0000d7', 21 : '#0000ff',
\ 22 : '#005f00', 23 : '#005f5f', 24 : '#005f87', 25 : '#005faf', 26 : '#005fd7', 27 : '#005fff',
\ 28 : '#008700', 29 : '#00875f', 30 : '#008787', 31 : '#0087af', 32 : '#0087d7', 33 : '#0087ff',
\ 34 : '#00af00', 35 : '#00af5f', 36 : '#00af87', 37 : '#00afaf', 38 : '#00afd7', 39 : '#00afff',
\ 40 : '#00d700', 41 : '#00d75f', 42 : '#00d787', 43 : '#00d7af', 44 : '#00d7d7', 45 : '#00d7ff',
\ 46 : '#00ff00', 47 : '#00ff5f', 48 : '#00ff87', 49 : '#00ffaf', 50 : '#00ffd7', 51 : '#00ffff',
\ 52 : '#5f0000', 53 : '#5f005f', 54 : '#5f0087', 55 : '#5f00af', 56 : '#5f00d7', 57 : '#5f00ff',
\ 58 : '#5f5f00', 59 : '#5f5f5f', 60 : '#5f5f87', 61 : '#5f5faf', 62 : '#5f5fd7', 63 : '#5f5fff',
\ 64 : '#5f8700', 65 : '#5f875f', 66 : '#5f8787', 67 : '#5f87af', 68 : '#5f87d7', 69 : '#5f87ff',
\ 70 : '#5faf00', 71 : '#5faf5f', 72 : '#5faf87', 73 : '#5fafaf', 74 : '#5fafd7', 75 : '#5fafff',
\ 76 : '#5fd700', 77 : '#5fd75f', 78 : '#5fd787', 79 : '#5fd7af', 80 : '#5fd7d7', 81 : '#5fd7ff',
\ 82 : '#5fff00', 83 : '#5fff5f', 84 : '#5fff87', 85 : '#5fffaf', 86 : '#5fffd7', 87 : '#5fffff',
\ 88 : '#870000', 89 : '#87005f', 90 : '#870087', 91 : '#8700af', 92 : '#8700d7', 93 : '#8700ff',
\ 94 : '#875f00', 95 : '#875f5f', 96 : '#875f87', 97 : '#875faf', 98 : '#875fd7', 99 : '#875fff',
\ 100 : '#878700', 101 : '#87875f', 102 : '#878787', 103 : '#8787af', 104 : '#8787d7', 105 : '#8787ff',
\ 106 : '#87af00', 107 : '#87af5f', 108 : '#87af87', 109 : '#87afaf', 110 : '#87afd7', 111 : '#87afff',
\ 112 : '#87d700', 113 : '#87d75f', 114 : '#87d787', 115 : '#87d7af', 116 : '#87d7d7', 117 : '#87d7ff',
\ 118 : '#87ff00', 119 : '#87ff5f', 120 : '#87ff87', 121 : '#87ffaf', 122 : '#87ffd7', 123 : '#87ffff',
\ 124 : '#af0000', 125 : '#af005f', 126 : '#af0087', 127 : '#af00af', 128 : '#af00d7', 129 : '#af00ff',
\ 130 : '#af5f00', 131 : '#af5f5f', 132 : '#af5f87', 133 : '#af5faf', 134 : '#af5fd7', 135 : '#af5fff',
\ 136 : '#af8700', 137 : '#af875f', 138 : '#af8787', 139 : '#af87af', 140 : '#af87d7', 141 : '#af87ff',
\ 142 : '#afaf00', 143 : '#afaf5f', 144 : '#afaf87', 145 : '#afafaf', 146 : '#afafd7', 147 : '#afafff',
\ 148 : '#afd700', 149 : '#afd75f', 150 : '#afd787', 151 : '#afd7af', 152 : '#afd7d7', 153 : '#afd7ff',
\ 154 : '#afff00', 155 : '#afff5f', 156 : '#afff87', 157 : '#afffaf', 158 : '#afffd7', 159 : '#afffff',
\ 160 : '#d70000', 161 : '#d7005f', 162 : '#d70087', 163 : '#d700af', 164 : '#d700d7', 165 : '#d700ff',
\ 166 : '#d75f00', 167 : '#d75f5f', 168 : '#d75f87', 169 : '#d75faf', 170 : '#d75fd7', 171 : '#d75fff',
\ 172 : '#d78700', 173 : '#d7875f', 174 : '#d78787', 175 : '#d787af', 176 : '#d787d7', 177 : '#d787ff',
\ 178 : '#d7af00', 179 : '#d7af5f', 180 : '#d7af87', 181 : '#d7afaf', 182 : '#d7afd7', 183 : '#d7afff',
\ 184 : '#d7d700', 185 : '#d7d75f', 186 : '#d7d787', 187 : '#d7d7af', 188 : '#d7d7d7', 189 : '#d7d7ff',
\ 190 : '#d7ff00', 191 : '#d7ff5f', 192 : '#d7ff87', 193 : '#d7ffaf', 194 : '#d7ffd7', 195 : '#d7ffff',
\ 196 : '#ff0000', 197 : '#ff005f', 198 : '#ff0087', 199 : '#ff00af', 200 : '#ff00d7', 201 : '#ff00ff',
\ 202 : '#ff5f00', 203 : '#ff5f5f', 204 : '#ff5f87', 205 : '#ff5faf', 206 : '#ff5fd7', 207 : '#ff5fff',
\ 208 : '#ff8700', 209 : '#ff875f', 210 : '#ff8787', 211 : '#ff87af', 212 : '#ff87d7', 213 : '#ff87ff',
\ 214 : '#ffaf00', 215 : '#ffaf5f', 216 : '#ffaf87', 217 : '#ffafaf', 218 : '#ffafd7', 219 : '#ffafff',
\ 220 : '#ffd700', 221 : '#ffd75f', 222 : '#ffd787', 223 : '#ffd7af', 224 : '#ffd7d7', 225 : '#ffd7ff',
\ 226 : '#ffff00', 227 : '#ffff5f', 228 : '#ffff87', 229 : '#ffffaf', 230 : '#ffffd7', 231 : '#ffffff',
\
\ 232 : '#080808', 233 : '#121212', 234 : '#1c1c1c', 235 : '#262626', 236 : '#303030', 237 : '#3a3a3a',
\ 238 : '#444444', 239 : '#4e4e4e', 240 : '#585858', 241 : '#606060', 242 : '#666666', 243 : '#767676',
\ 244 : '#808080', 245 : '#8a8a8a', 246 : '#949494', 247 : '#9e9e9e', 248 : '#a8a8a8', 249 : '#b2b2b2',
\ 250 : '#bcbcbc', 251 : '#c6c6c6', 252 : '#d0d0d0', 253 : '#dadada', 254 : '#e4e4e4', 255 : '#eeeeee',
\ }
function! s:hi(item, fg, bg, cterm_style, gui_style)
if !empty(a:fg)
execute printf('hi %s ctermfg=%d guifg=%s', a:item, a:fg, s:color_map[a:fg])
endif
if !empty(a:bg)
execute printf('hi %s ctermbg=%d guibg=%s', a:item, a:bg, s:color_map[a:bg])
endif
execute printf('hi %s cterm=%s gui=%s', a:item, a:cterm_style, a:gui_style)
endfunction
" call s:hi(item, fg, bg, cterm_style, gui_style)
let s:bg = get(g:, 'space_vim_dark_background', 235)
let s:bias = s:bg - 235
let s:bg0 = s:bg - 1
let s:bg1 = s:bg + 1
let s:bg2 = s:bg + 2
let s:bg3 = s:bg + 3
let s:bg4 = s:bg + 4
let s:fg = 249
call s:hi('Normal' , 249 , s:bg , 'None' , 'None' )
hi Normal guibg=#292b2e
call s:hi('Cursor' , 88 , 214 , 'bold' , 'bold')
hi Cursor guifg=#330033 guibg=#FF9331
call s:hi('LineNr' , 238+s:bias , s:bg0 , 'None' , 'None' )
call s:hi('CursorLine' , '' , s:bg0 , 'None' , 'None' )
call s:hi('CursorLineNr' , 134 , s:bg0 , 'None' , 'None' )
call s:hi('CursorColumn' , '' , s:bg0 , 'None' , 'None')
call s:hi('ColorColumn' , '' , s:bg0 , 'None' , 'None')
hi LineNr guifg=#44505c guibg=#212026
hi CursorLine guibg=#212026
hi CursorLineNr guibg=#212026
hi CursorColumn guibg=#212026
hi ColorColumn guibg=#212026
" bug. opposite here.
call s:hi('StatusLine' , 140 , s:bg2 , 'None' , 'None')
call s:hi('StatusLineNC' , 244 , s:bg1 , 'None' , 'None')
hi StatusLineNC guibg=#3a3a3a
call s:hi('TabLine' , 66 , s:bg3 , 'None' , 'None')
call s:hi('TabLineSel' , 178 , s:bg4 , 'None' , 'None')
call s:hi('TabLineFill' , 145 , s:bg2 , 'None' , 'None')
call s:hi('WildMenu' , 214 , s:bg3 , 'None' , 'None')
hi WildMenu guifg=#FF4848
call s:hi('Boolean' , 207 , '' , 'None' , 'None')
call s:hi('Character' , 75 , '' , 'None' , 'None')
call s:hi('Number' , 176 , '' , 'None' , 'None')
call s:hi('Float' , 135 , '' , 'None' , 'None')
call s:hi('String' , 36 , '' , 'None' , 'None')
call s:hi('Conditional' , 68 , '' , 'bold' , 'bold')
call s:hi('Constant' , 135 , '' , 'None' , 'None')
call s:hi('Debug' , 225 , '' , 'None' , 'None')
call s:hi('Define' , 177 , '' , 'None' , 'None')
call s:hi('Delimiter' , 151 , '' , 'None' , 'None')
hi Boolean guifg=#FF68DD
hi Character guifg=#FF62B0
hi Number guifg=#E697E6
hi Float guifg=#B7B7FF
hi String guifg=#20af81
hi Conditional guifg=#4f97d7
hi Constant guifg=#7BA7E1
hi Debug guifg=#FFC8C8
hi Define guifg=#D881ED
hi Delimiter guifg=#74BAAC
call s:hi('DiffAdd' , '' , 24 , 'None' , 'None')
call s:hi('DiffChange' , 181 , 239 , 'None' , 'None')
call s:hi('DiffDelete' , 162 , 53 , 'None' , 'None')
call s:hi('DiffText' , '' , 102 , 'None' , 'None')
call s:hi('Directory' , 67 , '' , 'bold' , 'bold')
call s:hi('Exception' , 203 , '' , 'bold' , 'bold')
call s:hi('Function' , 169 , '' , 'bold' , 'bold')
call s:hi('Identifier' , 168 , '' , 'None' , 'None')
call s:hi('Ignore' , 244 , '' , 'None' , 'None')
call s:hi('Operator' , 213 , '' , 'None' , 'None')
call s:hi('FoldColumn' , 67 , s:bg1 , 'None' , 'None')
call s:hi('Folded' , 133 , s:bg1 , 'bold' , 'bold')
hi Ignore guifg=#B4D1B6
hi Function guifg=#bc6ec5
call s:hi('PreCondit' , 139 , '' , 'None' , 'None')
call s:hi('PreProc' , 176 , '' , 'None' , 'None')
call s:hi('Question' , 81 , '' , 'None' , 'None')
call s:hi('Repeat' , 68 , '' , 'bold' , 'bold')
hi PreCondit guifg=#D698FE
hi PreProc guifg=#DD75DD
hi Question guifg=#F9BB00
hi Repeat guifg=#4f97d7
call s:hi('Keyword' , 68 , '' , 'bold' , 'bold')
call s:hi('Label' , 104 , '' , 'None' , 'None')
call s:hi('Macro' , 141 , '' , 'None' , 'None')
hi Label guifg=#DFB0FF
call s:hi('Type' , 168 , '' , 'None' , 'None')
call s:hi('Typedef' , 204 , '' , 'None' , 'None')
call s:hi('Underlined' , '' , '' , 'underline' , 'underline')
hi Type guifg=#ce537a
hi Typedef guifg=#ce537a
call s:hi('Statement' , 68 , '' , 'None' , 'None')
hi Statement guifg=#4f97d7
call s:hi('Search' , 16 , 76 , 'bold' , 'bold')
call s:hi('IncSearch' , 16 , 76 , 'bold' , 'bold')
call s:hi('MatchParen', 40 , s:bg0, 'bold,underline', 'bold,underline')
hi Search guifg=#292b2e guibg=#86dc2f
hi MatchParen guifg=#00ff00 guibg=NONE
call s:hi('ModeMsg' , 229 , '' , 'None' , 'None')
hi ModeMsg guifg=#FFF06A
" Popup menu
call s:hi('Pmenu' , 141 , s:bg1 , 'None' , 'None')
call s:hi('PmenuSel' , 251 , 97 , 'None' , 'None')
call s:hi('PmenuSbar' , 28 , 233 , 'None' , 'None')
call s:hi('PmenuThumb' , 160 , 97 , 'None' , 'None')
hi Pmenu guifg=#9a9aba guibg=#34323e
hi PmenuSbar guifg=#C269FE guibg=#303030
" SignColumn may relate to ale sign
call s:hi('SignColumn' , 118 , s:bg , 'None' , 'None')
call s:hi('Todo' , 172 , s:bg , 'bold' , 'bold')
hi Todo guibg=NONE
hi SignColumn guibg=NONE
" VertSplit consistent with normal background to hide it
call s:hi('VertSplit' , s:bg0 , '' , 'None' , 'None')
hi VertSplit guibg=NONE
call s:hi('Warning' , 136 , '' , 'bold' , 'bold')
call s:hi('WarningMsg' , 136 , '' , 'bold' , 'bold')
hi Warning guifg=#dc752f guibg=NONE
hi WarningMsg guifg=#dc752f guibg=NONE
call s:hi('Error' , 160 , s:bg , 'bold' , 'bold')
call s:hi('ErrorMsg' , 196 , s:bg , 'bold' , 'bold')
hi Error guifg=#e0211d guibg=NONE
hi ErrorMsg guifg=#e0211d guibg=NONE
call s:hi('Special' , 169 , '' , 'None' , 'None')
call s:hi('SpecialKey' , 59 , '' , 'None' , 'None')
call s:hi('SpecialChar' , 171 , '' , 'bold' , 'bold')
call s:hi('SpecialComment' , 245 , '' , 'bold' , 'bold')
hi Special guifg=#DD75DD
hi SpecialKey guifg=#FF73B9
hi SpecialChar guifg=#6094DB
hi SpecialComment guifg=#ED9EFE
" marks column
call s:hi('SpellBad' , 168 , '' , 'underline' , 'undercurl')
call s:hi('SpellCap' , 110 , '' , 'underline' , 'undercurl')
call s:hi('SpellLocal' , 253 , '' , 'underline' , 'undercurl')
call s:hi('SpellRare' , 218 , '' , 'underline' , 'undercurl')
call s:hi('Tag' , 161 , '' , 'None' , 'None')
call s:hi('Title' , 176 , '' , 'None' , 'None')
call s:hi('Structure' , 68 , '' , 'bold' , 'bold')
call s:hi('StorageClass' , 178 , '' , 'bold' , 'bold')
hi Tag guifg=#E469FE
hi Title guifg=#DD75DD
hi Structure guifg=#4f97d7
hi StorageClass guifg=#d1951d
call s:hi('Visual' , '' , s:bg3 , 'None' , 'None')
call s:hi('VisualNOS' , '' , 238 , 'None' , 'None')
hi Visual guibg=#544A65
call s:hi('Comment' , 30 , '' , 'None' , 'italic')
hi Comment guifg=#2aa1ae
" tilde group
call s:hi('NonText' , 241 , '' , 'None' , 'None')
hi NonText guifg=#534B5D
hi link qfLineNr Type
hi SVDNormal guifg=#b2b2b2 ctermfg=249
hi SVDDark1 guifg=#3c3836 ctermfg=237
hi SVDDark2 guifg=#504945 ctermfg=239
hi SVDDark3 guifg=#665c54 ctermfg=241
hi SVDDark4 guifg=#7c6f64 ctermfg=243
hi SVDAqua guifg=#2d9574 ctermfg=72
hi SVDRed guifg=#f2241f ctermfg=160
hi SVDBlue guifg=#4f97d7 ctermfg=68
hi SVDGreen guifg=#20af81 ctermfg=36
hi SVDYellow guifg=#67b11d ctermfg=114
hi SVDOrange guifg=#d1951d ctermfg=178
hi SVDMagenta guifg=#a31db1 ctermfg=128
hi SVDAquaBold guifg=#2d9574 ctermfg=72 gui=bold cterm=bold
hi SVDBlueBold guifg=#4f97d7 ctermfg=68 gui=bold cterm=bold
hi SVDGreenBold guifg=#20af81 ctermfg=36 gui=bold cterm=bold
hi SVDYellowBold guifg=#67b11d ctermfg=114 gui=bold cterm=bold
hi SVDOrangeBold guifg=#b1951d ctermfg=137 gui=bold cterm=bold
"""""""""""""""""""""""""""""""""""""""""""
" Language
"""""""""""""""""""""""""""""""""""""""""""
" markdown
hi link markdownH1 SVDBlueBold
hi link markdownH2 SVDGreenBold
hi link markdownH3 SVDYellowBold
hi link markdownH4 SVDOrangeBold
hi link markdownH5 SVDBlue
hi link markdownH6 SVDGreen
hi link mkdCode SVDYellow
hi link mkdItalic String
" c
hi link cConstant SVDOrange
" cpp
hi cppExceptions ctermfg=207 guifg=#CC3366 cterm=bold gui=bold
hi link cppSTLexception cppExceptions
" css
hi link cssTagName SVDBlueBold
hi link cssProp Function
" dot
hi link dotKeyChar Number
hi link dotType StorageClass
" sh
hi link shSet SVDBlueBold
hi link shLoop SVDBlueBold
hi link shFunctionKey SVDBlueBold
hi link shTestOpr SVDOrange
" solidity
hi link solContract SVDOrangeBold
" vimL
hi link vimLet SVDBlueBold
hi link vimFuncKey SVDBlueBold
hi link vimCommand SVDBlueBold
hi link vimGroup Directory
hi link vimHiGroup Directory
" rust
hi link rustKeyword SVDBlueBold
hi link rustModPath SVDBlue
call s:hi('rustTrait' , 168 , '' , 'bold' , 'bold')
hi Type guifg=#ce537a
" json
hi link jsonStringSQError SVDRed
" xml
hi link xmlTag Identifier
hi link xmlEndTag Identifier
hi link xmlTagName Identifier
" go
hi link goFunctionCall Function
hi link goMethodCall Function
hi link goTypeName Function
hi link goReceiverType SVDYellow
hi link goTypeConstructor SVDOrange
hi link goType PreProc
hi link goFloats Float
" make
hi link makeCommands SVDBlue
hi link makeSpecTarget SVDBlueBold
" java
hi link javaScopeDecl keyword
hi link javaClassDecl Function
" scala
hi link scalaKeyword SVDBlueBold
hi link scalaNameDefinition SVDBlueBold
" ruby
hi link rubyClass SVDBlueBold
hi link rubyDefine SVDBlueBold
hi link rubyInterpolationDelimiter Number
" html
hi link htmlSpecialTagName Tag
hi link htmlItalic String
" python-mode
hi pythonLambdaExpr ctermfg=105 guifg=#8787ff
hi pythonInclude ctermfg=68 guifg=#5f87d7 cterm=bold gui=bold
hi pythonClass ctermfg=207 guifg=#FF62B0 cterm=bold gui=bold
hi pythonParameters ctermfg=147 guifg=#AAAAFF
hi pythonParam ctermfg=108 guifg=#67b11d
hi pythonBrackets ctermfg=183 guifg=#d7afff
hi pythonClassParameters ctermfg=111 guifg=#FF5353
hi pythonSelf ctermfg=68 guifg=#5f87d7 cterm=bold gui=bold
hi link pythonOperator SVDBlueBold
hi link pythonStatement SVDBlueBold
hi pythonDottedName ctermfg=74 guifg=#5fafd7
hi pythonError ctermfg=196 guifg=#ff0000
hi pythonIndentError ctermfg=197 guifg=#ff005f
hi pythonSpaceError ctermfg=198 guifg=#ff0087
hi pythonBuiltinType ctermfg=170 guifg=#D54FD5 cterm=bold gui=bold
hi pythonBuiltinObj ctermfg=71 guifg=#5faf5f cterm=bold gui=bold
hi pythonBuiltinFunc ctermfg=169 guifg=#d75faf cterm=bold gui=bold
hi pythonException ctermfg=161 guifg=#CC3366 cterm=bold gui=bold
"""""""""""""""""""""""""""""""""""""""""""
" Plugins
"""""""""""""""""""""""""""""""""""""""""""
"ALE {
hi link ALEErrorSign Error
hi link ALEWarningSign Warning
"}
" vim-indent-guides {
let g:indent_guides_auto_colors = 0
hi IndentGuidesOdd guibg=#708090 ctermbg=237
hi IndentGuidesEven guibg=#696969 ctermbg=239
" }
" vim-gitgutter {
hi link GitGutterAdd SVDGreen
hi link GitGutterChange SVDOrange
hi link GitGutterDelete SVDRed
hi link GitGutterChangeDelete SVDMagenta
" }
" vim-markdown {
hi link htmlH1 SVDBlueBold
hi link htmlH2 SVDGreenBold
hi link htmlH3 SVDYellowBold
hi link htmlH4 SVDOrangeBold
hi link htmlH5 SVDBlue
hi link htmlH6 SVDGreen
" }
" vim-signify {
hi link SignifySignAdd SVDGreen
hi link SignifySignChange SVDAqua
hi link SignifySignDelete SVDRed
" }
" vim-startify {
hi link StartifyFile Normal
hi link StartifyHeader Define
hi link StartifySection SVDBlueBold
" }
" YouCompleteMe {
hi YcmErrorSection guibg=#800080 guifg=#b2b2b2 ctermbg=5 ctermfg=249
hi YcmWarningSection guibg=#5f5f87 guifg=#b2b2b2 ctermbg=60 ctermfg=249
" }
" vim-leader-guide {
hi link LeaderGuideKeys Function
hi link LeaderGuideDesc SVDNormal
hi link LeaderGuideBrackets SVDGreen
" }
" NERDTree {
hi link NERDTreeCWD Function
hi link NERDTreeUp SVDBlueBold
hi link NERDTreeDir SVDBlueBold
hi link NERDTreeDirSlash SVDBlueBold
hi link NERDTreeOpenable SVDBlueBold
hi link NERDTreeClosable SVDBlueBold
" }
" Tagbar {
call s:hi('TagbarHighlight' , 16 , 36 , 'bold' , 'bold')
" }
delf s:hi
unlet s:color_map s:bg
" Must be at the end, because of ctermbg=234 bug.
" https://groups.google.com/forum/#!msg/vim_dev/afPqwAFNdrU/nqh6tOM87QUJ
set background=dark