module Main where
import Data.Map (mapKeysWith)
import System.Environment (getArgs)
import Version (versionStrip)
import Yeganesh (Options, deprecate, inFileName, merge, profile, parseOptions,
readPossiblyNonExistent, stripNewline, writeProfile)
runWithOptions :: Options -> IO ()
runWithOptions opts = do
inFile <- inFileName (profile opts)
(t, cmd) <- readPossiblyNonExistent inFile
writeProfile opts (t, mapKeysWith merge stripNewline cmd)
deprecate inFile (profile opts)
introText :: String
introText = unlines $ [
versionStrip,
"Usage: yeganesh-strip [-p profile]",
"The other options described below are accepted, but ignored.",
"Profiles are stored in the XDG data home for yeganesh."]
main :: IO ()
main = getArgs >>= either putStr runWithOptions . parseOptions introText versionStrip