c-bata / go-prompt

Building powerful interactive prompts in Go, inspired by python-prompt-toolkit.
https://godoc.org/github.com/c-bata/go-prompt
MIT License
5.29k stars 348 forks source link

[Feature Request] Allow for TTYs other than STDIN #275

Open upsampled opened 1 year ago

upsampled commented 1 year ago

Feature Request

Right now it appears like go-prompt only works with STDIN. In order to run it on a console port, I currently use SystemD to perform STDIN redirection and a few other hacks (set windows size etc.). I think I could replace systemd with syscall.Dup2 but I don't have time to experiment much more.

StandardInput=tty
StandardOutput=tty
TTYPath=/dev/...

Anyhow if you can confirm that:

  1. there is not nicer way to do this
  2. that adding a parameter TTY *os.File parameter to Options would be a good way for go-prompt to accept an external TTY

then I'll work on a PR