X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=utils%2Fhpc%2FHpc.hs;h=f5c7240a2495f50e9ffd531f3221e83bcf9f49ac;hb=0731082288212fbc6d68204b609f201b8a79149a;hp=08a4285073bc097b66571b9ee1a1da8e4fb71f91;hpb=256ab58eb8f41086b3df819db52db29750de6f00;p=ghc-hetmet.git diff --git a/utils/hpc/Hpc.hs b/utils/hpc/Hpc.hs index 08a4285..f5c7240 100644 --- a/utils/hpc/Hpc.hs +++ b/utils/hpc/Hpc.hs @@ -1,6 +1,7 @@ -- (c) 2007 Andy Gill -- Main driver for Hpc +import Trace.Hpc.Tix import HpcFlags import System.Environment import System.Exit @@ -11,6 +12,7 @@ import HpcMarkup import HpcCombine import HpcShowTix import HpcDraft +import HpcOverlay helpList :: IO () helpList = @@ -48,11 +50,11 @@ dispatch [] = do exitWith ExitSuccess dispatch (txt:args) = do case lookup txt hooks' of - Just plugin -> parse plugin - _ -> parse help_plugin + Just plugin -> parse plugin args + _ -> parse help_plugin (txt:args) where - parse plugin = - case getOpt Permute (options plugin) args of + parse plugin args = + case getOpt Permute (options plugin []) args of (_,_,errs) | not (null errs) -> do putStrLn "hpc failed:" sequence [ putStr (" " ++ err) @@ -62,7 +64,8 @@ dispatch (txt:args) = do command_usage plugin exitFailure (o,ns,_) -> do - let flags = foldr (.) (final_flags plugin) o + let flags = final_flags plugin + $ foldr (.) id o $ init_flags plugin implementation plugin flags ns main = do @@ -76,6 +79,7 @@ hooks = [ help_plugin , markup_plugin , combine_plugin , showtix_plugin + , overlay_plugin , draft_plugin , version_plugin ] @@ -105,14 +109,14 @@ help_main flags (sub_txt:_) = do command_usage plugin' exitWith ExitSuccess -help_options = [] +help_options = id ------------------------------------------------------------------------------ version_plugin = Plugin { name = "version" , usage = "" , summary = "Display version for hpc" - , options = [] + , options = id , implementation = version_main , init_flags = default_flags , final_flags = default_final_flags