Skip to content

feat: add search/filter to Projects tab in TUI#39

Merged
ourines merged 1 commit intomainfrom
feat/issue-35-tui-search
Feb 18, 2026
Merged

feat: add search/filter to Projects tab in TUI#39
ourines merged 1 commit intomainfrom
feat/issue-35-tui-search

Conversation

@ourines
Copy link
Owner

@ourines ourines commented Feb 18, 2026

Summary

  • Adds / key to enter search mode in the Projects tab
  • Filters project list by name in real-time (case-insensitive substring match)
  • Shows a live search input in the status bar with cursor indicator
  • Disables the list's built-in filter and replaces it with a custom implementation

Key Bindings

Key Action
/ Enter search mode
type Append to query, filter list live
Backspace Delete last character
Ctrl+U Clear entire query
Enter Confirm filter, exit search mode
Esc Clear filter, restore full list
Tab Clear filter, switch to next tab

Test plan

  • Open TUI (codes), navigate to Projects tab
  • Press / — status bar shows / █ cursor
  • Type a partial project name — list filters in real time
  • Press Backspace — last character removed, list updates
  • Press Esc — full list restored, search bar disappears
  • Press /, type query, press Enter — exits search mode, filter remains
  • Press / while right panel is focused — should not activate search
  • Press Tab during search — clears search and switches tab

Closes #35

Summary by CodeRabbit

  • New Features
    • Added search functionality to the Projects tab—press "/" to activate search
    • Live filtering of projects as you type your search query
    • Search can be dismissed by pressing Enter or Escape

Implements issue #35 - press '/' in the Projects tab to enter search
mode. Type to filter projects by name (case-insensitive substring
match). Backspace removes last character, Ctrl+U clears the query,
Enter confirms and exits search mode keeping the filter, Esc clears
and restores the full list.

- Add searchActive/searchQuery fields to Model struct
- Disable list built-in filter; implement custom search handler
- Show live search input in status bar with cursor indicator
- Show context-specific help when search mode is active
@coderabbitai
Copy link

coderabbitai bot commented Feb 18, 2026

Caution

Review failed

The pull request is closed.

📝 Walkthrough

Walkthrough

The PR introduces a search feature for the Projects tab in the TUI, allowing users to press "/" to activate search mode and filter projects by name in real-time. New state flags manage the search lifecycle, and helper methods handle incremental filtering and input processing.

Changes

Cohort / File(s) Summary
Projects Tab Search Feature
internal/tui/model.go
Adds searchActive and searchQuery state flags, wires "/" key to activate/deactivate search mode on Projects/Left focus, implements updateProjectSearch and applyProjectSearch helper methods for live filtering, integrates search rendering and lifecycle into Update and View methods, and handles backspace, clear, and quit actions during search.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Poem

🐰 With "/" we search through the project warren deep,
Filtering fast as the letters we keep,
No hopping around for the names that we seek,
Live search brings clarity, efficient and sleek!

✨ Finishing Touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feat/issue-35-tui-search

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 and usage tips.

@ourines ourines merged commit ec70b5c into main Feb 18, 2026
2 of 3 checks passed
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.

feat: session search and filter in TUI

1 participant

Comments