packages feed

stack-run-auto-0.1.1.2: app/Main.hs

module Main where

import           StackRunAuto
import           System.Environment (getArgs)
import           System.IO

main :: IO ()
main = do
    args <- getArgs
    hSetBuffering stdout LineBuffering
    hSetBuffering stderr LineBuffering

    let (extras, args') = getExtras args

    case args' of
        [] -> error "Usage: stack-run-auto <file>"
        ("--help":_) -> hPutStrLn stderr usage
        (fname:_) -> run (Options fname extras)
  where
    usage = unlines [ "Usage: stack-run-auto [--extra <pkg>...] <file>"
                    , ""
                    , "    --extra <pkg>   Adds an extra package that couldn't be resolved"
                    , ""
                    ]

getExtras :: [String] -> ([String], [String])
getExtras args = go ([], args)
  where
    go (extras, "--extra":pkg:args') = go (pkg:extras, args')
    go i = i