mirror of
https://github.com/junegunn/fzf.git
synced 2025-08-01 04:32:05 -07:00
Compare commits
3 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
68503d32df | ||
|
57319f8c58 | ||
|
dd4d465305 |
@@ -60,10 +60,10 @@ curl -L https://github.com/junegunn/fzf/archive/master.tar.gz |
|
||||
On OS X, you can use [Homebrew](http://brew.sh/) to install fzf.
|
||||
|
||||
```sh
|
||||
brew install fzf
|
||||
brew reinstall --HEAD fzf
|
||||
|
||||
# Install shell extensions - this should be done whenever fzf is updated
|
||||
$(brew info fzf | grep /install)
|
||||
# Install shell extensions
|
||||
/usr/local/Cellar/fzf/HEAD/install
|
||||
```
|
||||
|
||||
#### Install as Vim plugin
|
||||
|
@@ -125,11 +125,15 @@ function! fzf#run(...) abort
|
||||
let split = s:tmux_enabled() && s:tmux_splittable(dict)
|
||||
let command = prefix.(split ? s:fzf_tmux(dict) : fzf_exec).' '.optstr.' > '.temps.result
|
||||
|
||||
if split
|
||||
return s:execute_tmux(dict, command, temps)
|
||||
else
|
||||
return s:execute(dict, command, temps)
|
||||
endif
|
||||
try
|
||||
if split
|
||||
return s:execute_tmux(dict, command, temps)
|
||||
else
|
||||
return s:execute(dict, command, temps)
|
||||
endif
|
||||
finally
|
||||
call s:popd(dict)
|
||||
endtry
|
||||
endfunction
|
||||
|
||||
function! s:present(dict, ...)
|
||||
@@ -160,6 +164,7 @@ function! s:pushd(dict)
|
||||
if s:present(a:dict, 'dir')
|
||||
let a:dict.prev_dir = getcwd()
|
||||
execute 'chdir '.s:escape(a:dict.dir)
|
||||
let a:dict.dir = getcwd()
|
||||
return 1
|
||||
endif
|
||||
return 0
|
||||
@@ -194,14 +199,6 @@ function! s:execute(dict, command, temps)
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! s:env_var(name)
|
||||
if exists('$'.a:name)
|
||||
return a:name . "='". substitute(expand('$'.a:name), "'", "'\\\\''", 'g') . "' "
|
||||
else
|
||||
return ''
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! s:execute_tmux(dict, command, temps)
|
||||
let command = a:command
|
||||
if s:pushd(a:dict)
|
||||
@@ -233,8 +230,6 @@ function! s:callback(dict, temps)
|
||||
silent! call delete(tf)
|
||||
endfor
|
||||
|
||||
call s:popd(a:dict)
|
||||
|
||||
return lines
|
||||
endfunction
|
||||
|
||||
|
@@ -3,11 +3,14 @@ Execute (Setup):
|
||||
Log 'Test directory: ' . g:dir
|
||||
|
||||
Execute (fzf#run with dir option):
|
||||
let cwd = getcwd()
|
||||
let result = fzf#run({ 'options': '--filter=vdr', 'dir': g:dir })
|
||||
AssertEqual ['fzf.vader'], result
|
||||
AssertEqual getcwd(), cwd
|
||||
|
||||
let result = sort(fzf#run({ 'options': '--filter e', 'dir': g:dir }))
|
||||
AssertEqual ['fzf.vader', 'test_go.rb', 'test_ruby.rb'], result
|
||||
AssertEqual ['fzf.vader', 'test_go.rb'], result
|
||||
AssertEqual getcwd(), cwd
|
||||
|
||||
Execute (fzf#run with Funcref command):
|
||||
let g:ret = []
|
||||
@@ -15,8 +18,8 @@ Execute (fzf#run with Funcref command):
|
||||
call add(g:ret, a:e)
|
||||
endfunction
|
||||
let result = sort(fzf#run({ 'sink': function('g:FzfTest'), 'options': '--filter e', 'dir': g:dir }))
|
||||
AssertEqual ['fzf.vader', 'test_go.rb', 'test_ruby.rb'], result
|
||||
AssertEqual ['fzf.vader', 'test_go.rb', 'test_ruby.rb'], sort(g:ret)
|
||||
AssertEqual ['fzf.vader', 'test_go.rb'], result
|
||||
AssertEqual ['fzf.vader', 'test_go.rb'], sort(g:ret)
|
||||
|
||||
Execute (fzf#run with string source):
|
||||
let result = sort(fzf#run({ 'source': 'echo hi', 'options': '-f i' }))
|
||||
|
Reference in New Issue
Block a user