/diff viewer shows only leaf filename in tab bar — ambiguous for lib.rs, mod.rs, etc.
- 主要言語
- Shell
- スター
- 11.2k
- フォーク
- 1.9k
- 平均マージ
- 14時間 16分
- マージ済み PR(30日)
- 6
説明
### 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.
コントリビューションガイド
調査の方向性
Start at the /diff file navigator tab bar and reproduce the issue with changed files that share a basename, such as crates/driver/src/lib.rs and crates/runtime/src/lib.rs. Determine the existing tab-label entry point and make the labels distinguish those files by showing their full or sufficient relative paths; done means duplicate basenames are unambiguous.
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- shell
- 領域
- cli
- issue の種類
- 機能追加
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 活発さ
- 静か
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 58/100