So I've written a small program which takes in commands by the users, and then displays the output (after connecting to a server). It's an interactive console of sorts.
However, after using the mongodb and redis command-line clients (which work interactively on the console/terminal), it seems that there must be a library somewhere which provides functionalities such as recording user inputs, accepting up/down keypresses to browse through command history, as well as tab completion framework (not sure how that one would work, but yeah).
What's an ideal library to use for such a thing?