feat(flows): fit printed flow lists to the terminal - #1610
Chase J (chajac) wants to merge 1 commit into
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Essentials Run ID: 📒 Files selected for processing (17)
Included review availability: Your plan provides up to 8 included reviews per hour; 1 remains after this review. WalkthroughFlow listings now share row mapping and support optional flow IDs. Human output measures terminal width and uses a full table when it fits. It uses cards when the table is too wide. Cards preserve values, tags, paths, IDs, and styling, and can remove shared Priority: ➖ Normal Estimated code review effort: 3 (Moderate) | ~25 minutes Change: Feature · Unblocks: 3 PRs Sequence Diagram(s)sequenceDiagram
participant CLI
participant FlowListHandler
participant flowsList
participant renderFlowsList
CLI->>FlowListHandler: pass process.stdout.columns
FlowListHandler->>flowsList: pass ListView
flowsList->>renderFlowsList: provide flow rows and columns
renderFlowsList-->>FlowListHandler: return table or cards
FlowListHandler-->>CLI: print human output
Merge Risk: ⚪ Minimal · up to The terminal-aware flow-list rendering has no verified current-head issue that should block merging. 🚥 Pre-merge checks | ✅ 4✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
8dff084 to
4fa4a5a
Compare
4fa4a5a to
e5b4c5d
Compare
Overview of Changes
Long tables can wrap across columns and become difficult to read. This change prints a table when it fits and cards when it does not. Both layouts show full flow IDs and keep field values complete.
Base:
chajac/list-cached-ids.Testing
Naming, lint, format, type, unused-code, and build checks passed. The full test suite passed: 2,515 tests, no failures.
bash scripts/check-naming.sh bun run typecheck bun run lint --max-warnings 0 bun run format:check bun run knip bun run test bun run buildTests cover local and remote output, narrow and wide terminals, full IDs, long paths, tags, shared folder prefixes, and unknown terminal width. Unicode wrapping tests cover wide characters, combining marks, and separators.
Checklist