From 47fb2c3eb6e6072035e42379a7f0aa829e1d1592 Mon Sep 17 00:00:00 2001 From: Junegunn Choi Date: Sat, 12 Sep 2015 02:52:43 +0900 Subject: [PATCH] Make fzf#vim#complete#path take command as the first argument inoremap fzf#vim#complete#path('git ls-files $(git rev-parse --show-toplevel)') --- autoload/fzf/vim/complete.vim | 16 ++-------------- plugin/fzf.vim | 6 +++--- 2 files changed, 5 insertions(+), 17 deletions(-) diff --git a/autoload/fzf/vim/complete.vim b/autoload/fzf/vim/complete.vim index 2606446..2d9afc7 100644 --- a/autoload/fzf/vim/complete.vim +++ b/autoload/fzf/vim/complete.vim @@ -102,24 +102,12 @@ function! s:fname_prefix(str) return prefix endfunction -function! s:complete_file(command, extra_opts) +function! fzf#vim#complete#path(command, ...) let s:file_cmd = a:command return fzf#vim#complete(extend({ \ 'prefix': function('s:fname_prefix'), \ 'source': function('s:file_source'), - \ 'options': function('s:file_options')}, get(a:extra_opts, 0, g:fzf#vim#default_layout))) -endfunction - -function! fzf#vim#complete#path(...) - return s:complete_file("find . -path '*/\.*' -prune -o -print \| sed '1d;s:^..::'", a:000) -endfunction - -function! fzf#vim#complete#file(...) - return s:complete_file("find . -path '*/\.*' -prune -o -type f -print -o -type l -print \| sed '1d;s:^..::'", a:000) -endfunction - -function! fzf#vim#complete#file_ag(...) - return s:complete_file("ag -l -g ''", a:000) + \ 'options': function('s:file_options')}, get(a:000, 0, g:fzf#vim#default_layout))) endfunction " ---------------------------------------------------------------------------- diff --git a/plugin/fzf.vim b/plugin/fzf.vim index c32ed9f..da1aead 100644 --- a/plugin/fzf.vim +++ b/plugin/fzf.vim @@ -63,9 +63,9 @@ function! fzf#complete(...) endfunction inoremap (fzf-complete-word) fzf#vim#complete#word() -inoremap (fzf-complete-path) fzf#vim#complete#path() -inoremap (fzf-complete-file) fzf#vim#complete#file() -inoremap (fzf-complete-file-ag) fzf#vim#complete#file_ag() +inoremap (fzf-complete-path) fzf#vim#complete#path("find . -path '*/\.*' -prune -o -print \| sed '1d;s:^..::'") +inoremap (fzf-complete-file) fzf#vim#complete#path("find . -path '*/\.*' -prune -o -type f -print -o -type l -print \| sed '1d;s:^..::'") +inoremap (fzf-complete-file-ag) fzf#vim#complete#path("ag -l -g ''") inoremap (fzf-complete-line) fzf#vim#complete#line() inoremap (fzf-complete-buffer-line) fzf#vim#complete#buffer_line()