diff --git a/README.md b/README.md index 108bc7c..3c6b3f2 100644 --- a/README.md +++ b/README.md @@ -173,6 +173,21 @@ inoremap fzf#complete({ \ 'left': 20}) ``` +Status line (neovim) +-------------------- + +```vim +function! s:fzf_statusline() + " Override statusline as you like + highlight fzf1 ctermfg=161 ctermbg=251 + highlight fzf2 ctermfg=23 ctermbg=251 + highlight fzf3 ctermfg=237 ctermbg=251 + setlocal statusline=%#fzf1#\ >\ %#fzf2#fz%#fzf3#f +endfunction + +autocmd! User FzfStatusLine call fzf_statusline() +``` + License ------- diff --git a/plugin/fzf.vim b/plugin/fzf.vim index 64ce688..89f36d3 100644 --- a/plugin/fzf.vim +++ b/plugin/fzf.vim @@ -79,14 +79,19 @@ endfunction if has('nvim') && get(g:, 'fzf_nvim_statusline', 1) function! s:fzf_restore_colors() - if $TERM !~ "256color" - highlight fzf1 ctermfg=1 ctermbg=8 - highlight fzf2 ctermfg=2 ctermbg=8 - highlight fzf3 ctermfg=7 ctermbg=8 + if exists('#User#FzfStatusLine') + doautocmd User FzfStatusLine else - highlight fzf1 ctermfg=161 ctermbg=238 - highlight fzf2 ctermfg=151 ctermbg=238 - highlight fzf3 ctermfg=252 ctermbg=238 + if $TERM !~ "256color" + highlight fzf1 ctermfg=1 ctermbg=8 + highlight fzf2 ctermfg=2 ctermbg=8 + highlight fzf3 ctermfg=7 ctermbg=8 + else + highlight fzf1 ctermfg=161 ctermbg=238 + highlight fzf2 ctermfg=151 ctermbg=238 + highlight fzf3 ctermfg=252 ctermbg=238 + endif + setlocal statusline=%#fzf1#\ >\ %#fzf2#fz%#fzf3#f endif endfunction @@ -96,13 +101,13 @@ if has('nvim') && get(g:, 'fzf_nvim_statusline', 1) endif setlocal nospell - setlocal statusline=%#fzf1#\ >\ %#fzf2#fz%#fzf3#f + call s:fzf_restore_colors() endfunction - augroup fzf_statusline + augroup _fzf_statusline autocmd! - autocmd TermOpen *bin/fzf* call s:fzf_nvim_term() | autocmd WinEnter call s:fzf_nvim_term() - autocmd VimEnter,ColorScheme * call s:fzf_restore_colors() + autocmd FileType fzf call s:fzf_nvim_term() + \| autocmd WinEnter,ColorScheme call s:fzf_restore_colors() augroup END endif