module Development.Rattle.CmdOption(
CmdOption2(..),
toCmdOption, fromCmdOption
) where
import Development.Shake.Command
import System.FilePattern
data CmdOption2
= Ignored [FilePattern]
| HashNonDeterministic [FilePattern]
| WriteFile FilePath
deriving (Read, Show)
instance IsCmdArgument CmdOption2 where
toCmdArgument = toCmdArgument . toCmdOption
toCmdOption :: CmdOption2 -> CmdOption
toCmdOption = AddEnv "#!RATTLE" . show
fromCmdOption :: CmdOption -> Either CmdOption CmdOption2
fromCmdOption (AddEnv "#!RATTLE" x) = Right $ read x
fromCmdOption x = Left x