doc-review-0.7: src/Config/Command/Scan.hs
module Config.Command.Scan
( Config(..)
, opts
, mkCfg
)
where
import Config.Store ( storeOptDescr, ParseStore )
import Config.GetOpt ( Opts, MkCfg, noArgs, contentDirDesc )
import State.Types ( State )
data Config =
Config
{ contentDir :: !(FilePath)
, store :: !(Maybe (IO State))
-- ^If this is Nothing, then just print out what we find.
}
opts :: [ParseStore (IO State)] -> Opts Config
opts ss =
[ contentDirDesc $ \p -> return $ \cfg -> cfg { contentDir = p }
, storeOptDescr ss $ \st cfg -> cfg { store = Just st }
]
mkCfg :: MkCfg Config
mkCfg = noArgs $ Config "." Nothing