module Environment (Environment(..),defaultEnv) where -- Section: environment (to be configured) {- | The environment contains the command name, operands, and the result of every option at least. It may contain other items that need to be updated. -} data Environment = Env { command :: String -- ^ Program name , pwd :: String -- ^ Present Working Directory (PWD) , operands :: [String] -- ^ @trgdir@ @srcdir@ @[srcdir...]@ , absolute :: Bool -- ^ @-a@, use absolute symbolic links , deBackstop :: Bool -- ^ @-d@, de-backstop trgdir , help :: Bool -- ^ @-h@, display help summary , license :: Bool -- ^ @-l@, display license terms , manual :: Bool -- ^ @-m@, display internal man page , noAction :: Bool -- ^ @-n@, take no action but trace steps , populate :: Bool -- ^ @-p@, populate trgdir with sub-directories , report :: Bool -- ^ @-r@, report final statistics , trace :: Bool -- ^ @-t@, trace steps , version :: Bool -- ^ @-v@, display version , synopsis :: Bool -- ^ @-y@, display manual synopsis } deriving Show -- The default Environment {- | The defualt values, otherwise updated from the flags supplied on by the command line options. The default program name is @backstop@. All options flags are False or off by default. -} defaultEnv :: Environment defaultEnv = Env { command = "backstop" -- Default program name , pwd = "" -- No PWD by default , operands = [] -- No operands by default , absolute = False -- False or off by default , deBackstop = False -- False or off by default , help = False -- False or off by default , license = False -- False or off by default , manual = False -- False or off by default , noAction = False -- False or off by default , populate = False -- False or off by default , report = False -- False or off by default , trace = False -- False or off by default , synopsis = False -- False or off by default , version = False -- False or off by default }