matterhorn-40901.0.0: src/State/Themes.hs
module State.Themes
(
listThemes
, setTheme
)
where
import Prelude ()
import Prelude.MH
import Brick.Themes ( themeToAttrMap )
import qualified Data.Text as T
import Lens.Micro.Platform ( (.=) )
import State.Common
import Themes
import Types
listThemes :: MH ()
listThemes = do
let themeList = T.intercalate "\n\n" $
"Available built-in themes:" :
((" " <>) <$> internalThemeName <$> internalThemes)
postInfoMessage themeList
setTheme :: Text -> MH ()
setTheme name =
case lookupTheme name of
Nothing -> listThemes
Just it -> csResources.crTheme .=
(themeToAttrMap $ internalTheme it)