To avoid cluttering the screen and history with command lines
that don't work because of stupid errors like "command not found",
you can bind enter to ValidateAndAcceptLine.
I didn't feel like properly solving how to handle nested edit groups when
forgetting edits after an undo, but I forget that MenuComplete was
actually using nested edit groups.
MenuComplete doesn't really need nested edit groups, it was just convenient.
I switched to just remembering the edits to remove and saving a single edit
group for the final selection or removing them all if cancelled.
There was a bug in undo code where if you undid some stuff, made an edit,
then started a grouped edit, the undo state was incorrect. A simple
repro was something like (in Windows mode)
a b c d Ctrl+z Ctrl+z Ctrl+z Shift+LeftArrow Ctrl+x
If completion is ambiguous, we will support interactively selecting
the completion using tabs and/or arrow keys after displaying the
possible completions.
This menu style completion can be cancelled with Ctrl+G or Escape.
Menu completion should be optional as not everybody will like it,
I will add an option and/or a function that makes this something
folks can customize.
Also fixed:
* Tooltips that contain newlines now look much better
* Undo groups handled a little better (maybe a non-issue before
menu completion.)