From da470da4c6e0d116e8620e0ab703063a03886eca Mon Sep 17 00:00:00 2001
From: wsdjeg <wsdjeg@outlook.com>
Date: Sun, 31 Dec 2017 14:58:01 +0800
Subject: [PATCH] Add windows leader guider

---
 autoload/SpaceVim/mapping/guide.vim  | 3 +++
 autoload/SpaceVim/mapping/leader.vim | 6 ++++++
 2 files changed, 9 insertions(+)

diff --git a/autoload/SpaceVim/mapping/guide.vim b/autoload/SpaceVim/mapping/guide.vim
index 275cbd7b6..d04c33c52 100644
--- a/autoload/SpaceVim/mapping/guide.vim
+++ b/autoload/SpaceVim/mapping/guide.vim
@@ -605,6 +605,9 @@ call SpaceVim#mapping#guide#register_prefix_descriptions(
 call SpaceVim#mapping#guide#register_prefix_descriptions(
       \ g:spacevim_denite_leader,
       \ 'g:_spacevim_mappings_denite')
+call SpaceVim#mapping#guide#register_prefix_descriptions(
+      \ g:spacevim_windows_leader,
+      \ 'g:_spacevim_mappings_windows')
 call SpaceVim#mapping#guide#register_prefix_descriptions(
       \ '[KEYs]',
       \ 'g:_spacevim_mappings_prefixs')
diff --git a/autoload/SpaceVim/mapping/leader.vim b/autoload/SpaceVim/mapping/leader.vim
index de1cf21f9..bfb3180a2 100644
--- a/autoload/SpaceVim/mapping/leader.vim
+++ b/autoload/SpaceVim/mapping/leader.vim
@@ -121,6 +121,10 @@ endfunction
 
 function! SpaceVim#mapping#leader#defindWindowsLeader(key) abort
   if !empty(a:key)
+    exe 'nnoremap <silent><nowait> [Window] :<c-u>LeaderGuide "' .
+          \ a:key . '"<CR>'
+    exe 'nmap ' .a:key . ' [Window]'
+    let g:_spacevim_mappings_windows = {}
     call zvim#util#defineMap('nnoremap', '[Window]', '<Nop>',
           \ 'Defind window prefix', 'normal [Window]')
     call zvim#util#defineMap('nmap' , a:key, '[Window]',
@@ -315,6 +319,8 @@ function! SpaceVim#mapping#leader#defindKEYs() abort
   call extend(g:_spacevim_mappings_prefixs[g:spacevim_unite_leader], g:_spacevim_mappings_unite)
   let g:_spacevim_mappings_prefixs[g:spacevim_denite_leader] = {'name' : '+Denite prefix'}
   call extend(g:_spacevim_mappings_prefixs[g:spacevim_denite_leader], g:_spacevim_mappings_denite)
+  let g:_spacevim_mappings_prefixs[g:spacevim_windows_leader] = {'name' : '+Window prefix'}
+  call extend(g:_spacevim_mappings_prefixs[g:spacevim_windows_leader], g:_spacevim_mappings_windows)
 endfunction