@@ -15,7 +15,7 @@ public function __construct(
1515 ) {
1616 }
1717
18- public function getStyle (): TerminalStyle
18+ public function getBeforeStyle (): TerminalStyle
1919 {
2020 $ normalizedStyle = str ($ this ->style )
2121 ->lower ()
@@ -34,6 +34,56 @@ public function getStyle(): TerminalStyle
3434 return TerminalStyle::RESET ;
3535 }
3636
37+ public function getAfterStyle (): TerminalStyle
38+ {
39+ return match ($ this ->getBeforeStyle ()) {
40+ // Mods
41+ TerminalStyle::BOLD => TerminalStyle::RESET_INTENSITY ,
42+ TerminalStyle::DIM => TerminalStyle::RESET_INTENSITY ,
43+ TerminalStyle::ITALIC => TerminalStyle::RESET_ITALIC ,
44+ TerminalStyle::HIDDEN => TerminalStyle::VISIBLE ,
45+ TerminalStyle::UNDERLINE => TerminalStyle::RESET_UNDERLINE ,
46+ TerminalStyle::OVERLINE => TerminalStyle::RESET_OVERLINE ,
47+ TerminalStyle::STRIKETHROUGH => TerminalStyle::RESET_STRIKETHROUGH ,
48+ TerminalStyle::REVERSE_TEXT => TerminalStyle::RESET_REVERSE_TEXT ,
49+ // Foregrounds
50+ TerminalStyle::FG_BLACK ,
51+ TerminalStyle::FG_DARK_RED ,
52+ TerminalStyle::FG_DARK_GREEN ,
53+ TerminalStyle::FG_DARK_YELLOW ,
54+ TerminalStyle::FG_DARK_BLUE ,
55+ TerminalStyle::FG_DARK_MAGENTA ,
56+ TerminalStyle::FG_DARK_CYAN ,
57+ TerminalStyle::FG_LIGHT_GRAY ,
58+ TerminalStyle::FG_GRAY ,
59+ TerminalStyle::FG_RED ,
60+ TerminalStyle::FG_GREEN ,
61+ TerminalStyle::FG_YELLOW ,
62+ TerminalStyle::FG_BLUE ,
63+ TerminalStyle::FG_MAGENTA ,
64+ TerminalStyle::FG_CYAN ,
65+ TerminalStyle::FG_WHITE => TerminalStyle::RESET_FOREGROUND ,
66+ // Backgrounds
67+ TerminalStyle::BG_BLACK ,
68+ TerminalStyle::BG_DARK_RED ,
69+ TerminalStyle::BG_DARK_GREEN ,
70+ TerminalStyle::BG_DARK_YELLOW ,
71+ TerminalStyle::BG_DARK_BLUE ,
72+ TerminalStyle::BG_DARK_MAGENTA ,
73+ TerminalStyle::BG_DARK_CYAN ,
74+ TerminalStyle::BG_LIGHT_GRAY ,
75+ TerminalStyle::BG_GRAY ,
76+ TerminalStyle::BG_RED ,
77+ TerminalStyle::BG_GREEN ,
78+ TerminalStyle::BG_YELLOW ,
79+ TerminalStyle::BG_BLUE ,
80+ TerminalStyle::BG_MAGENTA ,
81+ TerminalStyle::BG_CYAN ,
82+ TerminalStyle::BG_WHITE => TerminalStyle::RESET_BACKGROUND ,
83+ default => TerminalStyle::RESET ,
84+ };
85+ }
86+
3787 public function getValue (): string
3888 {
3989 return '' ;
0 commit comments