Fix #18 - Add g:fzf_command_prefix

This commit is contained in:
Junegunn Choi
2015-09-30 18:42:48 +09:00
parent c70fa2b6fb
commit 9c98fda058
3 changed files with 34 additions and 18 deletions

View File

@@ -30,22 +30,34 @@ function! s:w(bang)
return a:bang ? {} : copy(get(g:, 'fzf_layout', g:fzf#vim#default_layout))
endfunction
command! -bang -nargs=? -complete=dir Files call fzf#vim#files(<q-args>, s:w(<bang>0))
command! -bang Buffers call fzf#vim#buffers(s:w(<bang>0))
command! -bang Lines call fzf#vim#lines(s:w(<bang>0))
command! -bang BLines call fzf#vim#buffer_lines(s:w(<bang>0))
command! -bang Colors call fzf#vim#colors(s:w(<bang>0))
command! -bang -nargs=1 Locate call fzf#vim#locate(<q-args>, s:w(<bang>0))
command! -bang -nargs=* Ag call fzf#vim#ag(<q-args>, s:w(<bang>0))
command! -bang Tags call fzf#vim#tags(s:w(<bang>0))
command! -bang BTags call fzf#vim#buffer_tags(s:w(<bang>0))
command! -bang Snippets call fzf#vim#snippets(s:w(<bang>0))
command! -bang Commands call fzf#vim#commands(s:w(<bang>0))
command! -bang Marks call fzf#vim#marks(s:w(<bang>0))
command! -bang Helptags call fzf#vim#helptags(s:w(<bang>0))
command! -bang Windows call fzf#vim#windows(s:w(<bang>0))
command! -bang Commits call fzf#vim#commits(s:w(<bang>0))
command! -bang BCommits call fzf#vim#buffer_commits(s:w(<bang>0))
function! s:defs(commands)
let prefix = get(g:, 'fzf_command_prefix', '')
if prefix =~# '^[^A-Z]'
echoerr 'g:fzf_command_prefix must start with an uppercase letter'
return
endif
for command in a:commands
execute substitute(command, '\ze\C[A-Z]', prefix, '')
endfor
endfunction
call s:defs([
\'command! -bang -nargs=? -complete=dir Files call fzf#vim#files(<q-args>, s:w(<bang>0))',
\'command! -bang Buffers call fzf#vim#buffers(s:w(<bang>0))',
\'command! -bang Lines call fzf#vim#lines(s:w(<bang>0))',
\'command! -bang BLines call fzf#vim#buffer_lines(s:w(<bang>0))',
\'command! -bang Colors call fzf#vim#colors(s:w(<bang>0))',
\'command! -bang -nargs=1 Locate call fzf#vim#locate(<q-args>, s:w(<bang>0))',
\'command! -bang -nargs=* Ag call fzf#vim#ag(<q-args>, s:w(<bang>0))',
\'command! -bang Tags call fzf#vim#tags(s:w(<bang>0))',
\'command! -bang BTags call fzf#vim#buffer_tags(s:w(<bang>0))',
\'command! -bang Snippets call fzf#vim#snippets(s:w(<bang>0))',
\'command! -bang Commands call fzf#vim#commands(s:w(<bang>0))',
\'command! -bang Marks call fzf#vim#marks(s:w(<bang>0))',
\'command! -bang Helptags call fzf#vim#helptags(s:w(<bang>0))',
\'command! -bang Windows call fzf#vim#windows(s:w(<bang>0))',
\'command! -bang Commits call fzf#vim#commits(s:w(<bang>0))',
\'command! -bang BCommits call fzf#vim#buffer_commits(s:w(<bang>0))'])
function! s:history(arg, bang)
let bang = a:bang || a:arg[len(a:arg)-1] == '!'