Skip to content

allow filtering / as you type#14

Merged
l5yth merged 4 commits intomainfrom
l5y-interactive-filter
Mar 7, 2026
Merged

allow filtering / as you type#14
l5yth merged 4 commits intomainfrom
l5y-interactive-filter

Conversation

@l5yth
Copy link
Owner

@l5yth l5yth commented Mar 7, 2026

No description provided.

@chatgpt-codex-connector
Copy link

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@codecov
Copy link

codecov bot commented Mar 7, 2026

Codecov Report

❌ Patch coverage is 99.32318% with 4 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
src/runtime.rs 99.03% 4 Missing ⚠️

📢 Thoughts on this report? Let us know!

l5yth and others added 3 commits March 7, 2026 15:14
- Add select_first() to App and call it after every filter keystroke so
  newly filtered results are always visible from the top of the viewport
- Allow arrow/page/tree-collapse keys to pass through in filter mode so
  the user can scroll results without leaving the prompt
- Refactor FilterInputChar/Backspace to let-else to eliminate the llvm-cov
  coverage artifact on the now-implicit None arm of if-let
- Add unit tests: active_filter, select_first, highlight_matches variants,
  render_shows_filter_prompt_footer, filter mode key mapping, noop guards,
  begin_interactive_filter prefill, backspace clears compiled when empty,
  FilterConfirm/Cancel noop paths, and selection-reset-to-first on char input

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Replace the stale "still mostly monolithic" note and aspirational module
list with the current per-module descriptions. Add cli.rs, lib.rs,
model.rs, tree.rs, and debug_tui.rs; correct app.rs (state only) and
runtime.rs (includes terminal setup); note terminal.rs as a future
refactor target.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- BeginInteractiveFilter: apply pre-filled filter to rows immediately
  instead of waiting for the first keystroke, so the row list matches
  what the footer shows the moment / is pressed
- FilterCancel: call select_first() after restoring rows so the
  selection resets to the top and doesn't point at a stale index

Add behavioral tests for both fixes.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@l5yth l5yth merged commit 3c94f33 into main Mar 7, 2026
5 of 6 checks passed
@l5yth l5yth deleted the l5y-interactive-filter branch March 7, 2026 14:28
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