vimagit.vim 878 B

123456789101112131415161718192021222324252627282930
  1. " MIT License. Copyright (c) 2016-2021 Jerome Reybert et al.
  2. " Plugin: https://github.com/jreybert/vimagit
  3. " vim: et ts=2 sts=2 sw=2
  4. " This plugin replaces the whole section_a when in vimagit buffer
  5. scriptencoding utf-8
  6. if !get(g:, 'loaded_magit', 0)
  7. finish
  8. endif
  9. let s:commit_mode = {'ST': 'STAGING', 'CC': 'COMMIT', 'CA': 'AMEND'}
  10. function! airline#extensions#vimagit#init(ext) abort
  11. call a:ext.add_statusline_func('airline#extensions#vimagit#apply')
  12. endfunction
  13. function! airline#extensions#vimagit#get_mode() abort
  14. if ( exists("*magit#get_current_mode") )
  15. return magit#get_current_mode()
  16. else
  17. return get(s:commit_mode, b:magit_current_commit_mode, '???')
  18. endif
  19. endfunction
  20. function! airline#extensions#vimagit#apply(...) abort
  21. if ( &filetype == 'magit' )
  22. let w:airline_section_a = '%{airline#extensions#vimagit#get_mode()}'
  23. endif
  24. endfunction