Skip to content

Render a dimmed ✓ instead of blank space for deselected checkboxes - #171

Merged
shouze merged 1 commit into
mainfrom
feat/mouse-ui-checkbox
Aug 23, 2026
Merged

Render a dimmed ✓ instead of blank space for deselected checkboxes#171
shouze merged 1 commit into
mainfrom
feat/mouse-ui-checkbox

Conversation

@shouze

@shouze shouze commented Aug 23, 2026

Copy link
Copy Markdown
Contributor

What does this PR do?

Improves UI consistency by rendering a dimmed ✓ character instead of a blank space for deselected checkboxes. This provides visual feedback that a checkbox exists (and is clickable) even when not selected.

Changes

  • Render pc.dim("✓") instead of " " for deselected repository checkboxes in three locations:
    • Sticky repo header line (when repo is scrolled out of viewport)
    • Regular repo row lines
    • Extract row lines (when matching extract is deselected)
  • Added unit test verifying the dimmed ✓ character appears with ANSI dim code (\x1b[2m)

How did you verify your code works?

  • All existing tests pass (no regression)
  • New test confirms dimmed checkbox rendering
  • Manual verification: checkboxes render consistently with dimmed appearance

Closes #169

- Replace empty space with pc.dim('✓') at three render sites in src/render.ts:
  repo sticky line, repo row, and extract row
- Maintains column alignment while providing a visible, clickable target
- Improves UI consistency for mouse support (issue #169)
- All tests pass; no formatting or knip issues
@github-actions

Copy link
Copy Markdown

Coverage after merging feat/mouse-ui-checkbox into main will be

96.07%

Coverage Report
FileStmtsBranchesFuncsLinesUncovered Lines
src
   aggregate.ts100%100%100%100%
   api-utils.ts93.20%100%93.75%93.13%101–103, 65, 73, 86–87, 91–92
   api.ts94.74%100%100%94.07%340–344, 405, 422, 63–69
   cache.ts94.67%100%100%94.29%139–141, 39
   completions.ts99.42%100%100%99.37%270
   group.ts99.50%100%97.44%100%
   output.ts99.29%100%95.65%99.61%80
   regex.ts99.39%100%100%99.34%329
   render.ts89.80%100%88.24%89.86%166, 190–195, 197–199, 201–202, 223, 411–412, 436–438, 504–508, 520–521, 526–533, 535–543, 545–546
   upgrade.ts88.38%100%94.44%87.89%128, 131, 133, 153, 167–168, 188–195, 198–204, 209, 214, 250–253
src/render
   filter-match.ts97.44%100%92.31%100%
   filter.ts100%100%100%100%
   highlight.ts96.63%100%90.40%99.31%284–285
   rows.ts97.58%100%100%97.44%168, 54–55
   selection.ts100%100%100%100%
   summary.ts100%100%100%100%
   team-pick.ts100%100%100%100%
   terminal.ts100%100%100%100%

@shouze
shouze marked this pull request as ready for review August 23, 2026 18:24
Copilot AI lite review requested due to automatic review settings August 23, 2026 18:24

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This PR updates the TUI rendering in github-code-search to show a dimmed checkmark (✓) for deselected checkboxes instead of a blank space, making selection affordances more visually consistent across the UI.

Changes:

  • Render pc.dim("✓") for deselected repo checkboxes in the sticky repo header line.
  • Render pc.dim("✓") for deselected repo rows and extract rows.

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

Comment thread src/render.ts
Comment thread src/render.ts
@shouze shouze self-assigned this Aug 23, 2026
@shouze
shouze merged commit 69a4122 into main Aug 23, 2026
6 checks passed
@shouze
shouze deleted the feat/mouse-ui-checkbox branch August 23, 2026 19:19
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.

Enable SGR mouse tracking and parse mouse escape sequences in the TUI input loop

2 participants