aboutsummaryrefslogtreecommitdiff
path: root/.vim/autoload/airline/extensions/cursormode.vim
diff options
context:
space:
mode:
authorYaroslav <contact@yaroslavps.com>2020-02-25 14:47:03 +0300
committerYaroslav <contact@yaroslavps.com>2020-02-25 14:47:03 +0300
commitd16e82d468eb0d5bb1e662ac4812c0ca6fc0fc64 (patch)
tree6575864b75dc0c9de61b5d523e77dbcff785c998 /.vim/autoload/airline/extensions/cursormode.vim
parent69d47128244a06ee28e4b43191ef9216b04bce13 (diff)
downloadvimrice-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.vim132
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