diff options
| author | Henning Thielemann <git@henning-thielemann.de> | 2012-04-01 16:25:02 +0200 | 
|---|---|---|
| committer | Henning Thielemann <git@henning-thielemann.de> | 2012-04-01 16:25:02 +0200 | 
| commit | 29861370dd56f59557c3bcecd53fba0f88a89792 (patch) | |
| tree | 2420d1f3ee58169646a4919ff0e3ed510cef668a | |
| parent | a2bcbcffde1e78a6031132bdf4a1a605978352a8 (diff) | |
emit an error message when the --qual option is used incorrectly
| -rw-r--r-- | src/Haddock/Options.hs | 13 | ||||
| -rw-r--r-- | src/Main.hs | 6 | 
2 files changed, 13 insertions, 6 deletions
diff --git a/src/Haddock/Options.hs b/src/Haddock/Options.hs index 3292ba16..537bffac 100644 --- a/src/Haddock/Options.hs +++ b/src/Haddock/Options.hs @@ -229,13 +229,16 @@ optLaTeXStyle :: [Flag] -> Maybe String  optLaTeXStyle flags = optLast [ str | Flag_LaTeXStyle str <- flags ] -qualification :: [Flag] -> QualOption +qualification :: [Flag] -> Either String QualOption  qualification flags =    case map (map Char.toLower) [ str | Flag_Qualification str <- flags ] of -      "full":_     -> OptFullQual -      "local":_    -> OptLocalQual -      "relative":_ -> OptRelativeQual -      _            -> OptNoQual +      []           -> Right OptNoQual +      ["none"]     -> Right OptNoQual +      ["full"]     -> Right OptFullQual +      ["local"]    -> Right OptLocalQual +      ["relative"] -> Right OptRelativeQual +      [arg]        -> Left $ "unknown qualification type " ++ show arg +      _:_          -> Left "qualification option given multiple times"  verbosity :: [Flag] -> Verbosity diff --git a/src/Main.hs b/src/Main.hs index e423cf03..7d83866a 100644 --- a/src/Main.hs +++ b/src/Main.hs @@ -189,6 +189,11 @@ renderStep flags pkgs interfaces = do  render :: [Flag] -> [Interface] -> [InstalledInterface] -> SrcMap -> IO ()  render flags ifaces installedIfaces srcMap = do +  opt_qualification <- +    case qualification flags of +      Left msg -> throwE msg +      Right q -> return q +    let      title                = fromMaybe "" (optTitle flags)      unicode              = Flag_UseUnicode `elem` flags @@ -198,7 +203,6 @@ render flags ifaces installedIfaces srcMap = do      opt_index_url        = optIndexUrl       flags      odir                 = outputDir         flags      opt_latex_style      = optLaTeXStyle     flags -    opt_qualification    = qualification     flags      visibleIfaces    = [ i | i <- ifaces, OptHide `notElem` ifaceOptions i ]  | 
