cmdargs-0.10.18: Command line argument processing

Safe HaskellNone




Module for implementing CmdArgs helpers. A CmdArgs helper is an external program, that helps a user construct the command line arguments. To use a helper set the environment variable $CMDARGS_HELPER (or $CMDARGS_HELPER_YOURPROGRAM) to one of:

  • echo foo will cause foo to be used as the command arguments.
  • cmdargs-browser will cause a web browser to appear to help entering the arguments. For this command to work, you will need to install the cmdargs-browser package:


Called by the main program

execute #


:: String

Name of the command to run, e.g. echo argument, cmdargs-browser

-> Mode a

Mode to run remotely

-> [String]

Initial set of command line flags (not supported by all helpers)

-> IO (Either String [String])

Either an error message, or a list of flags to use

Run a remote command line entry.

Called by the helper program

data Unknown #

Unknown value, representing the values stored within the Mode structure. While the values are not observable, they behave identically to the original values.

receive :: IO (Mode Unknown) #

Receive information about the mode to display.

reply :: Either String [String] -> IO () #

Send a reply with either an error, or a list of flags to use. This function exits the helper program.

comment :: String -> IO () #

Send a comment which will be displayed on the calling console, mainly useful for debugging.