aboutsummaryrefslogtreecommitdiff
path: root/.config/nvim/plugged/vim-airline/autoload/airline/extensions/xkblayout.vim
diff options
context:
space:
mode:
authorMarvin Borner2020-03-16 23:33:42 +0100
committerMarvin Borner2020-03-16 23:33:42 +0100
commit0e9ddbb0bf0cd34500155ea4b03de2e2a38d8ab2 (patch)
tree719da1c7fe5dabb872fe9ff1582c39b55ccd488e /.config/nvim/plugged/vim-airline/autoload/airline/extensions/xkblayout.vim
parente5d38956336ab1be954bdbd12808c5f98f8bd925 (diff)
Well I'm using Arch again
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.vim24
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