module Rasa.Ext.Slate (slate) where import Rasa.Ext import Rasa.Ext.Slate.Internal.Render import Rasa.Ext.Slate.Internal.Event import Rasa.Ext.Slate.Internal.State import qualified Graphics.Vty as V import Control.Monad.IO.Class -- | The main export for this extension. Add this to your user config. -- -- e.g. -- -- > rasa $ do -- > slate -- > ... slate :: App () slate = do terminalEvents onEveryRender_ renderAll onExit shutdown -- | Call vty shutdown procedure (if this doesn't happen the terminal ends up in strange states) shutdown :: App () shutdown = do v <- getVty liftIO $ V.shutdown v