summaryrefslogtreecommitdiff
path: root/plugin
diff options
context:
space:
mode:
authorJunegunn Choi <junegunn.c@gmail.com>2015-03-29 11:14:16 +0900
committerJunegunn Choi <junegunn.c@gmail.com>2015-03-29 11:14:16 +0900
commit8a4db3c0041c35ca195468c779d42829d7dabe59 (patch)
tree8f3549f58b8fcd8d5c85b7c007d857970eb54ea1 /plugin
parentcef93f700bb4be4c5c33a8ceca3bf0f5ccf31620 (diff)
downloadfzf-8a4db3c0041c35ca195468c779d42829d7dabe59.tar.gz
[vim] Fix #167 - :FZF with directory
Diffstat (limited to 'plugin')
-rw-r--r--plugin/fzf.vim13
1 files changed, 9 insertions, 4 deletions
diff --git a/plugin/fzf.vim b/plugin/fzf.vim
index 9c8ae624..94df15f6 100644
--- a/plugin/fzf.vim
+++ b/plugin/fzf.vim
@@ -241,7 +241,7 @@ endfunction
function! s:cmd(bang, ...) abort
let args = copy(a:000)
if !s:legacy
- let args = add(args, '--expect=ctrl-t,ctrl-x,ctrl-v')
+ let args = insert(args, '--expect=ctrl-t,ctrl-x,ctrl-v', 0)
endif
let opts = {}
if len(args) > 0 && isdirectory(expand(args[-1]))
@@ -264,9 +264,14 @@ function! s:cmd(bang, ...) abort
elseif key == 'ctrl-v' | let cmd = 'vsplit'
else | let cmd = 'e'
endif
- for item in output
- execute cmd s:escape(item)
- endfor
+ try
+ call s:pushd(opts)
+ for item in output
+ execute cmd s:escape(item)
+ endfor
+ finally
+ call s:popd(opts)
+ endtry
endif
endfunction