1
0
mirror of https://github.com/SpaceVim/SpaceVim.git synced 2025-01-23 10:30:05 +08:00
SpaceVim/colors/SpaceVim.vim
2023-03-26 13:44:47 +08:00

157 lines
7.2 KiB
VimL

"=============================================================================
" SpaceVim.vim --- SpaceVim colorscheme
" Copyright (c) 2016-2023 Wang Shidong & Contributors
" Author: Wang Shidong < wsdjeg@outlook.com >
" URL: https://spacevim.org
" License: GPLv3
"=============================================================================
if v:version > 580
hi clear
if exists('syntax_on')
syntax reset
endif
endif
if !(has('termguicolors') && &termguicolors) && !has('gui_running') && &t_Co != 256
" prevent change statuslines
finish
else
let g:colors_name='SpaceVim'
endif
let s:HIAPI = SpaceVim#api#import('vim#highlight')
let s:COLOR = SpaceVim#api#import('color')
let s:is_dark=(&background ==# 'dark')
function! s:hi(item, fg, bg, cterm, gui) abort
call s:HIAPI.hi(
\ {
\ 'name' : a:item,
\ 'ctermbg' : a:bg,
\ 'ctermfg' : a:fg,
\ 'guifg' : s:COLOR.nr2str(a:fg),
\ 'guibg' : s:COLOR.nr2str(a:bg),
\ 'cterm' : a:cterm,
\ 'gui' : a:gui,
\ }
\ )
endfunction
" color palette
let s:fg = 249
let s:bg = 235
let s:bg = max([s:bg, 233])
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:palette = {
\ 'dark' : [
\ ['Normal' , 249 , s:bg , 'None' , 'None'] ,
\ ['LineNr' , 238 , 235 , 'None' , 'None'] ,
\ ['Boolean' , 178 , '' , 'None' , 'None'] ,
\ ['Character' , 75 , '' , 'None' , 'None'] ,
\ ['ColorColumn' , '' , s:bg0 , 'None' , 'None'] ,
\ ['Comment' , 30 , '' , 'None' , 'italic'] ,
\ ['Conditional' , 68 , '' , 'bold' , 'bold'] ,
\ ['Constant' , 218 , '' , 'None' , 'None'] ,
\ ['Cursor' , 235 , 178 , 'bold' , 'bold'] ,
\ ['CursorColumn' , '' , s:bg0 , 'None' , 'None'] ,
\ ['CursorLine' , '' , s:bg0 , 'None' , 'None'] ,
\ ['CursorLineNr' , 170 , s:bg0 , 'None' , 'None'] ,
\ ['Debug' , 225 , '' , 'None' , 'None'] ,
\ ['Define' , 177 , '' , 'None' , 'None'] ,
\ ['Delimiter' , 151 , '' , 'None' , 'None'] ,
\ ['DiffAdd' , '' , 24 , 'None' , 'None'] ,
\ ['DiffChange' , 181 , 239 , 'None' , 'None'] ,
\ ['DiffDelete' , 162 , 53 , 'None' , 'None'] ,
\ ['DiffText' , '' , 102 , 'None' , 'None'] ,
\ ['Directory' , 67 , '' , 'bold' , 'bold'] ,
\ ['Error' , 160 , 235 , 'bold' , 'bold'] ,
\ ['ErrorMsg' , 196 , 235 , 'bold' , 'bold'] ,
\ ['Exception' , 204 , '' , 'bold' , 'bold'] ,
\ ['Float' , 135 , '' , 'None' , 'None'] ,
\ ['FoldColumn' , 67 , 236 , 'None' , 'None'] ,
\ ['Folded' , 133 , 236 , 'bold' , 'bold'] ,
\ ['Function' , 169 , '' , 'bold' , 'bold'] ,
\ ['Identifier' , 167 , '' , 'None' , 'None'] ,
\ ['Ignore' , 244 , '' , 'None' , 'None'] ,
\ ['IncSearch' , 16 , 76 , 'bold' , 'bold'] ,
\ ['Keyword' , 68 , '' , 'bold' , 'bold'] ,
\ ['Label' , 104 , '' , 'None' , 'None'] ,
\ ['Macro' , 140 , '' , 'None' , 'None'] ,
\ ['MatchParen' , 40 , 234 , 'bold , underline' , 'bold , underline'] ,
\ ['ModeMsg' , 229 , '' , 'None' , 'None'] ,
\ ['NonText' , 241 , '' , 'None' , 'None'] ,
\ ['Number' , 176 , '' , 'None' , 'None'] ,
\ ['Operator' , 111 , '' , 'None' , 'None'] ,
\ ['Pmenu' , 141 , s:bg1 , 'None' , 'None'] ,
\ ['PmenuSel' , 251 , 97 , 'None' , 'None'] ,
\ ['PmenuSbar' , 28 , 233 , 'None' , 'None'] ,
\ ['PmenuThumb' , 160 , 97 , 'None' , 'None'] ,
\ ['PreCondit' , 139 , '' , 'None' , 'None'] ,
\ ['PreProc' , 176 , '' , 'None' , 'None'] ,
\ ['Question' , 81 , '' , 'None' , 'None'] ,
\ ['Repeat' , 68 , '' , 'bold' , 'bold'] ,
\ ['Search' , 16 , 76 , 'bold' , 'bold'] ,
\ ['SignColumn' , 118 , 235 , 'None' , 'None'] ,
\ ['Special' , 169 , '' , 'None' , 'None'] ,
\ ['SpecialChar' , 171 , '' , 'bold' , 'bold'] ,
\ ['SpecialComment' , 24 , '' , 'None' , 'None'] ,
\ ['SpecialKey' , 59 , '' , 'None' , 'None'] ,
\ ['SpellBad' , 168 , '' , 'underline' , 'undercurl'] ,
\ ['SpellCap' , 110 , '' , 'underline' , 'undercurl'] ,
\ ['SpellLocal' , 253 , '' , 'underline' , 'undercurl'] ,
\ ['SpellRare' , 218 , '' , 'underline' , 'undercurl'] ,
\ ['Statement' , 68 , '' , 'None' , 'None'] ,
\ ['StatusLine' , 140 , 238 , 'None' , 'None'] ,
\ ['StatusLineNC' , 242 , 237 , 'None' , 'None'] ,
\ ['StatusLineTerm' , 140 , 238 , 'bold' , 'bold'] ,
\ ['StatusLineTermNC' , 244 , 237 , 'bold' , 'bold'] ,
\ ['StorageClass' , 178 , '' , 'bold' , 'bold'] ,
\ ['String' , 36 , '' , 'None' , 'None'] ,
\ ['Structure' , 68 , '' , 'bold' , 'bold'] ,
\ ['TabLine' , 66 , 239 , 'None' , 'None'] ,
\ ['TabLineFill' , 145 , 238 , 'None' , 'None'] ,
\ ['TabLineSel' , 178 , 240 , 'None' , 'None'] ,
\ ['Tag' , 161 , '' , 'None' , 'None'] ,
\ ['Title' , 176 , '' , 'None' , 'None'] ,
\ ['Todo' , 172 , 235 , 'bold' , 'bold'] ,
\ ['Type' , 68 , '' , 'None' , 'None'] ,
\ ['Typedef' , 68 , '' , 'None' , 'None'] ,
\ ['VertSplit' , 234 , '' , 'None' , 'None'] ,
\ ['Visual' , '' , s:bg3 , 'None' , 'None'] ,
\ ['VisualNOS' , '' , s:bg3 , 'None' , 'None'] ,
\ ['Warning' , 136 , '' , 'bold' , 'bold'] ,
\ ['WarningMsg' , 136 , '' , 'bold' , 'bold'] ,
\ ['WildMenu' , 214 , 239 , 'None' , 'None'] ,
\ ['VertSplit' , 235 , 238 , 'None' , 'None'] ,
\ ] ,
\ 'light' : [
\ ],
\ }
let item = []
for item in s:palette[s:is_dark ? 'dark' : 'light']
call call('s:hi', item)
endfor
unlet item
" vim-startify
hi link StartifyFile Normal
call s:hi('StartifyHeader' , 177 , '' , 'none' , 'none')
call s:hi('startifySection' , 68 , '' , 'bold' , 'bold')
if s:is_dark
set background=dark
endif