cmdargs-0.10.22: Command line argument processing
Safe HaskellSafe-Inferred
LanguageHaskell2010

System.Console.CmdArgs.Helper

Description

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: http://hackage.haskell.org/package/cmdargs-browser
Synopsis

Called by the main program

execute Source #

Arguments

:: 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 Source #

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) Source #

Receive information about the mode to display.

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

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

comment :: String -> IO () Source #

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