Skip to content

🎨 Palette: Add placeholders to empty input fields - #187

Closed
google-labs-jules[bot] wants to merge 1 commit into
mainfrom
palette/add-input-placeholders-2368805791664604683
Closed

google-labs-jules[bot] wants to merge 1 commit into
mainfrom
palette/add-input-placeholders-2368805791664604683

Conversation

@google-labs-jules

Copy link
Copy Markdown
Contributor

🎨 Palette: Add placeholders to empty input fields

💡 What

Added distinct placeholder text to the empty search input fields in the Finder (Ctrl+p) and Grep (Ctrl+f) TUI components. The text is styled with Color::DarkGray to indicate it is a placeholder.

🎯 Why

Empty input fields in the TUI environment can be confusing because they only render a lone cursor or blank space. The placeholders explicitly tell the user what the input field is for ("type to filter" for Finder, "search workspace" for Grep), improving overall discoverability and usability.

♿ Accessibility

The placeholders improve cognitive accessibility by explicitly labeling the purpose of the input fields dynamically. The color contrast uses standard Color::DarkGray to distinguish it from actual input.

Screenshots (Before/After equivalent context)

Before:
> █

After:
> █type to filter (in Finder)
> █search workspace (in Grep)


PR created automatically by Jules for task 2368805791664604683 started by @Matuyuhi

…lds.

Previously, empty inputs in the Finder and workspace search lacked visual guidance, appearing only as a lone cursor. To improve discoverability, I added descriptive, dark-gray placeholder text ("type to filter" and "search workspace" respectively) that appears when the search query is empty.

Additionally, for the Finder, I updated the manual padding calculation that keeps the match count right-aligned so it now correctly accounts for the width of the new placeholder text. Let me know if you need any further adjustments!
@google-labs-jules

Copy link
Copy Markdown
Contributor Author

👋 Jules, reporting for duty! I'm here to lend a hand with this pull request.

When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down.

I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job!

For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with @jules. You can find this option in the Pull Request section of your global Jules UI settings. You can always switch back!

New to Jules? Learn more at jules.google/docs.


For security, I will only act on instructions from the user who triggered this task.

@github-actions

Copy link
Copy Markdown
Contributor

速度チェック

1 打鍵 (キー入力 → 再描画 1 回) あたりの所要時間。小さいほど速い。

ケース ops base head 差分
open 1 8.588 ms 8.169 ms -4.9%
type 200 0.238 ms 0.236 ms -0.8%
scroll-down 300 0.304 ms 0.300 ms -1.2%
scroll-up 300 0.304 ms 0.304 ms -0.1%
search-type 9 1.137 ms 1.135 ms -0.2%
search-scroll 300 0.329 ms 0.329 ms +0.0%
type-tracked 200 0.265 ms 0.264 ms -0.2%
git-scroll 300 0.285 ms 0.285 ms -0.1%
git-scroll-side-wrap 300 0.314 ms 0.314 ms -0.3%

同じ runner で連続して測った 2 点の比です。実測で数 % はぶれるので、それを超えた行だけ見てください。この結果で PR は落としません。

Copy link
Copy Markdown
Owner

Closing this PR for now instead of merging it. The idea (placeholders in the Finder and Grep inputs) is reasonable, but it isn't mergeable as it stands:

  1. CI is red. check (ubuntu-24.04) failed on head 66bf2ca. The run's last log lines show only the "no UI diff; skip" step, so I couldn't see the failing step itself. I suspect the screenshot tests: the Finder and Grep views changed, but no docs/preview/*.svg were regenerated with cargo preview --update-snapshots, which CLAUDE.md requires for UI changes.
  2. UI strings bypass lang/. "type to filter" and "search workspace" are hardcoded English. Per docs/design/ui-text.md, UI text goes through the lang/ translation table.
  3. The cursor sits before the placeholder (> █type to filter), so the placeholder looks like typed input. Putting the placeholder after the cursor on its own would read better, but only once the padding is handled correctly.
  4. Unrelated change in .Jules/palette.md. It replaces a $(date …) heading and adds notes that have nothing to do with the code change.

A resubmission should add the strings to lang/, refresh the snapshots, and get cargo build, cargo clippy and cargo fmt --check clean. I did not add the mergeable label.


Generated by Claude Code

@Matuyuhi Matuyuhi closed this Oct 14, 2026
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.

1 participant