Skip to content

Add placeholder text to planning tab message input - #268

Open
jbrinkman wants to merge 1 commit into
mainfrom
spec/issue-231-85528
Open

Add placeholder text to planning tab message input#268
jbrinkman wants to merge 1 commit into
mainfrom
spec/issue-231-85528

Conversation

@jbrinkman

Copy link
Copy Markdown
Owner

Summary

This PR restores placeholder text to the planning tab's message input while preventing the virtual cursor glyph artifact that was fixed in PR #228.

What Changed

  • Textinput Enhancement: Added placeholder text "ask a question or describe a task" to guide users on the planner's purpose
  • Virtual Cursor Fix: Disabled virtual cursor via SetVirtualCursor(false) to prevent the first-character glyph artifact ("T") from bubbles/v2
  • Styling: Applied ANSI color 240 (muted gray) to placeholder text for consistent appearance across themes
  • Test Coverage: Updated integration test to verify placeholder text and disabled virtual cursor functionality

Key Files Modified

  • internal/tui/planning_tab.go - Enhanced textinput initialization with placeholder support
  • internal/tui/integration_test.go - Updated test assertions for new functionality
  • .kiro-krew/specs/issue-231-add-placeholder-text-to-planning-tab.md - Design specification

Technical Details

The solution addresses the root cause identified in commit 3350e44 where the bubbles/v2 textinput's placeholderView() method renders the first placeholder character as a virtual cursor glyph. By disabling virtual cursor mode while adding styled placeholder text, users get helpful input guidance without visual artifacts.

Validation

  • ✅ All QA checks pass (format, sync, lint, test, build)
  • ✅ Integration test verifies placeholder and virtual cursor settings
  • ✅ All 7 acceptance criteria met
  • ✅ Custom prompt rendering continues to work correctly

Closes #231

- Set placeholder to 'ask a question or describe a task' in textinput
- Disable virtual cursor via SetVirtualCursor(false) to prevent glyph artifact
- Style placeholder with ANSI color 240 (muted gray)
- Update integration test to verify placeholder and virtual cursor settings

Closes #231

Signed-off-by: Joseph Brinkman <joe.brinkman@improving.com>
@jbrinkman
jbrinkman requested a lite review from Copilot August 25, 2026 21:01
@coderabbitai

coderabbitai Bot commented Aug 25, 2026

Copy link
Copy Markdown

Warning

Review limit reached

Next included review available in 50 minutes.

View limit details

Limit details: You’ve used the included review currently available.

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: bf0256d4-c5b9-4300-9b92-3ca8df76a51e

📥 Commits

Reviewing files that changed from the base of the PR and between 36be669 and d894ff1.

📒 Files selected for processing (3)
  • .kiro-krew/specs/issue-231-add-placeholder-text-to-planning-tab.md
  • internal/tui/integration_test.go
  • internal/tui/planning_tab.go

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Placeholder styling currently hard-codes ANSI color 240 (bypassing the theme system) and the new design spec includes a non-compiling code snippet reference.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Pull request overview

This PR reintroduces helpful placeholder text in the Planning tab message input while avoiding the bubbles/v2 “first character rendered as a virtual cursor glyph” artifact by disabling virtual cursor mode.

Changes:

  • Added a descriptive placeholder string to the planning message textinput and disabled virtual cursor rendering.
  • Applied placeholder styling via the textinput’s focused/blurred placeholder styles.
  • Updated the TUI integration test and added a design spec document for Issue #231.
File summaries
File Description
internal/tui/planning_tab.go Adds placeholder text/styling and disables virtual cursor for the planning message input.
internal/tui/integration_test.go Updates integration assertions for placeholder presence and virtual cursor disabled.
.kiro-krew/specs/issue-231-add-placeholder-text-to-planning-tab.md Documents the rationale/approach and test expectations for placeholder restoration.
Review details
  • Files reviewed: 3/3 changed files
  • Comments generated: 2
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment on lines +180 to +183
// Style placeholder with universally readable muted gray
placeholderStyle := lipgloss.NewStyle().Foreground(lipgloss.Color("240")) // ANSI gray
currentStyles.Focused.Placeholder = placeholderStyle
currentStyles.Blurred.Placeholder = placeholderStyle
Comment on lines +118 to +121
// Style placeholder with muted color from theme (same for focused and blurred states)
placeholderStyle := lipgloss.NewStyle().Foreground(lipgloss.Color(styles.styles.TextMuted))
currentStyles.Focused.Placeholder = placeholderStyle
currentStyles.Blurred.Placeholder = placeholderStyle
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.

Add placeholder text to planning tab message input

2 participants