|
10 | 10 | " vim: set noet fenc=utf-8 ff=unix sts=4 sw=4 ts=4 : |
11 | 11 |
|
12 | 12 |
|
| 13 | +" require vim 8.2+ |
| 14 | +if has('patch-8.2.1') == 0 || has('nvim') |
| 15 | + finish |
| 16 | +endif |
| 17 | + |
13 | 18 |
|
14 | 19 | "---------------------------------------------------------------------- |
15 | | -" default highlighting |
| 20 | +" Script Home |
16 | 21 | "---------------------------------------------------------------------- |
| 22 | +let s:home = fnamemodify(resolve(expand('<sfile>:p')), ':h') |
| 23 | + |
17 | 24 |
|
| 25 | +"---------------------------------------------------------------------- |
| 26 | +" default highlighting |
| 27 | +"---------------------------------------------------------------------- |
18 | 28 | function! s:hilink(name, target) |
19 | 29 | if !hlexists(a:name) |
20 | 30 | exec 'hi! link ' . a:name . ' ' . a:target |
21 | 31 | endif |
22 | 32 | endfunc |
23 | 33 |
|
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 | + |
29 | 87 |
|
30 | 88 | " 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') |
44 | 94 |
|
45 | 95 |
|
46 | 96 |
|
0 commit comments