module Extra.Exit where import Extra.HughesPJ import System.Environment import System.Exit import System.IO import Text.PrettyPrint -- |exitFailure with nicely formatted help text on stderr exitWithHelp :: (String -> Doc) -- ^ generate help text, the argument is the result of getProgName -> IO a -- ^ no value is returned, this function always calls exitFailure exitWithHelp helpText = do progName <- getProgName hPutStrLn stderr =<< renderWidth (helpText progName) exitFailure