Skip to content

Commit 3c39c27

Browse files
author
skywind3000
committed
support multiple themes
1 parent 080a6c2 commit 3c39c27

File tree

1 file changed

+69
-19
lines changed

1 file changed

+69
-19
lines changed

plugin/quickui.vim

Lines changed: 69 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -10,37 +10,87 @@
1010
" vim: set noet fenc=utf-8 ff=unix sts=4 sw=4 ts=4 :
1111

1212

13+
" require vim 8.2+
14+
if has('patch-8.2.1') == 0 || has('nvim')
15+
finish
16+
endif
17+
1318

1419
"----------------------------------------------------------------------
15-
" default highlighting
20+
" Script Home
1621
"----------------------------------------------------------------------
22+
let s:home = fnamemodify(resolve(expand('<sfile>:p')), ':h')
23+
1724

25+
"----------------------------------------------------------------------
26+
" default highlighting
27+
"----------------------------------------------------------------------
1828
function! s:hilink(name, target)
1929
if !hlexists(a:name)
2030
exec 'hi! link ' . a:name . ' ' . a:target
2131
endif
2232
endfunc
2333

24-
hi! QuickDefaultBackground ctermfg=0 ctermbg=7 guifg=black guibg=gray
25-
hi! QuickDefaultKey ctermfg=9 guifg=#f92772
26-
hi! QuickDefaultDisable ctermfg=59 guifg=#75715e
27-
hi! QuickDefaultSel cterm=bold ctermfg=0 ctermbg=2 gui=bold guibg=brown guifg=gray
28-
hi! QuickDefaultHelp ctermfg=247 guifg=#959173
34+
35+
function! QuickThemeChange(theme)
36+
if a:theme == ''
37+
hi! QuickDefaultBackground ctermfg=0 ctermbg=7 guifg=black guibg=gray
38+
hi! QuickDefaultSel cterm=bold ctermfg=0 ctermbg=2 gui=bold guibg=brown guifg=gray
39+
hi! QuickDefaultKey term=bold ctermfg=9 gui=bold guifg=#f92772
40+
hi! QuickDefaultDisable ctermfg=59 guifg=#75715e
41+
hi! QuickDefaultHelp ctermfg=247 guifg=#959173
42+
elseif a:theme == 'colorscheme' || a:theme == 'system' || a:theme == 'vim'
43+
hi! link QuickDefaultBackground Pmenu
44+
hi! link QuickDefaultKey PmenuSel
45+
hi! link QuickDefaultKey Title
46+
hi! link QuickDefaultDisable Comment
47+
hi! link QuickDefaultHelp Conceal
48+
elseif a:theme == 'gruvbox'
49+
hi! QuickDefaultBackground ctermfg=223 ctermbg=239 guifg=#ebdbb2 guibg=#504945
50+
hi! QuickDefaultSel cterm=bold ctermfg=239 ctermbg=109 gui=bold guifg=#504945 guibg=#83a598
51+
hi! QuickDefaultKey term=bold ctermfg=12 guifg=#fd9720
52+
hi! QuickDefaultDisable ctermfg=245 guifg=#928374
53+
hi! QuickDefaultHelp ctermfg=109 guifg=#83a598
54+
elseif a:theme == 'solarized'
55+
hi! QuickDefaultBackground ctermfg=0 ctermbg=13 guifg=#073642 guibg=#839496
56+
hi! QuickDefaultSel ctermfg=8 ctermbg=0 guifg=#eee8d5 guibg=#586e75
57+
hi! QuickDefaultKey ctermfg=13 guifg=#cb4b16
58+
hi! QuickDefaultDisable ctermfg=11 guifg=#586e75
59+
hi! QuickDefaultHelp ctermfg=7 ctermbg=8 guifg=#268bd2
60+
elseif a:theme == 'papercol'
61+
if &background == 'dark'
62+
hi! QuickDefaultBackground ctermfg=0 ctermbg=13 guifg=#c6c6c6 guibg=#303030
63+
hi! QuickDefaultSel ctermfg=8 ctermbg=0 guifg=#303030 guibg=#c6c6c6
64+
hi! QuickDefaultKey term=bold ctermfg=10 gui=bold guifg=#d7af5f
65+
hi! QuickDefaultDisable ctermfg=11 guifg=#808080
66+
hi! QuickDefaultHelp ctermfg=7 ctermbg=8 guifg=#585858 guibg=#1c1c1c
67+
else
68+
hi! QuickDefaultBackground ctermfg=0 ctermbg=13 guifg=#444444 guibg=#d0d0d0
69+
hi! QuickDefaultSel ctermfg=0 ctermbg=7 guifg=#d0d0d0 guibg=#444444
70+
hi! QuickDefaultKey term=bold ctermfg=4 gui=bold guifg=#d70087
71+
hi! QuickDefaultDisable term=bold ctermfg=1 guifg=#878787
72+
hi! QuickDefaultHelp ctermfg=7 ctermbg=8 guifg=#b2b2b2 guibg=#eeeeee
73+
endif
74+
else
75+
let s:fname = s:home . '/' . a:theme . '.vim'
76+
if filereadable(s:fname)
77+
exec "source " . fnameescape(s:fname)
78+
else
79+
call QuickThemeChange('')
80+
endif
81+
endif
82+
endfunc
83+
84+
let s:theme = get(g:, 'quickui_color_theme', '')
85+
call QuickThemeChange(s:theme)
86+
2987

3088
" hi! QuickDefaultSel ctermbg=
31-
if get(g:, 'quickui_color_pmenu', 0) != 0
32-
call s:hilink('QuickBG', 'Pmenu')
33-
call s:hilink('QuickKey', 'Title')
34-
call s:hilink('QuickOff', 'Comment')
35-
call s:hilink('QuickSel', 'PmenuSel')
36-
call s:hilink('QuickHelp', 'WarningMsg')
37-
else
38-
call s:hilink('QuickBG', 'QuickDefaultBackground')
39-
call s:hilink('QuickKey', 'QuickDefaultKey')
40-
call s:hilink('QuickOff', 'QuickDefaultDisable')
41-
call s:hilink('QuickSel', 'QuickDefaultSel')
42-
call s:hilink('QuickHelp', 'QuickDefaultHelp')
43-
endif
89+
call s:hilink('QuickBG', 'QuickDefaultBackground')
90+
call s:hilink('QuickSel', 'QuickDefaultSel')
91+
call s:hilink('QuickKey', 'QuickDefaultKey')
92+
call s:hilink('QuickOff', 'QuickDefaultDisable')
93+
call s:hilink('QuickHelp', 'QuickDefaultHelp')
4494

4595

4696

0 commit comments

Comments
 (0)