mirror of
https://github.com/Llewellynvdm/fzf.git
synced 2024-11-21 20:35:11 +00:00
[vim] Native --tmux fix for Neovim
This commit is contained in:
parent
32eb32ee5e
commit
782de139c8
@ -592,7 +592,7 @@ function! s:fzf_tmux(dict)
|
||||
end
|
||||
|
||||
" Using native --tmux option
|
||||
let in = (has_key(a:dict, 'source') ? '' : ' < /dev/tty')
|
||||
let in = (has_key(a:dict, 'source') ? '' : ' --force-tty-in')
|
||||
return printf('%s --tmux %s%s', fzf#shellescape(fzf#exec()), size, in)
|
||||
endfunction
|
||||
|
||||
|
@ -396,6 +396,7 @@ type Options struct {
|
||||
Output chan string
|
||||
NoWinpty bool
|
||||
Tmux *tmuxOptions
|
||||
ForceTtyIn bool
|
||||
ProxyScript string
|
||||
Bash bool
|
||||
Zsh bool
|
||||
@ -1949,6 +1950,12 @@ func parseOptions(opts *Options, allArgs []string) error {
|
||||
}
|
||||
case "--no-tmux":
|
||||
opts.Tmux = nil
|
||||
case "--force-tty-in":
|
||||
// NOTE: We need this because `system('fzf --tmux < /dev/tty')` doesn't
|
||||
// work on Neovim. Same as '-' option of fzf-tmux.
|
||||
opts.ForceTtyIn = true
|
||||
case "--no-force-tty-in":
|
||||
opts.ForceTtyIn = false
|
||||
case "--proxy-script":
|
||||
if opts.ProxyScript, err = nextString(allArgs, &i, ""); err != nil {
|
||||
return err
|
||||
|
@ -59,8 +59,8 @@ func runProxy(commandPrefix string, cmdBuilder func(temp string) *exec.Cmd, opts
|
||||
}()
|
||||
|
||||
var command string
|
||||
commandPrefix += ` --proxy-script "$0"`
|
||||
if opts.Input == nil && util.IsTty(os.Stdin) {
|
||||
commandPrefix += ` --no-force-tty-in --proxy-script "$0"`
|
||||
if opts.Input == nil && (opts.ForceTtyIn || util.IsTty(os.Stdin)) {
|
||||
command = fmt.Sprintf(`%s > %q`, commandPrefix, output)
|
||||
} else {
|
||||
input, err := fifo("proxy-input")
|
||||
|
Loading…
Reference in New Issue
Block a user