module Concatenate.Options
( ConcatenateArguments (..)
, Concatenate
, concatenateArguments
) where
import Control.Applicative
import Control.Monad.Logger
import Control.Monad.Trans.Reader
import Options.Applicative
import Tools
import ELynx.Data.Alphabet.Alphabet
data ConcatenateArguments = ConcatenateArguments
{ ccAlphabet :: Alphabet
, ccInFiles :: [FilePath] }
type Concatenate = LoggingT (ReaderT ConcatenateArguments IO)
concatenateArguments :: Parser ConcatenateArguments
concatenateArguments = ConcatenateArguments
<$> alphabetOpt
<*> some inFileArg
inFileArg :: Parser FilePath
inFileArg = strArgument $
metavar "INPUT-FILE" <>
help "Read sequences from INPUT-FILE"