Allow users to define custom before/after callbacks (#3)

This commit is contained in:
Junegunn Choi
2013-12-04 01:32:57 +09:00
parent b4a1a855a7
commit 7c923dd77f
2 changed files with 33 additions and 0 deletions

View File

@@ -26,6 +26,31 @@ Configuration
- `g:goyo_margin_top` (default: 4)
- `g:goyo_margin_bottom` (default: 4)
- `g:goyo_linenr` (default: 0)
- `g:goyo_callbacks` ([before_funcref, after_funcref])
### Callbacks
By default, [vim-airline](https://github.com/bling/vim-airline),
[vim-powerline](https://github.com/Lokaltog/vim-powerline),
[powerline](https://github.com/Lokaltog/powerline), and
[vim-gitgutter](https://github.com/airblade/vim-gitgutter) are temporarily
disabled while in Goyo mode.
If you have other plugins that you want to disable/enable, or if you want to
change the default settings of Goyo window, you can define before and after
callbacks as follows in your .vimrc.
```vim
function! s:goyo_before()
"
endfunction
function! s:goyo_after()
"
endfunction
let g:goyo_callbacks = [function('s:goyo_before'), function('s:goyo_after')]
```
Inspiration
-----------

View File

@@ -168,6 +168,10 @@ function! s:goyo_on(width)
let &statusline = repeat(' ', winwidth(0))
if exists('g:goyo_callbacks[0]')
call g:goyo_callbacks[0]()
endif
augroup goyo
autocmd!
autocmd BufWinLeave <buffer> call s:goyo_off()
@@ -231,6 +235,10 @@ function! s:goyo_off()
if exists('#Powerline')
doautocmd Powerline ColorScheme
endif
if exists('g:goyo_callbacks[1]')
call g:goyo_callbacks[1]()
endif
endfunction
function! s:goyo(...)