I'm working on a command line tool using Node and I'd like to prevent it from exiting when using the readline
module when the user inputs the "Return" key or something that indicates a new line. I saw that readline has an event handler for line
but can't figure out how to prevent it from exiting. Meaning I'd like to allow for the user to be able to use the return and it adds a carriage return to the input for readline instead of exiting it.
I'd like to exit readline only when the user uses control-C
or control-D
.
Top comments (4)
It sounds like you want something like this?
Si! Thanks so much for helping with your answer! I was able to solve my problem based on your solution. Is
SIGINT
what is triggered by default when a new line event occurs? So handling theSIGINT
event did the trick?No worries mate - glad it was helpful. I've never actually used
readline
, so it was a good opportunity to give it a spin 😁.SIGINT
is the interrupt signal. The terminal sends it to the foreground process when the user pressesctrl-c
. We handle this signal so we can gracefully shut downrl
(rl.pause()
).line
is the event that is triggered when a new line occurs. I would assume that the default behaviour of a new line is to callrl.pause()
but we're capturing the event instead and doing our own thing.👍