feat(cli): add GlyphMode icon system, Theme extensions, and progress API
Phase 1 of UX skin overhaul: foundation layer that all subsequent phases build upon. Icons: 3-tier glyph system (Nerd Font / Unicode / ASCII) with auto-detection from TERM_PROGRAM, LORE_ICONS env, or --icons flag. 16 semantic icon methods on Icons struct (success, warning, error, issue states, MR states, note, search, user, sync, waiting). Theme: 4 new semantic styles — muted (#6b7280), highlight (#fbbf24), timing (#94a3b8), state_draft (#6b7280). Progress: stage_spinner_v2 with icon prefix, nested_progress with bounded bar/throughput/ETA, finish_stage for static completion lines, format_elapsed for compact duration strings. Utilities: format_relative_time_compact (3h, 2d, 1w, 3mo), format_labels_bare (comma-separated without brackets). CLI: --icons global flag, GLOBAL_FLAGS registry updated. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -44,6 +44,10 @@ pub struct Cli {
|
||||
#[arg(long, global = true, value_parser = ["auto", "always", "never"], default_value = "auto", help = "Color output: auto (default), always, or never")]
|
||||
pub color: String,
|
||||
|
||||
/// Icon set: nerd (Nerd Fonts), unicode, or ascii
|
||||
#[arg(long, global = true, value_parser = ["nerd", "unicode", "ascii"], help = "Icon set: nerd (Nerd Fonts), unicode, or ascii")]
|
||||
pub icons: Option<String>,
|
||||
|
||||
/// Suppress non-essential output
|
||||
#[arg(
|
||||
short = 'q',
|
||||
|
||||
Reference in New Issue
Block a user