diff options
Diffstat (limited to 'haddock-api/src')
| -rw-r--r-- | haddock-api/src/Haddock/Interface.hs | 1 | ||||
| -rw-r--r-- | haddock-api/src/Haddock/Options.hs | 3 | ||||
| -rw-r--r-- | haddock-api/src/Haddock/Utils.hs | 25 | 
3 files changed, 21 insertions, 8 deletions
| diff --git a/haddock-api/src/Haddock/Interface.hs b/haddock-api/src/Haddock/Interface.hs index e7d30fc7..336f122a 100644 --- a/haddock-api/src/Haddock/Interface.hs +++ b/haddock-api/src/Haddock/Interface.hs @@ -47,7 +47,6 @@ import Control.Exception (evaluate)  import Data.List  import qualified Data.Map as Map  import qualified Data.Set as Set -import Distribution.Verbosity  import Text.Printf  import Module (mkModuleSet, emptyModuleSet, unionModuleSet, ModuleSet) diff --git a/haddock-api/src/Haddock/Options.hs b/haddock-api/src/Haddock/Options.hs index e314bbd0..510810b0 100644 --- a/haddock-api/src/Haddock/Options.hs +++ b/haddock-api/src/Haddock/Options.hs @@ -43,7 +43,6 @@ module Haddock.Options (  import qualified Data.Char as Char  import           Data.Version  import           Control.Applicative -import           Distribution.Verbosity  import           FastString  import           GHC ( DynFlags, Module, moduleUnitId )  import           Haddock.Types @@ -332,7 +331,7 @@ sinceQualification flags =  verbosity :: [Flag] -> Verbosity  verbosity flags =    case [ str | Flag_Verbosity str <- flags ] of -    []  -> normal +    []  -> Normal      x:_ -> case parseVerbosity x of        Left e -> throwE e        Right v -> v diff --git a/haddock-api/src/Haddock/Utils.hs b/haddock-api/src/Haddock/Utils.hs index dda42cea..7673f02d 100644 --- a/haddock-api/src/Haddock/Utils.hs +++ b/haddock-api/src/Haddock/Utils.hs @@ -49,7 +49,7 @@ module Haddock.Utils (    MonadIO(..),    -- * Logging -  parseVerbosity, +  parseVerbosity, Verbosity(..), silent, normal, verbose, deafening,    out,    -- * System tools @@ -81,8 +81,6 @@ import System.Directory ( createDirectory, removeDirectoryRecursive )  import System.IO ( hPutStr, hSetEncoding, IOMode(..), stderr, utf8, withFile )  import System.IO.Unsafe ( unsafePerformIO )  import qualified System.FilePath.Posix as HtmlPath -import Distribution.Verbosity -import Distribution.ReadE  #ifndef mingw32_HOST_OS  import qualified System.Posix.Internals @@ -95,10 +93,27 @@ import MonadUtils ( MonadIO(..) )  -- * Logging  -------------------------------------------------------------------------------- +data Verbosity = Silent | Normal | Verbose | Deafening +  deriving (Eq, Ord, Enum, Bounded, Show) -parseVerbosity :: String -> Either String Verbosity -parseVerbosity = runReadE flagToVerbosity +silent, normal, verbose, deafening :: Verbosity +silent    = Silent +normal    = Normal +verbose   = Verbose +deafening = Deafening +-- | Parse out a verbosity level. Inspired from Cabal's verbosity parsing. +parseVerbosity :: String -> Either String Verbosity +parseVerbosity "0" = Right Silent +parseVerbosity "1" = Right Normal +parseVerbosity "2" = Right Silent +parseVerbosity "3" = Right Deafening +parseVerbosity "silent"    = return Silent +parseVerbosity "normal"    = return Normal +parseVerbosity "verbose"   = return Verbose +parseVerbosity "debug"     = return Deafening +parseVerbosity "deafening" = return Deafening +parseVerbosity other = Left ("Can't parse verbosity " ++ other)  -- | Print a message to stdout, if it is not too verbose  out :: MonadIO m | 
