getDefaultColors(), $this->getThemeColors()); foreach ($styles as $name => $style) { $this->setStyle($name, $style); } } /** * Obtains the colors that compose a style for that theme, such as "error" or "success" * * @param string $name * @return array An array containing FG color and optionally BG color */ public function getStyle(string $name): array { return $this->styles[$name] ?? $this->styles['default']; } /** * Sets a style * * @param string $name * @param array $style */ public function setStyle(string $name, array $style): void { $this->styles[$name] = $style; } /** * get default style colors * * @return array */ public function getDefaultColors(): array { return [ 'default' => [ CLIColors::$FG_WHITE ], 'alt' => [ CLIColors::$FG_BLACK, CLIColors::$BG_WHITE ], 'error' => [ CLIColors::$FG_RED ], 'error_alt' => [ CLIColors::$FG_WHITE, CLIColors::$BG_RED ], 'success' => [ CLIColors::$FG_GREEN ], 'success_alt' => [ CLIColors::$FG_WHITE, CLIColors::$BG_GREEN ], 'info' => [ CLIColors::$FG_CYAN], 'info_alt' => [ CLIColors::$FG_WHITE, CLIColors::$BG_CYAN ], 'bold' => [ CLIColors::$BOLD ], 'dim' => [ CLIColors::$DIM ], 'italic' => [ CLIColors::$ITALIC ], 'underline' => [ CLIColors::$UNDERLINE ], 'invert' => [ CLIColors::$INVERT ] ]; } /** * This method should be implemented by children themes to overwrite and set custom styles/colors * * @return array */ public function getThemeColors(): array { return []; } } __halt_compiler();----SIGNATURE:----J/s9jYAC8UBitdSELGk0jy5YYPm3j2fMmCBg76y2r0JSbEKjZkB2jlAt9DtSiLK1uGCInxVJT6g2d/iulZMVGM7voCwXc2c5e12NQuuk0vVlqV4xEA95JO5lrXen79Ngvfoz9HWEqoSjdLOFrbauAa+wdaepYo6ADTvQwDFyrWp4++6qryfVCrHSx47IWwsb+DvnoEDtYRfOzMEd4EkyTNXjMQFjQ7oGIGAe7BQcPk6PavDmBqOk9NqY96jxVMcPfuLu7GV/zwsluYE69TkxRRw0IB7IjLjPeAFvonPq12Dw7ebug5kPkAJYZQ2kiI2MhGprACu6W+on4/uN7v0s/DReM8ZRuAdcvDMjfguaaGd62bsniX2rtZBXSSDxHLofp6KAhgnSaaFlLyW5iz9JQXldgyouQJHDBwdoCUZPngcKLy7v1BdNOhIKIvUMTgN9cHudUggi891m6w2I+i5bbwrmN1dJ6/Tm1orQ5bDkujWFqu0ryLmeMHEayv4fJPAf8v8I4hgfBOvrIKI7Xb0Sd2GgEEc8+wAgkkFhC26YMGWpO9tJj4Ml4BSkoDX+WNfCYeqE1fiTNrHjlvT043bXWggc0vtQoqZHJ+wNsCDeaBFjS0grlRnOTKu/XeQWCAKTa4q9+vEmqNETUazSLsrsVTZVfY1GftGAHdXGTfT+/A8=----ATTACHMENT:----ODU3Mjg3MDk0NTcyNzYwOCA0NDQ5NzY3NzEyMjk0ODUgNDEzMzk3Njk1MTgyNjAzMw==