{-# LANGUAGE OverloadedStrings #-} module Cli.Extras.Theme where import Data.Text (Text) data CliTheme = CliTheme { CliTheme -> Text _cliTheme_done :: Text , CliTheme -> Text _cliTheme_failed :: Text , CliTheme -> Text _cliTheme_arrow :: Text , CliTheme -> SpinnerTheme _cliTheme_spinner :: SpinnerTheme } type SpinnerTheme = [Text] unicodeTheme :: CliTheme unicodeTheme :: CliTheme unicodeTheme = CliTheme { _cliTheme_done :: Text _cliTheme_done = Text "✔" , _cliTheme_failed :: Text _cliTheme_failed = Text "✖" , _cliTheme_arrow :: Text _cliTheme_arrow = Text "⇾" , _cliTheme_spinner :: SpinnerTheme _cliTheme_spinner = [Text "◐", Text "◓", Text "◑", Text "◒"] } noUnicodeTheme :: CliTheme noUnicodeTheme :: CliTheme noUnicodeTheme = CliTheme { _cliTheme_done :: Text _cliTheme_done = Text "DONE" , _cliTheme_failed :: Text _cliTheme_failed = Text "FAILED" , _cliTheme_arrow :: Text _cliTheme_arrow = Text "->" , _cliTheme_spinner :: SpinnerTheme _cliTheme_spinner = [Text "|", Text "/", Text "-", Text "\\"] }