nushell / nushell/nushell

Completion menu visually broken with candidates longer than terminal width

Open
#13,141 1 comment 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

A:completions A:line-editor status:needs-triage
Dominant language
Rust
Stars
40.5k
Forks
2.3k
Avg merge
1d 19h
Merged PRs (30d)
85

Description

Describe the bug

When listing candidates longer than terminal width (only checked with filename completion), initially selected completion isnt even visible and all candidates get padded to the width of the longest, resulting in empty lines.

How to reproduce

Create bunch of long filenames. Complete the filename.

Expected behavior

Account for wrapping or truncate long filenames.

Screenshots

This is after pressign tab and as you can see it visually skips over first 10 candidates completely
image
and short candidates are padded
image

Configuration
key value
version 0.94.2
major 0
minor 94
patch 2
branch makepkg
commit_hash be8c1dc0066cd1034a6b110a622f47b516bfe029
build_os linux-x86_64
build_target x86_64-unknown-linux-gnu
rust_version rustc 1.78.0 (9b00956e5 2024-04-29) (Arch Linux rust 1:1.78.0-1)
cargo_version cargo 1.78.0
build_time 2024-06-04 09:13:10 +00:00
build_rust_channel release
allocator mimalloc
features default, sqlite, system-clipboard, trash, which
installed_plugins
Additional context

No response

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing filename completion with candidates longer than the terminal width, then trace the completion-menu rendering entry point. Done means the selected candidates remain visible and long names wrap or truncate without producing empty padded lines.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
cli
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.