mirror of
https://github.com/SpaceVim/SpaceVim.git
synced 2025-03-13 02:05:40 +08:00
Add: random-candidates for colorscheme layer (#3671)
This commit is contained in:
parent
de8f77d212
commit
cfa1ee7230
@ -66,6 +66,7 @@ let s:cs = [
|
|||||||
let s:NUMBER = SpaceVim#api#import('data#number')
|
let s:NUMBER = SpaceVim#api#import('data#number')
|
||||||
|
|
||||||
let s:time = {
|
let s:time = {
|
||||||
|
\ 'everytime' : 1,
|
||||||
\ 'daily' : 1 * 24 * 60 * 60 * 1000,
|
\ 'daily' : 1 * 24 * 60 * 60 * 1000,
|
||||||
\ 'hourly' : 1 * 60 * 60 * 1000,
|
\ 'hourly' : 1 * 60 * 60 * 1000,
|
||||||
\ 'weekly' : 7 * 24 * 60 * 60 * 1000,
|
\ 'weekly' : 7 * 24 * 60 * 60 * 1000,
|
||||||
@ -78,6 +79,7 @@ endfor
|
|||||||
unlet s:n
|
unlet s:n
|
||||||
|
|
||||||
let s:random_colorscheme = 0
|
let s:random_colorscheme = 0
|
||||||
|
let s:random_candidates = s:cs
|
||||||
let s:random_frequency = ''
|
let s:random_frequency = ''
|
||||||
let s:bright_statusline = 0
|
let s:bright_statusline = 0
|
||||||
|
|
||||||
@ -93,16 +95,17 @@ function! SpaceVim#layers#colorscheme#config() abort
|
|||||||
let conf = s:JSON.json_decode(join(readfile(expand(g:spacevim_data_dir.'/SpaceVim/colorscheme_frequence.json'), ''), ''))
|
let conf = s:JSON.json_decode(join(readfile(expand(g:spacevim_data_dir.'/SpaceVim/colorscheme_frequence.json'), ''), ''))
|
||||||
if s:random_frequency !=# '' && !empty(conf)
|
if s:random_frequency !=# '' && !empty(conf)
|
||||||
let ctime = localtime()
|
let ctime = localtime()
|
||||||
if ctime - get(conf, 'last', 0) >= get(s:time, get(conf, 'fequecnce', ''), 0)
|
if index(s:random_candidates, get(conf, 'theme', '')) == -1 ||
|
||||||
let id = s:NUMBER.random(0, len(s:cs))
|
\ ctime - get(conf, 'last', 0) >= get(s:time, get(conf, 'fequecnce', ''), 0)
|
||||||
let g:spacevim_colorscheme = s:cs[id]
|
let id = s:NUMBER.random(0, len(s:random_candidates))
|
||||||
|
let g:spacevim_colorscheme = s:random_candidates[id]
|
||||||
call s:update_conf()
|
call s:update_conf()
|
||||||
else
|
else
|
||||||
let g:spacevim_colorscheme = conf.theme
|
let g:spacevim_colorscheme = conf.theme
|
||||||
endif
|
endif
|
||||||
else
|
else
|
||||||
let id = s:NUMBER.random(0, len(s:cs))
|
let id = s:NUMBER.random(0, len(s:random_candidates))
|
||||||
let g:spacevim_colorscheme = s:cs[id]
|
let g:spacevim_colorscheme = s:random_candidates[id]
|
||||||
endif
|
endif
|
||||||
else
|
else
|
||||||
if s:random_frequency !=# ''
|
if s:random_frequency !=# ''
|
||||||
@ -127,6 +130,7 @@ endfunction
|
|||||||
|
|
||||||
function! SpaceVim#layers#colorscheme#set_variable(var) abort
|
function! SpaceVim#layers#colorscheme#set_variable(var) abort
|
||||||
let s:random_colorscheme = get(a:var, 'random_theme', get(a:var, 'random-theme', 0))
|
let s:random_colorscheme = get(a:var, 'random_theme', get(a:var, 'random-theme', 0))
|
||||||
|
let s:random_candidates = get(a:var, 'random_candidates', get(a:var, 'random-candidates', s:cs))
|
||||||
let s:random_frequency = get(a:var, 'frequency', 'hourly')
|
let s:random_frequency = get(a:var, 'frequency', 'hourly')
|
||||||
let s:bright_statusline = get(a:var, 'bright_statusline', 0)
|
let s:bright_statusline = get(a:var, 'bright_statusline', 0)
|
||||||
endfunction
|
endfunction
|
||||||
|
Loading…
x
Reference in New Issue
Block a user