fzf.vim 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. " MIT License. Copyright (c) 2013-2021 Bailey Ling et al.
  2. " Plugin: https://github.com/junegunn/fzf, https://github.com/junegunn/fzf.vim
  3. " vim: et ts=2 sts=2 sw=2
  4. scriptencoding utf-8
  5. function! airline#extensions#fzf#init(ext) abort
  6. " Remove the custom statusline that fzf.vim sets by removing its `FileType
  7. " fzf` autocmd. Ideally we'd use `let g:fzf_statusline = 0`, but this
  8. " variable is checked *before* airline#extensions#init() is called.
  9. augroup _fzf_statusline
  10. autocmd!
  11. augroup END
  12. call a:ext.add_statusline_func('airline#extensions#fzf#apply')
  13. call a:ext.add_inactive_statusline_func('airline#extensions#fzf#inactive_apply')
  14. endfunction
  15. function! airline#extensions#fzf#statusline(...) abort
  16. let spc = g:airline_symbols.space
  17. let builder = airline#builder#new({ 'active': 1 })
  18. call builder.add_section('airline_a', spc.'FZF'.spc)
  19. call builder.add_section('airline_c', '')
  20. return builder.build()
  21. endfunction
  22. function! airline#extensions#fzf#apply(...) abort
  23. if &filetype ==# 'fzf'
  24. let spc = g:airline_symbols.space
  25. call a:1.add_section('airline_a', spc.'FZF'.spc)
  26. call a:1.add_section('airline_c', '')
  27. return 1
  28. endif
  29. endfunction
  30. function! airline#extensions#fzf#inactive_apply(...) abort
  31. if getbufvar(a:2.bufnr, '&filetype') ==# 'fzf'
  32. let spc = g:airline_symbols.space
  33. call a:1.add_section('airline_a', spc.'FZF'.spc)
  34. call a:1.add_section('airline_c', '')
  35. return 1
  36. endif
  37. endfunction