Add .tuicrignore filtering and small-screen diff UX#175
Conversation
agavra
left a comment
There was a problem hiding this comment.
Thanks @tarrencev - happy to have your contribution.
I love the .tuicrignore feature, but I'm not sure I understand the --base feature as compared to --revisions and I think we can get away with better ux instead of a flag for diff-only
| - Invalid `--theme` values cause an immediate non-zero exit. | ||
| - Unknown keys in `config.toml` are ignored with a startup warning. | ||
|
|
||
| ### Ignoring Files With `.tuicrignore` |
There was a problem hiding this comment.
this is super cool! do you mind adding a .tuicrignore and checking it in to tuicr (with the example one). I suspect everyone would want that 😅
|
Addressed your review feedback in 0dafccb:\n- removed the proposed --base flow and related backend/plumbing\n- removed --diff-only and switched to automatic small-screen startup behavior (<100 columns starts with file list hidden)\n- added a checked-in root .tuicrignore example\n- updated README/AGENTS to match current behavior\n\nLocal validation: cargo fmt --check, cargo clippy -D warnings, cargo test. |
agavra
left a comment
There was a problem hiding this comment.
LGTM! Tested it locally as well. Thanks for the contributions.
This PR adds .tuicrignore support and applies filtering across startup, reloads, commit-range views, and mixed working-tree+commit diffs. It checks in a default .tuicrignore example and updates README/AGENTS documentation. For small terminals (under 100 columns), tuicr now starts with the file list hidden and diff panel focused, without introducing new CLI flags. The branch includes tests for ignore behavior (including unignore and deleted paths) and is clean under cargo test and cargo clippy -D warnings.