diff options
| author | Junegunn Choi <junegunn.c@gmail.com> | 2017-07-01 01:13:15 +0900 |
|---|---|---|
| committer | Junegunn Choi <junegunn.c@gmail.com> | 2017-07-01 01:13:15 +0900 |
| commit | 07ef2b051ccdc6917b9b65d157df3ebc8f3ff0de (patch) | |
| tree | f33e2d3cba9e96d18e6d45bada5580a5fd0be0a2 /src/reader.go | |
| parent | 3fc795340d7787d1c64bfe755965d86370ca687b (diff) | |
| download | fzf-07ef2b051ccdc6917b9b65d157df3ebc8f3ff0de.tar.gz | |
Print [ERROR] on info line when the default command failed
With zero result.
Related: https://github.com/junegunn/fzf.vim/issues/22#issuecomment-311869805
Diffstat (limited to 'src/reader.go')
| -rw-r--r-- | src/reader.go | 20 |
1 files changed, 11 insertions, 9 deletions
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 } |
