mirror of
https://github.com/SpaceVim/SpaceVim.git
synced 2025-02-03 03:00:04 +08:00
Support other colorscheme
This commit is contained in:
parent
13b9bd1e40
commit
a2ab6a6cda
@ -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
|
||||||
|
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user