diff options
Diffstat (limited to 'src/Haddock')
| -rw-r--r-- | src/Haddock/Interface.hs | 2 | ||||
| -rw-r--r-- | src/Haddock/Options.hs | 29 | 
2 files changed, 23 insertions, 8 deletions
| diff --git a/src/Haddock/Interface.hs b/src/Haddock/Interface.hs index 22d55713..3397eecb 100644 --- a/src/Haddock/Interface.hs +++ b/src/Haddock/Interface.hs @@ -36,7 +36,7 @@ import Haddock.InterfaceFile  import Haddock.Interface.Create  import Haddock.Interface.AttachInstances  import Haddock.Interface.Rename -import Haddock.Options +import Haddock.Options hiding (verbosity)  import Haddock.Types  import Haddock.Utils diff --git a/src/Haddock/Options.hs b/src/Haddock/Options.hs index 7fdb7a35..de8191c7 100644 --- a/src/Haddock/Options.hs +++ b/src/Haddock/Options.hs @@ -23,12 +23,15 @@ module Haddock.Options (    optCssFile,    optSourceUrls,    optWikiUrls, +  optDumpInterfaceFile, +  verbosity,    ghcFlags,    ifacePairs  ) where  import Data.Maybe +import Distribution.Verbosity  import Haddock.Utils  import Haddock.Types  import System.Console.GetOpt @@ -209,19 +212,31 @@ optWikiUrls flags =    ,listToMaybe [str | Flag_WikiEntityURL str <- flags]) +optDumpInterfaceFile :: [Flag] -> Maybe FilePath +optDumpInterfaceFile flags = optLast [ str | Flag_DumpInterface str <- flags ] + + +verbosity :: [Flag] -> Verbosity +verbosity flags = +  case [ str | Flag_Verbosity str <- flags ] of +    []  -> normal +    x:_ -> case parseVerbosity x of +      Left e -> throwE e +      Right v -> v + +  ghcFlags :: [Flag] -> [String]  ghcFlags flags = [ option | Flag_OptGhc option <- flags ]  ifacePairs :: [Flag] -> [(FilePath, FilePath)]  ifacePairs flags = [ parseIfaceOption s | Flag_ReadInterface s <- flags ] - - -parseIfaceOption :: String -> (FilePath, FilePath) -parseIfaceOption s = -  case break (==',') s of -  (fpath,',':file) -> (fpath, file) -  (file, _)        -> ("", file) +  where +    parseIfaceOption :: String -> (FilePath, FilePath) +    parseIfaceOption str = +      case break (==',') str of +        (fpath, ',':file) -> (fpath, file) +        (file, _)         -> ("", file)  -- | Like 'listToMaybe' but returns the last element instead of the first. | 
