Apols if I'm making a mistake here and this is not a bug - I would like to be able to access ishell through another terminal instance on Linux with go 1.12.5. So first, I set up a listener (leaving out error handling and defer here to keep the code short):
listener, err := net.Listen("tcp", host)
conn, err := listener.Accept()
where host is "localhost:8000" for testing. Next, I've imported "github.com/abiosoft/readline" to be able to run the shell with the listener's connection parameters in the configuration for NewWithConfig:
termCfg := &readline.Config{
Stdin: io.ReadCloser(conn),
Stdout: io.Writer(conn),
StdinWriter: io.Writer(conn),
Stderr: io.Writer(conn),
}
Then I start the shell in a second terminal window through the listener:
shell := ishell.NewWithConfig(termCfg)
shell.Run()
This works fine when I open another shell and connect with nc localhost 8000 - except for the fact that after I type in a command such as help, the input line is not only echoed character for character as expected, but then printed again, giving me stuff like
> help
> help
Commands:
clear clear the screen
exit exit the program
help display help
I'm wondering if StdinWriter is the problem here, but changing that doesn't seem to help. I can't find an example for NewWithConfig in the docs. Is this a bug or am I missing something obvious? Thanks!
Apols if I'm making a mistake here and this is not a bug - I would like to be able to access ishell through another terminal instance on Linux with go 1.12.5. So first, I set up a listener (leaving out error handling and
deferhere to keep the code short):where host is "localhost:8000" for testing. Next, I've imported
"github.com/abiosoft/readline"to be able to run the shell with the listener's connection parameters in the configuration for NewWithConfig:Then I start the shell in a second terminal window through the listener:
This works fine when I open another shell and connect with
nc localhost 8000- except for the fact that after I type in a command such ashelp, the input line is not only echoed character for character as expected, but then printed again, giving me stuff likeI'm wondering if StdinWriter is the problem here, but changing that doesn't seem to help. I can't find an example for
NewWithConfigin the docs. Is this a bug or am I missing something obvious? Thanks!