Feature Description
Add text search/find functionality to compose-ui terminal, matching the capabilities of the legacy Swing UI.
Current Status
β NOT IMPLEMENTED - No search functionality exists in ProperTerminal.kt
Legacy UI Capabilities
The legacy ui/ module has:
JediTermSearchComponent - Full search UI component
SubstringFinder - Text search logic with highlighting
TerminalSearchUtil - Search utilities
- Find next/previous navigation
- Regex search support
- Result highlighting with custom colors
Proposed Implementation
1. Search UI Component
- Floating search bar overlay (similar to browser Ctrl+F)
- Text input field for search query
- "Find Next" / "Find Previous" buttons
- "Match Case" toggle
- "Regex" toggle (optional)
- Close button (X)
- Result counter (e.g., "3 of 12")
2. Core Search Logic
Port from legacy code:
SubstringFinder.kt logic from jediterm-core-mpp
- Search through terminal text buffer
- Handle wrapping (search from top when reaching bottom)
- Support both history buffer and screen buffer
3. Visual Highlighting
- Highlight all matches in yellow background
- Current match in orange/different color
- Scroll to current match automatically
- Clear highlights when search closed
4. Keyboard Shortcuts
Ctrl+F / Cmd+F - Open search
Enter / F3 - Find next
Shift+Enter / Shift+F3 - Find previous
Escape - Close search
Priority
π΄ HIGH - This is the #1 most-used terminal feature after copy/paste
Files to Modify
compose-ui/src/desktopMain/kotlin/org/jetbrains/jediterm/compose/demo/ProperTerminal.kt
- Create new:
compose-ui/src/desktopMain/kotlin/org/jetbrains/jediterm/compose/SearchBar.kt
- Create new:
compose-ui/src/desktopMain/kotlin/org/jetbrains/jediterm/compose/SearchManager.kt
References
- Legacy implementation:
ui/src/com/jediterm/terminal/ui/JediTermSearchComponent.java
Feature Description
Add text search/find functionality to compose-ui terminal, matching the capabilities of the legacy Swing UI.
Current Status
β NOT IMPLEMENTED - No search functionality exists in ProperTerminal.kt
Legacy UI Capabilities
The legacy
ui/module has:JediTermSearchComponent- Full search UI componentSubstringFinder- Text search logic with highlightingTerminalSearchUtil- Search utilitiesProposed Implementation
1. Search UI Component
2. Core Search Logic
Port from legacy code:
SubstringFinder.ktlogic from jediterm-core-mpp3. Visual Highlighting
4. Keyboard Shortcuts
Ctrl+F/Cmd+F- Open searchEnter/F3- Find nextShift+Enter/Shift+F3- Find previousEscape- Close searchPriority
π΄ HIGH - This is the #1 most-used terminal feature after copy/paste
Files to Modify
compose-ui/src/desktopMain/kotlin/org/jetbrains/jediterm/compose/demo/ProperTerminal.ktcompose-ui/src/desktopMain/kotlin/org/jetbrains/jediterm/compose/SearchBar.ktcompose-ui/src/desktopMain/kotlin/org/jetbrains/jediterm/compose/SearchManager.ktReferences
ui/src/com/jediterm/terminal/ui/JediTermSearchComponent.java