Improve vim theme toggling
This commit is contained in:
parent
78fd8f6d45
commit
0227534656
35
vimrc
35
vimrc
|
@ -79,7 +79,7 @@ let g:quickfix_pane_height = 20
|
||||||
""""""""""""""
|
""""""""""""""
|
||||||
" COLORS
|
" COLORS
|
||||||
""""""""""""""
|
""""""""""""""
|
||||||
let g:campo_default_bg_mode = 'dark' " Start vim with the dark theme. Set to 'light' for the light theme.
|
let g:campo_light_dark_mode = 'dark' " Start vim with the dark theme. Set to 'light' for the light theme.
|
||||||
let g:campo_dark_theme = 'campo-dark-simple' "'campo-dark-blue'
|
let g:campo_dark_theme = 'campo-dark-simple' "'campo-dark-blue'
|
||||||
let g:campo_light_theme = 'campo-light-simple' "'campo-light'
|
let g:campo_light_theme = 'campo-light-simple' "'campo-light'
|
||||||
let g:campo_theme_use_rainbow_parens = 1
|
let g:campo_theme_use_rainbow_parens = 1
|
||||||
|
@ -126,7 +126,6 @@ let g:campo_directories_to_force_stripping_trailing_whitespace = []
|
||||||
" e.g. let g:campo_files_to_force_stripping_trailing_whitespace = ['/z/modules/test.h', '/d/build/config.h']
|
" e.g. let g:campo_files_to_force_stripping_trailing_whitespace = ['/z/modules/test.h', '/d/build/config.h']
|
||||||
let g:campo_files_to_force_stripping_trailing_whitespace = []
|
let g:campo_files_to_force_stripping_trailing_whitespace = []
|
||||||
|
|
||||||
|
|
||||||
""""""""""""""
|
""""""""""""""
|
||||||
" SEARCH
|
" SEARCH
|
||||||
""""""""""""""
|
""""""""""""""
|
||||||
|
@ -956,7 +955,7 @@ let g:clojure_fuzzy_indent_blacklist = ['-fn$', '\v^with-%(meta|out-str|loading-
|
||||||
let g:rainbow_active = 1 " Always on
|
let g:rainbow_active = 1 " Always on
|
||||||
let s:light_rainbow = ['red', 'green', 'magenta', 'cyan', 'yellow', 'white', 'gray', 'blue']
|
let s:light_rainbow = ['red', 'green', 'magenta', 'cyan', 'yellow', 'white', 'gray', 'blue']
|
||||||
let s:dark_rainbow = ['darkblue', 'red', 'black', 'darkgreen', 'darkyellow', 'darkred', 'darkgray']
|
let s:dark_rainbow = ['darkblue', 'red', 'black', 'darkgreen', 'darkyellow', 'darkred', 'darkgray']
|
||||||
let s:rainbow_theme = g:campo_default_bg_mode
|
let s:rainbow_theme = g:campo_light_dark_mode
|
||||||
|
|
||||||
function! UpdateRainbowConf()
|
function! UpdateRainbowConf()
|
||||||
let g:rainbow_conf = {
|
let g:rainbow_conf = {
|
||||||
|
@ -1045,12 +1044,21 @@ set statusline=%<%f\ (%{&ft})\ %-4(%m%)%=%-19(%3l,%02c%03V%)
|
||||||
exec "autocmd ColorScheme " . g:campo_dark_theme . " call ReloadRainbow()"
|
exec "autocmd ColorScheme " . g:campo_dark_theme . " call ReloadRainbow()"
|
||||||
exec "autocmd ColorScheme " . g:campo_light_theme . " call ReloadRainbow()"
|
exec "autocmd ColorScheme " . g:campo_light_theme . " call ReloadRainbow()"
|
||||||
|
|
||||||
" Switch between light and dark themes.
|
" Toggle between light and dark themes.
|
||||||
noremap <leader>l :call ChangeBgTheme('light', 0)<cr>
|
noremap <leader>l :call ToggleLightDarkTheme()<cr>
|
||||||
noremap <leader>ll :call ChangeBgTheme('dark', 0)<cr>
|
|
||||||
|
|
||||||
function! ChangeBgTheme(bg, onlySetTheme)
|
let s:current_light_dark_mode = g:campo_light_dark_mode
|
||||||
if a:bg =~ 'light'
|
|
||||||
|
function! ToggleLightDarkTheme()
|
||||||
|
if s:current_light_dark_mode == 'light'
|
||||||
|
call ChangeLightDarkMode('dark', 0)
|
||||||
|
else
|
||||||
|
call ChangeLightDarkMode('light', 0)
|
||||||
|
endif
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! ChangeLightDarkMode(mode, onlySetTheme)
|
||||||
|
if a:mode == 'light'
|
||||||
let s:rainbow_theme = 'light'
|
let s:rainbow_theme = 'light'
|
||||||
let s:theme = g:campo_light_theme
|
let s:theme = g:campo_light_theme
|
||||||
exe 'colorscheme ' . s:theme
|
exe 'colorscheme ' . s:theme
|
||||||
|
@ -1065,15 +1073,18 @@ function! ChangeBgTheme(bg, onlySetTheme)
|
||||||
exe 'colorscheme ' . s:theme
|
exe 'colorscheme ' . s:theme
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
let s:current_light_dark_mode = a:mode
|
||||||
|
|
||||||
if !a:onlySetTheme
|
if !a:onlySetTheme
|
||||||
exec 'AirlineTheme' a:bg
|
exec 'AirlineTheme' a:mode
|
||||||
endif
|
endif
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
if g:campo_default_bg_mode =~ 'light'
|
" Set the intial light/dark mode.
|
||||||
call ChangeBgTheme('light', 1)
|
if g:campo_light_dark_mode =~ 'light'
|
||||||
|
call ChangeLightDarkMode('light', 1)
|
||||||
else
|
else
|
||||||
call ChangeBgTheme('dark', 1)
|
call ChangeLightDarkMode('dark', 1)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user