keymap.vim 979 B

12345678910111213141516171819202122232425262728293031
  1. " MIT License. Copyright (c) 2013-2021 Doron Behar, C.Brabandt et al.
  2. " vim: et ts=2 sts=2 sw=2
  3. scriptencoding utf-8
  4. if !has('keymap')
  5. finish
  6. endif
  7. function! airline#extensions#keymap#status()
  8. if (get(g:, 'airline#extensions#keymap#enabled', 1) && has('keymap'))
  9. let short_codes = get(g:, 'airline#extensions#keymap#short_codes', {})
  10. let label = get(g:, 'airline#extensions#keymap#label', g:airline_symbols.keymap)
  11. let default = get(g:, 'airline#extensions#keymap#default', '')
  12. if (label !=# '')
  13. let label .= ' '
  14. endif
  15. let keymap = &keymap
  16. if has_key(short_codes, keymap)
  17. let keymap = short_codes[keymap]
  18. endif
  19. return printf('%s', (!empty(keymap) && &iminsert ? (label . keymap) :
  20. \ (!empty(default) ? label . default : default)))
  21. else
  22. return ''
  23. endif
  24. endfunction
  25. function! airline#extensions#keymap#init(ext)
  26. call airline#parts#define_function('keymap', 'airline#extensions#keymap#status')
  27. endfunction