Module: Testprune::UI::Styles

Defined in:
lib/testprune/ui/styles.rb

Overview

Centralized style palette. All UI components pull from here so the visual identity stays consistent and editable in one place.

Colors degrade automatically when NO_COLOR=1 is set (lipgloss strips ANSI).

Constant Summary collapse

PURPLE =

── Color hex constants ──────────────────────────────────────────────────

'#7D56F4'
GREEN =

brand / borders / interactive

'#22C55E'
AMBER =

HIGH confidence / success / safe

'#F59E0B'
GRAY =

MEDIUM confidence / warnings

'#6B7280'
RED =

LOW confidence

'#EF4444'
EMERALD =

errors / unsafe removals

'#10B981'
META =

scan complete / patch written

'#9CA3AF'
DIM =

subdued meta-text (kept by, covers, timestamps)

'#3D3D5C'
TEXT =

decorators / separators

'#E2E8F0'
HEADER_BOX =

Rounded box with purple border — used for command headers.

Lipgloss::Style.new
.border(:rounded)
.border_foreground(PURPLE)
.padding(0, 1)
SUCCESS_BOX =

Rounded box with emerald border — used for success summaries.

Lipgloss::Style.new
.border(:rounded)
.border_foreground(EMERALD)
.padding(0, 1)
REPORT_BOX =

Rounded box with purple border — used for report sections and savings.

Lipgloss::Style.new
.border(:rounded)
.border_foreground(PURPLE)
.padding(0, 1)
HIGH_BADGE =

Confidence badges

Lipgloss::Style.new.foreground(GREEN).bold(true)
MEDIUM_BADGE =
Lipgloss::Style.new.foreground(AMBER).bold(true)
LOW_BADGE =
Lipgloss::Style.new.foreground(GRAY)
SAFE_LINE =

Inline text styles

Lipgloss::Style.new.foreground(GREEN)
UNSAFE_LINE =
Lipgloss::Style.new.foreground(RED).bold(true)
META_TEXT =
Lipgloss::Style.new.foreground(META)
DIM_TEXT =
Lipgloss::Style.new.foreground(DIM)
PURPLE_TEXT =
Lipgloss::Style.new.foreground(PURPLE)
GREEN_TEXT =
Lipgloss::Style.new.foreground(GREEN)
AMBER_TEXT =
Lipgloss::Style.new.foreground(AMBER)
ERROR_TEXT =
Lipgloss::Style.new.foreground(RED).bold(true)
EMERALD_TEXT =
Lipgloss::Style.new.foreground(EMERALD)