Interactive shell mode with command completion for command-line applications
This library adds an interactive read-eval-print loop to an existing command-
line application. It wraps the top-level command collection so that, when the
program is launched without arguments, a persistent prompt is presented and
commands can be entered repeatedly. Tab-completion is available for registered
commands, and the prompt text and an optional introductory message can be
configured. When a command is invoked directly on the command line with
arguments, behaviour matches the original non-interactive application. The
shell reads from the terminal, writes to the console, and uses line-editing
features provided by the host system to offer history and completion.