1
0
mirror of https://github.com/SpaceVim/SpaceVim.git synced 2025-02-03 00:40:05 +08:00

Add key frequency feature

This commit is contained in:
wsdjeg 2017-04-03 13:12:35 +08:00
parent ab55eff7ce
commit b1241ef10f
4 changed files with 21 additions and 5 deletions

View File

@ -86,8 +86,12 @@ let g:spacevim_plugin_bundle_dir
" <
let g:spacevim_realtime_leader_guide = 0
""
" Enable/Disable key frequency catching of SpaceVim.
let g:spacevim_enable_key_frequency = 1
" Enable/Disable key frequency catching of SpaceVim. default value is 0. to
" enable it:
" >
" let g:spacevim_enable_key_frequency = 1
" <
let g:spacevim_enable_key_frequency = 0
let g:spacevim_autocomplete_method = ''
let g:spacevim_enable_cursorcolumn = 0
""

View File

@ -38,7 +38,11 @@ function! SpaceVim#mapping#def(type, key, value, ...) abort
let gexe = substitute(gexe, '<Esc>', "\<Esc>", 'g')
else
endif
exec a:type . ' ' . a:key . ' ' . a:value
if g:spacevim_enable_key_frequency
exec a:type . ' <expr> ' . a:key . " SpaceVim#mapping#frequency#update('" . a:key . "', '" . a:value . "')"
else
exec a:type . ' ' . a:key . ' ' . a:value
endif
if a:0 > 0
let desc = a:1
let description = '➤ '

View File

@ -1,11 +1,12 @@
let s:data = {}
function! SpaceVim#mapping#frequency#update(key) abort
function! SpaceVim#mapping#frequency#update(key, rhs) abort
if has_key(s:data, a:key)
let s:data[a:key] += 1
else
let s:data[a:key] = 1
endif
return a:rhs
endfunction
function! SpaceVim#mapping#frequency#view(keys) abort
@ -17,6 +18,9 @@ function! SpaceVim#mapping#frequency#view(keys) abort
endfor
endif
endfunction
function! SpaceVim#mapping#frequency#viewall() abort
echo string(s:data)
endfunction
function! s:get(key) abort
if has_key(s:data, a:key)

View File

@ -117,7 +117,11 @@ Enable/Disable realtime leader guide. Default is 0.
<
*g:spacevim_enable_key_frequency*
Enable/Disable key frequency catching of SpaceVim.
Enable/Disable key frequency catching of SpaceVim. default value is 0. to
enable it:
>
let g:spacevim_enable_key_frequency = 1
<
*g:spacevim_enable_neomake*
SpaceVim default checker is neomake. If you want to use syntastic, use: