simple-cmd-args-0.1.0.1: Simple command args parsing and execution

Safe HaskellSafe
LanguageHaskell2010

SimpleCmdArgs

Description

This library provides a thin layer on optparse-applicative argument and option parsing, using Parser (IO ()), applying commands directly to their argument parsing.

A few option Mod functions are also provided.

Synopsis

Documentation

simpleCmdArgs Source #

Arguments

:: Maybe Version

version string

-> String

header

-> String

program description

-> Parser (IO ())

commands

-> IO () 

Parser executor (allows interspersed args and options)

simpleCmdArgs (Just version) "summary" "program description" $ myCommand <$> myOptParser <*> myargsParser

simpleCmdArgs' Source #

Arguments

:: Maybe Version

version string

-> String

header

-> String

program description

-> Parser (IO ())

commands

-> IO () 

Parser executor without interspersing options and args

simpleCmdArgs' Nothing "summary" "program description" $ myCommand <$> myOptParser <*> myargsParser

data Subcommand Source #

Subcommand "command" "help description text" $ myCommand <$> optParser

Constructors

Subcommand String String (Parser (IO ())) 

subcommands :: [Subcommand] -> Parser (IO ()) Source #

list of Subcommand that can be run by simpleCmdArgs

strArg :: String -> Parser String Source #

A string arg parser with a METAVAR for help

switchMods :: HasName f => Char -> String -> String -> Mod f a Source #

Mods for a switch.

switchMods 'o' "option" "help description"

optionMods :: (HasMetavar f, HasName f) => Char -> String -> String -> String -> Mod f a Source #

Mods for a mandatory option.

optionMods 'o' "option" "METAVAR" "help description"

optionalMods :: (HasMetavar f, HasName f, HasValue f) => Char -> String -> String -> String -> a -> Mod f a Source #

Mods for an optional option: includes a default value.

optionalMods 'o' "option" "METAVAR" "help description" default