Commit 09b6e85
refactor: extract shared helpers in select widget, add tests
- Extract ANSI codes as named constants (BOLD, DIM, etc.)
- Factor out write_header, write_title, wrap_lines, write_wrapped
helpers shared between Select and Input rendering
- Add SelectContext::new()/with_description() builder methods
- Add 10 unit tests covering wrap_lines, item_height, and
count_items_fitting edge cases
- Simplify render_select signature (query terminal size internally)
- Apply rustfmt
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>1 parent 443da54 commit 09b6e85
2 files changed
Lines changed: 295 additions & 241 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
424 | 424 | | |
425 | 425 | | |
426 | 426 | | |
427 | | - | |
| 427 | + | |
| 428 | + | |
| 429 | + | |
| 430 | + | |
| 431 | + | |
| 432 | + | |
| 433 | + | |
| 434 | + | |
428 | 435 | | |
429 | 436 | | |
430 | 437 | | |
| |||
467 | 474 | | |
468 | 475 | | |
469 | 476 | | |
470 | | - | |
471 | | - | |
472 | | - | |
473 | | - | |
474 | | - | |
475 | | - | |
476 | | - | |
477 | | - | |
478 | | - | |
479 | | - | |
480 | | - | |
481 | | - | |
482 | | - | |
483 | | - | |
484 | | - | |
485 | | - | |
486 | | - | |
| 477 | + | |
| 478 | + | |
| 479 | + | |
| 480 | + | |
| 481 | + | |
| 482 | + | |
| 483 | + | |
| 484 | + | |
| 485 | + | |
| 486 | + | |
| 487 | + | |
| 488 | + | |
| 489 | + | |
| 490 | + | |
| 491 | + | |
487 | 492 | | |
488 | 493 | | |
489 | 494 | | |
| |||
0 commit comments