Open shueybubbles opened 2 years ago
Liner doesn't draw the cursor, it is up to the Windows Console (or terminal emulator on other platforms) to draw the cursor.
I use a program built with Liner on Windows every day. I don't recall seeing that particular issue in the past few years, but I switched from "Command Prompt" (aka "Windows Console") to "Windows Terminal" as soon as it became available. (You can get Windows Terminal from the Windows Store, and I believe Windows Terminal is the default on Windows 11), and my Windows Terminal configuration uses a block cursor instead of the underline cursor shown in your screenshot.
@peterh I have another report of my app causing the bash window on a Mac to behave oddly after the app exits. The issue they opened is https://github.com/microsoft/go-sqlcmd/issues/87 "but go-sqlcmd still makes bash shell command line behave erratically after exiting sqlcmd."
Might you have a few minutes to look at our use of liner to make sure we're not using it in some obviously incorrect manner? Our wrapper class for it is at https://github.com/microsoft/go-sqlcmd/blob/e3972914801bc3492b49b6fe642a7e931e088be3/pkg/console/console.go#L24
There are probably several other go packages I could replace it with for reading lines but picking from the vast set to land on one that meets all our needs can take a while, so I'm hoping I can get liner to work.
Would forgetting to call Close()
before exiting the process cause any such issues in a shell?
Would forgetting to call Close() before exiting the process cause any such issues in a shell?
Yes. You must call Close()
or the tty will be left in an indeterminate state.
I'm evaluating line input modules to use for my Golang version of sqlcmd (github.com/microsoft/go-sqlcmd) So far
liner
looks like a good candidate except for this display glitch. I can't tell if it's a Windows problem or an issue with the module. When my process exits the ghost cursor images disappear.