{-# LANGUAGE Rank2Types #-} module Yi.UI.Common where import Yi.Editor data UI = UI { main :: IO (), -- ^ Main loop end :: Bool -> IO (), -- ^ Clean up, and also terminate if given 'true' suspend :: IO (), -- ^ Suspend (or minimize) the program refresh :: Editor -> IO (), -- ^ Refresh the UI with the given state userForceRefresh :: IO (), -- ^ User force-refresh (in case the screen has been messed up from outside) layout :: Editor -> IO Editor, -- ^ Set window width and height reloadProject :: FilePath -> IO () -- ^ Reload cabal project views } dummyUI :: UI dummyUI = UI { main = return (), end = const (return ()), suspend = return (), refresh = const (return ()), userForceRefresh = return (), layout = return, reloadProject = const (return ()) }