cmdtheline-0.2.3: doc/examples/grep.hs
import System.Console.CmdTheLine
import Control.Applicative
import Data.List ( intersperse )
import System.Cmd ( system )
import System.Exit ( exitWith )
grep :: String -> [String] -> IO ()
grep pattern dests = do
exitWith =<< system (concat . intersperse " " $ [ "grep", pattern ] ++ dests)
-- An example of using the 'pos' and 'posRight' Terms.
grepTerm = ( grep <$> pattern <*> files, termInfo )
where
pattern = required $ pos 0 Nothing posInfo { posName = "PATTERN" }
files = value $ posRight 0 [] posInfo { posName = "FILE" }
termInfo = defTI
{ termName = "grep"
, version = "2.5"
, termDoc = "Search for PATTERN in FILE(s) or standard in."
, man =
[ S "BUGS"
, P "Please send bug reports to <throatWobblerMangrove@example.com>"
]
}
main = run grepTerm