-----------------------------------------------------------------------------
--- $Id: DriverFlags.hs,v 1.11 2000/10/27 14:45:18 simonmar Exp $
+-- $Id: DriverFlags.hs,v 1.12 2000/10/27 14:46:37 simonmar Exp $
--
-- Driver flags
--
-> IO [String] -- returns spare args
processArgs _spec [] spare = return (reverse spare)
processArgs spec args@(('-':arg):args') spare = do
- putStrLn ( "processArg: " ++ arg)
case findArg spec arg of
Just (rest,action) ->
do args' <- processOneArg action rest args
findArg :: [(String,OptKind)] -> String -> Maybe (String,OptKind)
findArg spec arg
- = trace ("findArg: " ++ arg) $
- case [ (remove_spaces rest, k)
+ = case [ (remove_spaces rest, k)
| (pat,k) <- spec, Just rest <- [my_prefix_match pat arg],
arg_ok k rest arg ]
of