diff options
Diffstat (limited to '.config/nvim/plugged/vim-airline/autoload/airline/extensions/xkblayout.vim')
-rw-r--r-- | .config/nvim/plugged/vim-airline/autoload/airline/extensions/xkblayout.vim | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/.config/nvim/plugged/vim-airline/autoload/airline/extensions/xkblayout.vim b/.config/nvim/plugged/vim-airline/autoload/airline/extensions/xkblayout.vim new file mode 100644 index 0000000..7e00db3 --- /dev/null +++ b/.config/nvim/plugged/vim-airline/autoload/airline/extensions/xkblayout.vim @@ -0,0 +1,24 @@ +" MIT License. Copyright (c) 2017-2019 YoungHoon Rhiu et al. +" vim: et ts=2 sts=2 sw=2 + +scriptencoding utf-8 + +if !exists('g:XkbSwitchLib') + finish +endif + +function! airline#extensions#xkblayout#status() + let keyboard_layout = libcall(g:XkbSwitchLib, 'Xkb_Switch_getXkbLayout', '') + let keyboard_layout = split(keyboard_layout, '\.')[-1] + let short_codes = get(g:, 'airline#extensions#xkblayout#short_codes', {'2SetKorean': 'KR', 'Chinese': 'CN', 'Japanese': 'JP'}) + + if has_key(short_codes, keyboard_layout) + let keyboard_layout = short_codes[keyboard_layout] + endif + + return keyboard_layout +endfunction + +function! airline#extensions#xkblayout#init(ext) + call airline#parts#define_function('xkblayout', 'airline#extensions#xkblayout#status') +endfunction |