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:
parent
e02176aca1
commit
dec9b8e65c
|
@ -40,8 +40,12 @@ endfunction
|
||||||
let s:iTerm_escape_template = '\033]Pl%s\033\\'
|
let s:iTerm_escape_template = '\033]Pl%s\033\\'
|
||||||
let s:xterm_escape_template = '\033]12;%s\007'
|
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(...)
|
function! airline#extensions#cursormode#set(...)
|
||||||
let mode = mode()
|
let mode = s:get_mode()
|
||||||
if mode !=# s:last_mode
|
if mode !=# s:last_mode
|
||||||
let s:last_mode = mode
|
let s:last_mode = mode
|
||||||
call s:set_cursor_color_for(mode)
|
call s:set_cursor_color_for(mode)
|
||||||
|
|
|
@ -1035,12 +1035,28 @@ neomake <https://github.com/neomake/neomake>
|
||||||
------------------------------------- *airline-cursormode*
|
------------------------------------- *airline-cursormode*
|
||||||
cursormode <https://github.com/vheon/vim-cursormode>
|
cursormode <https://github.com/vheon/vim-cursormode>
|
||||||
|
|
||||||
Displays cursor in different colors depending on the current mode (only works
|
Built-in extension to displays cursor in different colors depending on the
|
||||||
in terminals iTerm, AppleTerm and xterm)
|
current mode (only works in terminals iTerm, AppleTerm and xterm)
|
||||||
|
|
||||||
* enable cursormode integration >
|
* enable cursormode integration >
|
||||||
let g:airline#extensions#cursormode#enabled = 1
|
let g:airline#extensions#cursormode#enabled = 1
|
||||||
|
|
||||||
|
* mode function. Return value is used as key for the color mapping. Default is
|
||||||
|
|mode()|
|
||||||
|
`let g:cursormode_mode_func = 'mode'`
|
||||||
|
|
||||||
|
* color mapping. Keys come from `g:cursormode_mode_func` (background value can
|
||||||
|
be appended)
|
||||||
|
`let g:cursormode_color_map = {`
|
||||||
|
`\ "nlight": '#000000',`
|
||||||
|
`\ "ndark": '#BBBBBB',`
|
||||||
|
`\ "i": g:airline#themes#{g:airline_theme}#palette.insert.airline_a[1],`
|
||||||
|
`\ "R": g:airline#themes#{g:airline_theme}#palette.replace.airline_a[1],`
|
||||||
|
`\ "v": g:airline#themes#{g:airline_theme}#palette.visual.airline_a[1],`
|
||||||
|
`\ "V": g:airline#themes#{g:airline_theme}#palette.visual.airline_a[1],`
|
||||||
|
`\ "\<C-V>": g:airline#themes#{g:airline_theme}#palette.visual.airline_a[1],`
|
||||||
|
`\ }`
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
ADVANCED CUSTOMIZATION *airline-advanced-customization*
|
ADVANCED CUSTOMIZATION *airline-advanced-customization*
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue