Modal Modes
This is directly related to: #789 It also could be a potential solution to: #820
The main thing I did was disable the deactivation of menus if you have the modal_menu option set to true, and instead you need to use a ReedlineEvent to force the deactivation of the menus in order to submit your message on the reedline. This works almost in the ide_completions_with_modal.rs example (based on ide_completions, with just additional keybinds and option for modal_menus set) - it still has some visual issues, that I would iron out.
The reason why I'm making this draft PR is because there is an issue I'm not sure how to handle. While I can get this working in the examples, building nushell produces a different behaviour. With just the main branch of reedline, the examples allow you to stay in the completion menus which pressing backspace - however in nushell backspace throws you out of menu completion. Because of this nushell and the reedline examples have different behaviour when it comes to the reedline completion.
Is there a way to get the reedline working the same way in nushell?
I haven't studied all this code but I wonder if it could be because nushell uses NuMenuCompleter which may be different than what reedline uses internally.
https://github.com/nushell/nushell/blob/c63bb81c3e6af38e4b528aac7eb6d491f0132758/crates/nu-cli/src/reedline_config.rs#L521-L536