From 07ef2b051ccdc6917b9b65d157df3ebc8f3ff0de Mon Sep 17 00:00:00 2001 From: Junegunn Choi Date: Sat, 1 Jul 2017 01:13:15 +0900 Subject: Print [ERROR] on info line when the default command failed With zero result. Related: https://github.com/junegunn/fzf.vim/issues/22#issuecomment-311869805 --- src/reader.go | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) (limited to 'src/reader.go') diff --git a/src/reader.go b/src/reader.go index 7e8e2e01..1572e5de 100644 --- a/src/reader.go +++ b/src/reader.go @@ -17,16 +17,17 @@ type Reader struct { // ReadSource reads data from the default command or from standard input func (r *Reader) ReadSource() { + var success bool if util.IsTty() { cmd := os.Getenv("FZF_DEFAULT_COMMAND") if len(cmd) == 0 { cmd = defaultCommand } - r.readFromCommand(cmd) + success = r.readFromCommand(cmd) } else { - r.readFromStdin() + success = r.readFromStdin() } - r.eventBox.Set(EvtReadFin, nil) + r.eventBox.Set(EvtReadFin, success) } func (r *Reader) feed(src io.Reader) { @@ -50,7 +51,7 @@ func (r *Reader) feed(src io.Reader) { } } if r.pusher(bytea) { - r.eventBox.Set(EvtReadNew, nil) + r.eventBox.Set(EvtReadNew, true) } } if err != nil { @@ -59,20 +60,21 @@ func (r *Reader) feed(src io.Reader) { } } -func (r *Reader) readFromStdin() { +func (r *Reader) readFromStdin() bool { r.feed(os.Stdin) + return true } -func (r *Reader) readFromCommand(cmd string) { +func (r *Reader) readFromCommand(cmd string) bool { listCommand := util.ExecCommand(cmd) out, err := listCommand.StdoutPipe() if err != nil { - return + return false } err = listCommand.Start() if err != nil { - return + return false } - defer listCommand.Wait() r.feed(out) + return listCommand.Wait() == nil } -- cgit v1.2.3