4

Существует пример: https://github.com/pcapriotti/optparse-applicative/blob/master/tests/Examples/Cabal.hs#L46-L62optparse-аппликативны: Как не обрабатывать не-аргументы ситуации в синтаксисе Arrow

parser :: Parser Args 
parser = runA $ proc() -> do 
    opts <- asA commonOpts -<() 
    cmds <- (asA . hsubparser) 
      (command "install" 
       (info installParser 
        (progDesc "Installs a list of packages")) 
      <> command "update" 
       (info updateParser 
        (progDesc "Updates list of known packages")) 
      <> command "configure" 
       (info configureParser 
        (progDesc "Prepare to build the package")) 
      <> command "build" 
       (info buildParser 
        (progDesc "Make this package ready for installation"))) -<() 
    A version >>> A helper -< Args opts cmds 

...

pinfo :: ParserInfo Args 
pinfo = info parser 
    (progDesc "An example modelled on cabal") 

main :: IO() 
main = do 
    r <- execParser pinfo 
    print r 

Так и по умолчанию, когда я не использовать аргументы он показывает информацию об использовании. Я хочу использовать случай без аргументов, а также с одним [Пользовательским аргументом] (с обычным я получаю ошибку: Invalid argument 'regreg')

Как я могу обрабатывать пустые и настраиваемые аргументы здесь?

ответ