From d60323d62363bd30336106cca360324850c6a32a Mon Sep 17 00:00:00 2001 From: YoungHoon Rhiu Date: Wed, 18 Jan 2017 12:34:14 +0900 Subject: [PATCH] Add vim-xkblayout extension to display keyboard layout --- autoload/airline/extensions.vim | 5 +++++ autoload/airline/extensions/xkblayout.vim | 25 ++++++++++++++++++++++ autoload/airline/init.vim | 3 ++- doc/.airline.txt.swp | Bin 0 -> 61440 bytes doc/airline.txt | 12 +++++++++++ 5 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 autoload/airline/extensions/xkblayout.vim create mode 100644 doc/.airline.txt.swp diff --git a/autoload/airline/extensions.vim b/autoload/airline/extensions.vim index 6cae1879..6025767f 100644 --- a/autoload/airline/extensions.vim +++ b/autoload/airline/extensions.vim @@ -284,6 +284,11 @@ function! airline#extensions#load() call add(loaded_ext, 'capslock') endif + if (get(g:, 'airline#extensions#xkblayout#enabled', 1) && exists('g:XkbSwitchLib')) + call airline#extensions#xkblayout#init(s:ext) + call add(loaded_ext, 'xkblayout') + endif + if (get(g:, 'airline#extensions#windowswap#enabled', 1) && get(g:, 'loaded_windowswap', 0)) call airline#extensions#windowswap#init(s:ext) call add(loaded_ext, 'windowswap') diff --git a/autoload/airline/extensions/xkblayout.vim b/autoload/airline/extensions/xkblayout.vim new file mode 100644 index 00000000..a9aef830 --- /dev/null +++ b/autoload/airline/extensions/xkblayout.vim @@ -0,0 +1,25 @@ +" MIT License. Copyright (c) 2017 YoungHoon Rhiu. +" 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 = {'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 + diff --git a/autoload/airline/init.vim b/autoload/airline/init.vim index 93cd1131..9a68d139 100644 --- a/autoload/airline/init.vim +++ b/autoload/airline/init.vim @@ -104,6 +104,7 @@ function! airline#init#bootstrap() \ 'eclim', 'whitespace','windowswap', 'ycm_error_count', 'ycm_warning_count', \ 'neomake_error_count', 'neomake_warning_count', 'ale_error_count', 'ale_warning_count']) call airline#parts#define_text('capslock', '') + call airline#parts#define_text('xkblayout', '') unlet g:airline#init#bootstrapping endfunction @@ -117,7 +118,7 @@ endfunction function! airline#init#sections() let spc = g:airline_symbols.space if !exists('g:airline_section_a') - let g:airline_section_a = airline#section#create_left(['mode', 'crypt', 'paste', 'spell', 'capslock', 'iminsert']) + let g:airline_section_a = airline#section#create_left(['mode', 'crypt', 'paste', 'spell', 'capslock', 'xkblayout', 'iminsert']) endif if !exists('g:airline_section_b') let g:airline_section_b = airline#section#create(['hunks', 'branch']) diff --git a/doc/.airline.txt.swp b/doc/.airline.txt.swp new file mode 100644 index 0000000000000000000000000000000000000000..1a6d3271480a3b56ecce7bdcb5793f2c37ea2540 GIT binary patch literal 61440 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 * enable/disable vim-capslock integration > let g:airline#extensions#capslock#enabled = 1 +------------------------------------- *airline-xkblayout* +vim-xkblayout + +* enable/disable vim-xkblayout extension > + let g:airline#extensions#xkblayout#enabled = 1 + +* define path to the backend switcher library + Linux (Install https://github.com/ierton/xkb-switch): + let g:XkbSwitchLib = '/usr/local/lib/libxkbswitch.so' + macOS (Install https://github.com/vovkasm/input-source-switcher): + let g:XkbSwitchLib = '/usr/local/lib/libInputSourceSwitcher.dylib' + ------------------------------------- *airline-windowswap* vim-windowswap