| OptComplOneIallocator -- ^ One iallocator
| OptComplInstAddNodes -- ^ Either one or two nodes
| OptComplOneGroup -- ^ One group
- | OptComplNumeric -- ^ Float values
+ | OptComplInteger -- ^ Integer values
+ | OptComplFloat -- ^ Float values
| OptComplJobId -- ^ Job Id
| OptComplCommand -- ^ Command (executable)
| OptComplString -- ^ Arbitrary string
-> [String] -- ^ The command line arguments
-> String -- ^ The program name
-> [GenericOptType a] -- ^ The supported command line options
+ -> [ArgCompletion] -- ^ The supported command line arguments
-> IO (a, [String]) -- ^ The resulting options and
-- leftover arguments
-parseOpts defaults argv progname options =
- case parseOptsInner defaults argv progname options of
+parseOpts defaults argv progname options arguments =
+ case parseOptsInner defaults argv progname options arguments of
Left (code, msg) -> do
hPutStr (if code == ExitSuccess then stdout else stderr) msg
exitWith code
-> [String]
-> String
-> [GenericOptType a]
+ -> [ArgCompletion]
-> Either (ExitCode, String) (a, [String])
-parseOptsInner defaults argv progname options =
+parseOptsInner defaults argv progname options arguments =
case getOpt Permute (map fst options) argv of
(opts, args, []) ->
case foldM (flip id) defaults opts of
, (verRequested parsed,
Left (ExitSuccess, versionInfo progname))
, (compRequested parsed,
- Left (ExitSuccess, completionInfo progname options []))
+ Left (ExitSuccess, completionInfo progname options
+ arguments))
]
(_, _, errs) ->
Left (ExitFailure 2, "Command line error: " ++ concat errs ++ "\n" ++