Users can only write after the prompt.
Built-in command completion by pressing TAB key, just register your commands.
Pressing Enter key validates the input.
Everything is event-based, so you can interface it easily without changing the code.
Command and arguments are parsed. Arguments can be...
More information