github / github/copilot-cli

/diff viewer shows only leaf filename in tab bar — ambiguous for lib.rs, mod.rs, etc.

Offen
#2,910 0 Kommentare 1 Reaktion 0 zugewiesene Personen Auf GitHub ansehen
area:terminal-rendering
Vorherrschende Sprache
Shell
Sterne
11.2k
Forks
1.9k
Ø Merge
14 Std. 16 Min.
Gemergte PRs (30 T.)
6

Beschreibung

### Describe the feature or problem you'd like to solve

The `/diff` viewer's file navigator tab bar shows only the leaf filename (`lib.rs`, `mod.rs`) instead of the full or distinguishing path. In Rust projects (and other ecosystems with convention-based filenames), dozens of files share the same leaf name, making it impossible to tell which file is which.

### Proposed solution

Show the full relative path — or at minimum a disambiguated path suffix — in the `/diff` file navigator tab bar.

Currently the tab label is the *only* file identifier, with no tooltip or secondary path display. If two changed files share a basename (e.g., `crates/driver/src/lib.rs` and `crates/runtime/src/lib.rs`), both tabs show `lib.rs` with no way to distinguish them.

**Suggested approach:** Show the full relative path in the tab label, or use VS Code-style automatic path disambiguation — when two tabs share a filename, append enough parent directory segments to distinguish them (e.g., `driver/src/lib.rs` vs `runtime/src/lib.rs`).

### Example prompts or workflows

1. Open a Rust workspace with multiple crates, make changes in two different `lib.rs` files, run `/diff` — both tabs show `lib.rs`, no way to know which is which.
2. Same problem with `mod.rs`, `main.rs`, `build.rs` across crates in a workspace.

### Additional context

This is especially painful in Rust where `lib.rs`, `mod.rs`, `main.rs`, and `build.rs` are convention-based names repeated across every crate in a workspace. Go (`main.go`), Python (`__init__.py`), and Java (`Application.java`) have similar patterns.

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginnen Sie bei der Tab-Leiste des Dateinavigators von /diff und reproduzieren Sie das Problem mit geänderten Dateien, die denselben Basisnamen haben, etwa crates/driver/src/lib.rs und crates/runtime/src/lib.rs. Ermitteln Sie den bestehenden Einstiegspunkt für Tab-Bezeichnungen und sorgen Sie dafür, dass die Bezeichnungen diese Dateien durch Anzeige ihrer vollständigen oder ausreichend eindeutigen relativen Pfade unterscheiden; als erledigt gilt die Aufgabe, wenn doppelte Basisnamen eindeutig sind.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
shell
Bereich
cli
Issue-Typ
Feature
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Ruhig
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
58/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.