gina.vim 1.1 KB

12345678910111213141516171819202122232425262728
  1. " MIT License. Copyright (c) 2013-2021
  2. " Plugin: https://github.com/lambdalisue/gina.vim
  3. " vim: et ts=2 sts=2 sw=2
  4. scriptencoding utf-8
  5. if !get(g:, 'loaded_gina', 0)
  6. finish
  7. endif
  8. function! airline#extensions#gina#apply(...) abort
  9. " gina.vim seems to set b:gina_initialized = 1 in diff buffers it open,
  10. " where get(b:, 'gina_initialized', 0) returns 1.
  11. " In diff buffers not opened by gina.vim b:gina_initialized is not set,
  12. " so get(b:, 'gina_initialized', 0) returns 0.
  13. if (&ft =~# 'gina' && &ft !~# 'blame') || (&ft ==# 'diff' && get(b:, 'gina_initialized', 0))
  14. call a:1.add_section('airline_a', ' gina ')
  15. call a:1.add_section('airline_b', ' %{gina#component#repo#branch()} ')
  16. call a:1.split()
  17. call a:1.add_section('airline_y', ' staged %{gina#component#status#staged()} ')
  18. call a:1.add_section('airline_z', ' unstaged %{gina#component#status#unstaged()} ')
  19. return 1
  20. endif
  21. endfunction
  22. function! airline#extensions#gina#init(ext) abort
  23. let g:gina_force_overwrite_statusline = 0
  24. call a:ext.add_statusline_func('airline#extensions#gina#apply')
  25. endfunction