Linenoise
A small self-contained alternative to readline and libedit
Linenoise is an ultra-lightweight, self-contained C library that implements line editing (single and multi-line) for terminal applications, intended as a simpler alternative to the much larger GNU Readline or libedit libraries. The library is zero-config, meaning you just include the source file(s) and use it, without heavy dependencies or external configuration. It supports basic editing features: moving the cursor, inserting characters, handling history, tab-completion, and hints, plus a multiplexing mode where the prompt can be hidden/restored when asynchronous output appears. ...