cursormode: allow custom mode names

A new variable named cursormode_mode_func is used to store the function
returning the current mode. This allows more customization in the mapping.
The default value is the built-in mode function so there is no change in
behavior.
Add some documentation.

Signed-off-by: Thomas Faivre <thomas.faivre@6wind.com>
This commit is contained in:
Thomas Faivre
2018-01-19 12:32:13 +01:00
parent e02176aca1
commit dec9b8e65c
2 changed files with 23 additions and 3 deletions

View File

@@ -40,8 +40,12 @@ endfunction
let s:iTerm_escape_template = '\033]Pl%s\033\\'
let s:xterm_escape_template = '\033]12;%s\007'
function! s:get_mode()
return call(get(g:, 'cursormode_mode_func', 'mode'), [])
endfunction
function! airline#extensions#cursormode#set(...)
let mode = mode()
let mode = s:get_mode()
if mode !=# s:last_mode
let s:last_mode = mode
call s:set_cursor_color_for(mode)