1
0
mirror of https://github.com/SpaceVim/SpaceVim.git synced 2025-02-03 05:40:05 +08:00

Support other colorscheme

This commit is contained in:
wsdjeg 2017-05-01 22:54:09 +08:00
parent 13b9bd1e40
commit a2ab6a6cda
2 changed files with 45 additions and 3 deletions

View File

@ -18,6 +18,46 @@ function! s:self.group2dict(name) abort
return rst return rst
endfunction endfunction
function! s:self.unite(base, target, part) abort
let base = self.group2dict(a:base)
let target = self.group2dict(a:target)
if empty(base) || empty(target)
return
elseif get(base,a:part, '') ==# get(target, a:part, '')
return
else
let target[a:part] = base[a:part]
call self.hi(target)
endif
endfunction
function! s:self.hi(info) abort
if empty(a:info)
return
endif
let cmd = 'hi! ' . a:info.name
\ . ' ctermbg=' . a:info.ctermbg
\ . ' ctermfg=' . a:info.ctermfg
\ . ' guibg=' . a:info.guibg
\ . ' guifg=' . a:info.guifg
let style = []
for sty in ['hold', 'italic', 'underline']
if a:info[sty] ==# '1'
call add(style, sty)
endif
endfor
if !empty(style)
let cmd .= ' gui=' . join(style, ',') . ' cterm=' . join(style, ',')
endif
try
exe cmd
catch
endtry
endfunction
function! SpaceVim#api#vim#highlight#get() abort function! SpaceVim#api#vim#highlight#get() abort
return deepcopy(s:self) return deepcopy(s:self)
endfunction endfunction

View File

@ -122,6 +122,7 @@ function! s:toggle_syntax_hi() abort
endfunction endfunction
let s:ebflag = 0 let s:ebflag = 0
let s:HI = SpaceVim#api#import('vim#highlight')
function! s:toggle_end_of_buffer() abort function! s:toggle_end_of_buffer() abort
if !s:ebflag if !s:ebflag
if &background ==# 'dark' if &background ==# 'dark'
@ -131,11 +132,12 @@ function! s:toggle_end_of_buffer() abort
endif endif
let s:ebflag = 1 let s:ebflag = 1
else else
if &background ==# 'dark' if &termguicolors || has('gui_running')
hi EndOfBuffer guibg=#282828 guifg=#282828 let normalbg = s:HI.group2dict('Normal').guibg
else else
hi EndOfBuffer guibg=#fbf1c7 guifg=#fbf1c7 let normalbg = s:HI.group2dict('Normal').ctermbg
endif endif
exe 'hi! EndOfBuffer guifg=' . normalbg . ' guibg=' . normalbg
let s:ebflag = 0 let s:ebflag = 0
endif endif
endfunction endfunction