Execute (Setup): Save g:colors_name, &background colo seoul256 function! s:assert_on() Assert exists('#limelight'), 'limelight should be on' endfunction function! s:assert_off() Assert !exists('#limelight'), 'limelight should be off' endfunction command! AssertOn call s:assert_on() command! AssertOff call s:assert_off() Before: unlet! g:limelight_default_coefficient \ g:limelight_conceal_guifg g:limelight_conceal_ctermfg Execute (Invalid argument type): Limelight 'hello' AssertOff Limelight {} AssertOff Limelight [] AssertOff Execute (Invalid argument range): Limelight 1.2 AssertOff Limelight 2 AssertOff Limelight -0.2 AssertOff Limelight -1 AssertOff Execute (Limelight / Limelight!): Limelight AssertOn Limelight AssertOn Limelight! AssertOff Limelight! AssertOff Limelight 0.5 AssertOn Limelight! AssertOff Execute (Limelight!!): Limelight!! AssertOn Limelight!! AssertOff Limelight!! 2.0 AssertOff Limelight!! 0.9 AssertOn Limelight!! 0.9 AssertOff Execute (g:limelight_default_coefficient): let g:limelight_default_coefficient = 2.0 Limelight AssertOff let g:limelight_default_coefficient = -1.0 Limelight AssertOff Execute (Unsupported terminal): colo default let &t_Co = 16 Limelight AssertOff Execute (Unsupported. but g:limelight_conceal_???fg defined): if has('gui_running') colo default let g:limelight_conceal_guifg = '#cccccc' Limelight AssertOn Limelight! AssertOff else if exists('&termguicolors') set notermguicolors endif colo default let &t_Co = 256 " Cannot enable it without g:limelight_conceal_ctermfg Limelight AssertOff let g:limelight_conceal_ctermfg = 240 Limelight AssertOn Limelight! AssertOff let g:limelight_conceal_ctermfg = 'red' Limelight AssertOn Limelight! AssertOff endif " However, you're still not allowed to pass argument to Limelight command redir => msg Limelight 0.5 redir END AssertOff Assert msg !~ 'g:limelight_conceal_', 'Invalid message: '.msg Execute (TODO: Color interpolation): Assert 0, 'TODO' Execute (Cleanup): delc AssertOn delc AssertOff unlet! msg Restore silent! execute 'colo '.g:colors_name