From 41b53ca04b6d52457f331930e8fea68416498882 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ra=C3=BAl=20Benencia?= Date: Thu, 5 Sep 2013 19:36:33 -0300 Subject: New project tree structure --- Main.hs | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) (limited to 'Main.hs') diff --git a/Main.hs b/Main.hs index 416b65a..2144d9c 100644 --- a/Main.hs +++ b/Main.hs @@ -8,15 +8,18 @@ module Main (main) where +import Control.Monad.Reader(runReaderT) +import Control.Monad.State(runStateT) import System.Environment import System.Exit import System.FilePath(takeDirectory) -import Lazymail -import Email -import Maildir -import Screen -import State +import Lazymail.Config(customConfig) +import Lazymail.Email +import Lazymail.Maildir +import Lazymail.Screen +import Lazymail.State +import Lazymail.Types parse ["-h"] = usage >> exit parse ["--help"] = usage >> exit @@ -24,6 +27,12 @@ parse ["-v"] = version >> exit parse ["--version"] = version >> exit parse _ = run entryPoint +run :: Lazymail a -> IO (a, LazymailState) +run k = + let config = customConfig + state = initialState { basePath = initialPath config } + in runStateT (runReaderT k config) state + usage = putStrLn . unlines $ usageText where usageText = ["Usage: ./Main [-vh] " ," where is a directory with Maildirs, or a Maildir itself." -- cgit v1.2.3