Merge pull request #1647 from ThomasFaivre/get_mode

cursormode: allow custom mode names
This commit is contained in:
Christian Brabandt 2018-01-21 09:53:21 +01:00 committed by GitHub
commit eb58badee2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
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)

View File

@ -1035,12 +1035,28 @@ neomake <https://github.com/neomake/neomake>
------------------------------------- *airline-cursormode*
cursormode <https://github.com/vheon/vim-cursormode>
Displays cursor in different colors depending on the current mode (only works
in terminals iTerm, AppleTerm and xterm)
Built-in extension to displays cursor in different colors depending on the
current mode (only works in terminals iTerm, AppleTerm and xterm)
* enable cursormode integration >
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*