{-# LANGUAGE Strict #-} module Main (main) where import Data.Monoid ((<>)) import qualified Options.Applicative as Options import qualified Data.Text as Text import qualified Data.Text.IO as Text import qualified Text.StringRandom as StringRandom argParser :: Options.Parser Text.Text argParser = Text.pack <$> Options.strArgument ( Options.metavar "REGEXP" <> Options.help "Regexp as a template (e.g. '[1-3]{2}random[!?]')" ) main :: IO () main = do pat <- Options.execParser opts txt <- StringRandom.stringRandomIO pat Text.putStrLn txt where opts = Options.info (Options.helper <*> argParser) ( Options.fullDesc <> Options.header "hstrrand - Generate string which matches REGEXP" )