1
0
mirror of https://github.com/SpaceVim/SpaceVim.git synced 2025-04-14 15:19:12 +08:00

Improve leader guide statusline

This commit is contained in:
wsdjeg 2017-03-20 22:45:54 +08:00
parent f32b4b1ac8
commit 9e180d43a9
4 changed files with 46 additions and 1 deletions

View File

@ -64,6 +64,10 @@ let g:spacevim_windows_leader = 's'
" Unite work flow leader of SpaceVim. Default is `f`.
" Set to empty to disable this feature, or you can set to another char.
let g:spacevim_unite_leader = 'f'
""
" Denite work flow leader of SpaceVim. Default is `F`.
" Set to empty to disable this feature, or you can set to another char.
let g:spacevim_denite_leader = 'F'
let g:spacevim_neobundle_installed = 0
let g:spacevim_dein_installed = 0
let g:spacevim_vim_plug_installed = 0
@ -364,6 +368,9 @@ function! SpaceVim#end() abort
if !empty(g:spacevim_unite_leader)
call SpaceVim#mapping#leader#defindUniteLeader(g:spacevim_unite_leader)
endif
if !empty(g:spacevim_denite_leader)
call SpaceVim#mapping#leader#defindDeniteLeader(g:spacevim_denite_leader)
endif
call SpaceVim#mapping#leader#defindglobalMappings()
if g:spacevim_simple_mode
let g:spacevim_plugin_groups = ['core']

View File

@ -387,8 +387,14 @@ function! s:winopen() " {{{
setlocal nobuflisted buftype=nofile bufhidden=unload noswapfile
setlocal nocursorline nocursorcolumn colorcolumn=
setlocal winfixwidth winfixheight
setlocal statusline=\ Leader\ Guide
call s:updateStatusline()
endfunction " }}}
function! s:updateStatusline() abort
exe 'setlocal statusline=\ Leader\ Guide\ for:\ ' .
\ SpaceVim#mapping#leader#getName(s:prefix_key)
endfunction
function! s:winclose() " {{{
noautocmd execute s:gwin.'wincmd w'
if s:gwin == winnr()
@ -463,6 +469,7 @@ function! SpaceVim#mapping#guide#start_by_prefix(vis, key) " {{{
let s:vis = a:vis ? 'gv' : ''
let s:count = v:count != 0 ? v:count : ''
let s:toplevel = a:key ==? ' '
let s:prefix_key = a:key
if has('nvim') && !exists('s:reg')
let s:reg = ''
@ -503,6 +510,9 @@ call SpaceVim#mapping#guide#register_prefix_descriptions('\',
call SpaceVim#mapping#guide#register_prefix_descriptions(
\ g:spacevim_unite_leader,
\ 'g:_spacevim_mappings_unite')
call SpaceVim#mapping#guide#register_prefix_descriptions(
\ g:spacevim_denite_leader,
\ 'g:_spacevim_mappings_denite')
let &cpo = s:save_cpo
unlet s:save_cpo

View File

@ -125,6 +125,20 @@ function! SpaceVim#mapping#leader#defindWindowsLeader(key) abort
endif
endfunction
function! SpaceVim#mapping#leader#defindDeniteLeader(key) abort
if !empty(a:key)
exe 'nnoremap <silent><nowait> [denite] :<c-u>LeaderGuide "' . a:key . '"<CR>'
exe 'nmap ' .a:key . ' [denite]'
let g:_spacevim_mappings_denite = {}
nnoremap <silent> [denite]r
\ :<C-u>Denite -buffer-name=resume resume<CR>
let g:_spacevim_mappings_denite.r = ['Denite -buffer-name=resume resume',
\ 'resume denite window']
nnoremap <silent> [denite]f :<C-u>Denite file_rec<cr>
let g:_spacevim_mappings_denite.f = ['Denite file_rec', 'file_rec']
endif
endfunction
function! SpaceVim#mapping#leader#defindUniteLeader(key) abort
if !empty(a:key)
" The prefix key.
@ -211,4 +225,14 @@ function! SpaceVim#mapping#leader#defindUniteLeader(key) abort
endif
endfunction
function! SpaceVim#mapping#leader#getName(key) abort
if a:key == g:spacevim_unite_leader
return '[unite]'
elseif a:key == g:spacevim_denite_leader
return '[denite]'
else
return '<leader>'
endif
endfunction
" vim:set et sw=2 cc=80:

View File

@ -97,6 +97,10 @@ this feature, or you can set to another char.
*g:spacevim_unite_leader*
Unite work flow leader of SpaceVim. Default is `f`. Set to empty to disable
this feature, or you can set to another char.
*g:spacevim_denite_leader*
Denite work flow leader of SpaceVim. Default is `F`. Set to empty to disable
this feature, or you can set to another char.
*g:spacevim_plugin_bundle_dir*