module HpcFlags where
import System.Console.GetOpt
-import Data.Maybe ( fromMaybe )
import qualified HpcSet as Set
import Data.Char
import Trace.Hpc.Tix
+import System.Exit
data Flags = Flags
{ outputFile :: String
then ""
else usageInfo "\n\nOptions:\n" (options plugin)
+hpcError :: Plugin -> String -> IO a
+hpcError plugin msg = do
+ putStrLn $ "Error: " ++ msg
+ command_usage plugin
+ exitFailure
+
-------------------------------------------------------------------------------
data Plugin = Plugin { name :: String
where
-- pkg name always ends with '/', main
(pkg_name,mod_name) =
- case span (/= ':') full_mod of
- (p,':':m) -> (p ++ ":",m)
+ case span (/= '/') full_mod of
+ (p,'/':m) -> (p ++ ":",m)
(m,[]) -> (":",m)
_ -> error "impossible case in allowModule"
filterTix flags (Tix tixs) =
Tix $ filter (allowModule flags . tixModuleName) tixs
+
+
------------------------------------------------------------------------------
-- HpcCombine specifics