succinct-0.0.0.1: components/succinct/app/App/Cli/Commands/BalancedParens.hs
module App.Cli.Commands.BalancedParens
( cmdBalancedParens
) where
import App.Cli.Commands.BalancedParens.BitsToParens
import App.Cli.Commands.BalancedParens.ParensToBits
import App.Cli.Commands.BalancedParens.Positions
import Options.Applicative
import Options.Applicative qualified as Opt
{- HLINT ignore "Monoid law, left identity" -}
subParser :: String -> ParserInfo a -> Parser a
subParser availableCommand pInfo =
Opt.hsubparser $ Opt.command availableCommand pInfo <> Opt.metavar availableCommand
cmdBalancedParens :: Parser (IO ())
cmdBalancedParens =
subParser "balanced-parens" $ optInfo $ Opt.progDesc "Balanced Parens"
where
optInfo =
Opt.info $ subparser $ mconcat
[ cmdParensToBits
, cmdBitsToParens
, cmdPositions
]