fix(IdeMenu): Don't make description position depend on description width#996
Merged
ysthakur merged 3 commits intonushell:mainfrom Jan 4, 2026
Merged
fix(IdeMenu): Don't make description position depend on description width#996ysthakur merged 3 commits intonushell:mainfrom
ysthakur merged 3 commits intonushell:mainfrom
Conversation
2 tasks
|
Re the warning, yeah, slowing down playback helps quite a bit, something extra that I will advise here is that viewers with photo-sensitivity should still reduce the window size if using a larger screen for the sake of saftey, but I was able to watch comfortably. |
fdncred
approved these changes
Jan 4, 2026
Contributor
fdncred
left a comment
There was a problem hiding this comment.
Nice work Yash! Looks like lots of fiddly bits to get this working. I'm fine with moving forward with this and dogfooding it a for a bit in nushell.
ysthakur
added a commit
to nushell/nushell
that referenced
this pull request
Jan 4, 2026
Change default IdeMenu `min_description_width` from 0 to 15 to prepare for nushell/reedline#996 Also bumps to latest commit on Reedline (which includes the linked Reedline PR) ## Release notes summary - What our users need to know Doesn't need to be mentioned in the release notes ## Tasks after submitting None
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Goes towards fixing #995 (description box can change sides for every suggestion with the IdeMenu, causing seizures for photosensitive users)
This PR makes it so that which side the description box is on is not influenced by the description itself (only applicable when the
description_modeisPreferRight, the default). This means that when scrolling down the list of completions, it will never change sides. The PR also fixes a bug where, if the description menu was on the left, it would sometimes push the completions box to the right, causing more motion.Breaking change
However, a breaking change caused by this is the change in the meaning of
min_description_width. Previously, it was set to 0 by default, and now I'm setting it to 15 (arbitrary choice, open to changing it). Opened nushell/nushell#17280 to update this on the Nushell side. I'm unsure what exactly its purpose was before, but it's now used as the threshold for deciding when to switch the description box to the left.For example, if
min_description_widthis 15, then as long as we have 15 columns available on the right of the completions box, the description box can stay on the right. Once we have 14 or fewer columns available, the description box switches to the left.Settingmin_description_widthto 0 would effectively force the description box to stay on the right.Recordings
Here's a recording of what the default IdeMenu looks like in Nushell (warning: I decreased the playback speed but the recording includes scrolling down the menu, not sure if that can trigger seizures. Recommendation from alicealysia is to decrease window size first if you're photosensitive):
And here it is with

correct_cursor_pos: true: