cabal-cargs-0.1.1: lib/CabalCargs/Fields.hs
{-# LANGUAGE PatternGuards #-}
module CabalCargs.Fields
( Fields(..)
, fields
) where
import CabalCargs.Args (Args)
import qualified CabalCargs.Args as Args
import qualified CabalCargs.Field as F
-- | Which fields should be considered for the print out.
data Fields = AllFields -- ^ all fields are printed out
| Fields [F.Field] -- ^ only these fields are printed out
deriving (Show, Eq)
-- | Convert the command line arguments into 'Fields'.
fields :: Args -> Fields
fields args
| fs@(_:_) <- Args.only args
= Fields fs
| otherwise
= AllFields