diff options
author | Aleksey Veresov <aleksey@veresov.pro> | 2021-02-11 10:32:17 +0300 |
---|---|---|
committer | Aleksey Veresov <aleksey@veresov.pro> | 2021-02-11 10:32:17 +0300 |
commit | f88cbf20be4007ed7174c292dc1b57cc9495aaa2 (patch) | |
tree | 03e40d11af1bef92f7b631564b607f62cfba4cff /Main.hs | |
parent | 3c383868f185db0009924ef55f6e1897bfb2ed47 (diff) | |
download | suem-f88cbf20be4007ed7174c292dc1b57cc9495aaa2.tar suem-f88cbf20be4007ed7174c292dc1b57cc9495aaa2.tar.xz suem-f88cbf20be4007ed7174c292dc1b57cc9495aaa2.zip |
Config completed.
Diffstat (limited to 'Main.hs')
-rw-r--r-- | Main.hs | 17 |
1 files changed, 17 insertions, 0 deletions
@@ -3,6 +3,21 @@ module Main where import Options.Applicative import Suem +inet_socket :: String -> Parser ConfigSocket +inet_socket sock = ConfigInet <$> strOption + ( long ("i" ++ sock) + <> metavar ("ADDR_" ++ sock) + <> help ("Address for internet socket " ++ sock) ) + +unix_socket :: String -> Parser ConfigSocket +unix_socket sock = ConfigUnix <$> strOption + ( long ("u" ++ sock) + <> metavar ("ADDR_" ++ sock) + <> help ("Address for UNIX socket " ++ sock) ) + +socket :: String -> Parser (Maybe ConfigSocket) +socket sock = optional (inet_socket sock <|> unix_socket sock) + config :: Parser Config config = Config <$> option auto @@ -26,6 +41,8 @@ config = Config <> showDefault <> value "rom.bin" <> help "Path to file to load into ROM" ) + <*> socket "0" <*> socket "1" <*> socket "2" <*> socket "3" + <*> socket "4" <*> socket "5" <*> socket "6" <*> socket "7" main :: IO () main = suem =<< execParser opts |