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
SIGINTwhat is triggered by default when a new line event occurs? So handling theSIGINTevent 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 π.SIGINTis 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()).lineis 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.π