This patch implements :prompt completion.
The completion mechanism only provides completions when there is at least
one argument specified (prompt text).
The mechanism is based on other commands' completions and works as follows:
1. Attempts to look up a command by the name specified in args[1].
2.a On success it uses command.Complete.
2.b Otherwise, if total arguments count is lesser or equals than 2
(i.e. no command arguments specified), it attempts to complete
the command's name.
Additional effort is made to preserve prompt text, which often contains
spaces and formatting.
Signed-off-by: Sergey Smirnykh <sergey.smirnykh@siborgium.xyz>
Acked-by: Robin Jarry <robin@jarry.cc>