succinct-0.0.0.1: components/succinct-xml/app/App/Options.hs
module App.Options
( optionParser
, textOption
) where
import Data.Text (Text)
import qualified Data.Attoparsec.Text as AT
import qualified Data.Text as T
import qualified Options.Applicative as OA
optionParser :: AT.Parser a -> OA.Mod OA.OptionFields a -> OA.Parser a
optionParser p = OA.option (OA.eitherReader (AT.parseOnly p . T.pack))
textOption :: OA.Mod OA.OptionFields String -> OA.Parser Text
textOption = fmap T.pack . OA.strOption