{-# OPTIONS -Wall #-} module Main where import Control.Monad import Documentation.Haddock.Docs import GHC (mkModuleName) import Options.Applicative main :: IO () main = do (mname, name, pname, ghcopts) <- execParser opts withInitializedPackages ghcopts $ \d -> void $ printDocumentation d name (mkModuleName mname) pname Nothing where opts = info (helper <*> p) fullDesc p = (\a b c d -> (a, b, c, d)) <$> pModuleName <*> pName <*> (optional pPackageName) <*> pGhcOptions pModuleName = argument str (metavar "") pName = argument str (metavar "") pPackageName = argument str (metavar "") pGhcOptions = many $ strOption (long "ghc-options" `mappend` short 'g')