Revert "only echo when the output pauses in shell-pipe"
This reverts commit dd6a85f480
.
This commit is contained in:
parent
245db502cc
commit
92e994ebf6
45
app.go
45
app.go
@ -136,12 +136,6 @@ func (app *app) loop() {
|
|||||||
clientChan := app.ui.readExpr()
|
clientChan := app.ui.readExpr()
|
||||||
serverChan := readExpr()
|
serverChan := readExpr()
|
||||||
|
|
||||||
for _, path := range gConfigPaths {
|
|
||||||
if _, err := os.Stat(path); !os.IsNotExist(err) {
|
|
||||||
app.readFile(path)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if gCommand != "" {
|
if gCommand != "" {
|
||||||
p := newParser(strings.NewReader(gCommand))
|
p := newParser(strings.NewReader(gCommand))
|
||||||
|
|
||||||
@ -346,41 +340,22 @@ func (app *app) runShell(s string, args []string, prefix string) {
|
|||||||
|
|
||||||
switch prefix {
|
switch prefix {
|
||||||
case "%":
|
case "%":
|
||||||
app.cmd = cmd
|
|
||||||
app.cmdOutBuf = nil
|
|
||||||
app.ui.msg = ""
|
|
||||||
app.ui.cmdPrefix = ">"
|
|
||||||
|
|
||||||
reader := bufio.NewReader(out)
|
|
||||||
bytes := make(chan byte, 1000)
|
|
||||||
|
|
||||||
go func() {
|
go func() {
|
||||||
|
app.cmd = cmd
|
||||||
|
app.cmdOutBuf = nil
|
||||||
|
app.ui.msg = ""
|
||||||
|
app.ui.cmdPrefix = ">"
|
||||||
|
|
||||||
|
reader := bufio.NewReader(out)
|
||||||
for {
|
for {
|
||||||
b, err := reader.ReadByte()
|
b, err := reader.ReadByte()
|
||||||
if err == io.EOF {
|
if err == io.EOF {
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
bytes <- b
|
app.cmdOutBuf = append(app.cmdOutBuf, b)
|
||||||
}
|
app.ui.exprChan <- &callExpr{"echo", []string{string(app.cmdOutBuf)}, 1}
|
||||||
close(bytes)
|
if b == '\n' || b == '\r' {
|
||||||
}()
|
app.cmdOutBuf = nil
|
||||||
|
|
||||||
go func() {
|
|
||||||
loop:
|
|
||||||
for {
|
|
||||||
select {
|
|
||||||
case b, ok := <-bytes:
|
|
||||||
switch {
|
|
||||||
case !ok:
|
|
||||||
break loop
|
|
||||||
case b == '\n' || b == '\r':
|
|
||||||
app.ui.exprChan <- &callExpr{"echo", []string{string(app.cmdOutBuf)}, 1}
|
|
||||||
app.cmdOutBuf = nil
|
|
||||||
default:
|
|
||||||
app.cmdOutBuf = append(app.cmdOutBuf, b)
|
|
||||||
}
|
|
||||||
default:
|
|
||||||
app.ui.exprChan <- &callExpr{"echo", []string{string(app.cmdOutBuf)}, 1}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -33,6 +33,12 @@ func run() {
|
|||||||
|
|
||||||
app := newApp()
|
app := newApp()
|
||||||
|
|
||||||
|
for _, path := range gConfigPaths {
|
||||||
|
if _, err := os.Stat(path); !os.IsNotExist(err) {
|
||||||
|
app.readFile(path)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if err := app.nav.readMarks(); err != nil {
|
if err := app.nav.readMarks(); err != nil {
|
||||||
app.ui.printf("reading marks file: %s", err)
|
app.ui.printf("reading marks file: %s", err)
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user