From 03795ac2f793421af9ef2e0f3bbe5295de456933 Mon Sep 17 00:00:00 2001 From: Julien Dessaux Date: Sun, 1 Aug 2010 17:59:02 +0200 Subject: Moved the CLI argument processing stuff in its own file. --- HsbotIrcBot/Main.hs | 55 +---------------------------------------------------- 1 file changed, 1 insertion(+), 54 deletions(-) (limited to 'HsbotIrcBot/Main.hs') diff --git a/HsbotIrcBot/Main.hs b/HsbotIrcBot/Main.hs index b8fc259..8c371bd 100644 --- a/HsbotIrcBot/Main.hs +++ b/HsbotIrcBot/Main.hs @@ -1,12 +1,12 @@ module Main (main) where import Control.Monad (when) -import Prelude hiding (catch) import System.Console.GetOpt import System.Environment import System.Exit import System.IO +import Hsbot.Irc.CLI import Hsbot.Irc.Config -- | Main function @@ -27,56 +27,3 @@ main = do ircConfig <- getIrcConfig $ optConfigFile opts when (optDebug opts) . putStrLn $ "[hsbot-irc] Compiled config :\n" ++ (show ircConfig) --- CLI argument parting stuff {{{ --- | CLI options -data Options = Options - { optDebug :: Bool - , optConfigFile :: Maybe String - , optGroup :: Maybe String - , optUser :: Maybe String - , optVerbose :: Bool - } deriving (Show) - --- | CLI default options -defaultOptions :: Options -defaultOptions = Options { optDebug = False - , optConfigFile = Nothing - , optGroup = Nothing - , optUser = Nothing - , optVerbose = False } - --- | CLI options logic -options :: [ OptDescr (Options -> IO Options) ] -options = - [ Option "d" ["debug"] - (NoArg (\opt -> return opt { optDebug = True, optVerbose = True })) - "Enter verbose debug mode and prevents Hsbot from forking in background" - , Option "f" ["file"] - (ReqArg (\arg opt -> return opt { optConfigFile = return arg }) "") - "The config file to use" - , Option "g" ["group"] - (ReqArg (\arg opt -> return opt { optGroup = return arg }) "") - "The group hsbot will run as" - , Option "h" ["help"] - (NoArg (\_ -> do - putStrLn $ usageInfo header options - exitWith ExitSuccess)) - "Print this help message" - , Option "u" ["user"] - (ReqArg (\arg opt -> return opt { optUser = return arg }) "") - "The user hsbot will run as" - , Option "v" ["verbose"] - (NoArg (\opt -> return opt { optVerbose = True })) - "Enable verbose messages" - , Option "V" ["version"] - (NoArg (\_ -> do - putStrLn "hsbot-irc version 0.3" - exitWith ExitSuccess)) - "Show version" - ] - --- | Usage header -header :: String -header = "Usage: hsbot-irc [-dhvV] [-f config_file] [-u user] [-g group]" --- }}} - -- cgit v1.2.3