diff options
author | Yaroslav <contact@yaroslavps.com> | 2020-02-25 14:47:03 +0300 |
---|---|---|
committer | Yaroslav <contact@yaroslavps.com> | 2020-02-25 14:47:03 +0300 |
commit | d16e82d468eb0d5bb1e662ac4812c0ca6fc0fc64 (patch) | |
tree | 6575864b75dc0c9de61b5d523e77dbcff785c998 /.vim/autoload/airline/extensions/cursormode.vim | |
parent | 69d47128244a06ee28e4b43191ef9216b04bce13 (diff) | |
download | vimrice-d16e82d468eb0d5bb1e662ac4812c0ca6fc0fc64.tar.gz vimrice-d16e82d468eb0d5bb1e662ac4812c0ca6fc0fc64.zip |
reorganized repo to be easier to use with GNU stow; added script to stow
Diffstat (limited to '.vim/autoload/airline/extensions/cursormode.vim')
-rw-r--r-- | .vim/autoload/airline/extensions/cursormode.vim | 132 |
1 files changed, 0 insertions, 132 deletions
diff --git a/.vim/autoload/airline/extensions/cursormode.vim b/.vim/autoload/airline/extensions/cursormode.vim deleted file mode 100644 index 097ddd8..0000000 --- a/.vim/autoload/airline/extensions/cursormode.vim +++ /dev/null @@ -1,132 +0,0 @@ -" Copyright (C) 2014 Andrea Cedraro <a.cedraro@gmail.com> -" Copyright (C) 2017 Eduardo Suarez-Santana <e.suarezsantana@gmail.com> -" -" Permission is hereby granted, free of charge, to any person obtaining -" a copy of this software and associated documentation files (the "Software"), -" to deal in the Software without restriction, including without limitation -" the rights to use, copy, modify, merge, publish, distribute, sublicense, -" and/or sell copies of the Software, and to permit persons to whom the -" Software is furnished to do so, subject to the following conditions: -" -" The above copyright notice and this permission notice shall be included -" in all copies or substantial portions of the Software. -" -" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -" EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -" OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -" IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -" TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE -" OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -scriptencoding utf-8 - -let s:is_win = has('win32') || has('win64') -let s:is_iTerm = exists('$TERM_PROGRAM') && $TERM_PROGRAM =~# 'iTerm.app' -let s:is_AppleTerminal = exists('$TERM_PROGRAM') && $TERM_PROGRAM =~# 'Apple_Terminal' - -let s:is_good = !has('gui_running') && !s:is_win && !s:is_AppleTerminal - -let s:last_mode = '' - -if !exists('g:cursormode_exit_mode') - let g:cursormode_exit_mode='n' -endif - -function! airline#extensions#cursormode#tmux_escape(escape) - return '\033Ptmux;'.substitute(a:escape, '\\033', '\\033\\033', 'g').'\033\\' -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 = s:get_mode() - if mode !=# s:last_mode - let s:last_mode = mode - call s:set_cursor_color_for(mode) - endif - return '' -endfunction - -function! s:set_cursor_color_for(mode) - let mode = a:mode - for mode in [a:mode, a:mode.&background] - if has_key(s:color_map, mode) - try - let save_eventignore = &eventignore - set eventignore=all - let save_shelltemp = &shelltemp - set noshelltemp - - silent call system(s:build_command(s:color_map[mode])) - return - finally - let &shelltemp = save_shelltemp - let &eventignore = save_eventignore - endtry - endif - endfor -endfunction - -function! s:build_command(color) - if s:is_iTerm - let color = substitute(a:color, '^#', '', '') - let escape_template = s:iTerm_escape_template - else - let color = a:color - let escape_template = s:xterm_escape_template - endif - - let escape = printf(escape_template, color) - if exists('$TMUX') - let escape = airline#extensions#cursormode#tmux_escape(escape) - endif - return "printf '".escape."' > /dev/tty" -endfunction - -function! s:get_color_map() - if exists('g:cursormode_color_map') - return g:cursormode_color_map - endif - - try - let map = g:cursormode#{g:colors_name}#color_map - return map - catch - return { - \ "nlight": "#000000", - \ "ndark": "#BBBBBB", - \ "i": "#0000BB", - \ "v": "#FF5555", - \ "V": "#BBBB00", - \ "\<C-V>": "#BB00BB", - \ } - endtry -endfunction - -augroup airline#extensions#cursormode - autocmd! - autocmd VimLeave * nested call s:set_cursor_color_for(g:cursormode_exit_mode) - " autocmd VimEnter * call airline#extensions#cursormode#activate() - autocmd Colorscheme * call airline#extensions#cursormode#activate() -augroup END - -function! airline#extensions#cursormode#activate() - let s:color_map = s:get_color_map() - call airline#extensions#cursormode#set() -endfunction - -function! airline#extensions#cursormode#apply(...) - let w:airline_section_a = get(w:, 'airline_section_a', g:airline_section_a) - let w:airline_section_a .= '%{airline#extensions#cursormode#set()}' -endfunction - -function! airline#extensions#cursormode#init(ext) - let s:color_map = s:get_color_map() - call a:ext.add_statusline_func('airline#extensions#cursormode#apply') -endfunction |