Skip to content

Modal Modes#859

Closed
CabalCrow wants to merge 6 commits into
nushell:mainfrom
CabalCrow:modal
Closed

Modal Modes#859
CabalCrow wants to merge 6 commits into
nushell:mainfrom
CabalCrow:modal

Conversation

@CabalCrow

Copy link
Copy Markdown

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?

@fdncred

fdncred commented Dec 3, 2024

Copy link
Copy Markdown
Contributor

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

@kronberger-droid

Copy link
Copy Markdown
Collaborator

This overlaps with #821 and #608 and hasn't moved for long.
I would close this to tidy up a little, feel free to open another one if you want to pick up work with current main as base.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants