cmdargs-0.10.14: Command line argument processing

Safe HaskellNone
LanguageHaskell98

System.Console.CmdArgs.Helper

Contents

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

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

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.