packages feed

forest-fire-0.1.0.0: app/Main.hs

module Main where

import Lib
import Console.Options

main :: IO ()
main = defaultMain $ do
  programName "forest-fire"
  programDescription "Recursively delete CFn dependencies"
  flagA    <- flag $ FlagLong "delete"
  allArgs  <- remainingArguments "FILE"
  action $ \toParam -> do
      let reallyDelete = toParam flagA
      let stackName    = toParam allArgs
      case stackName of
        [s] -> if reallyDelete
               then actuallyDoTheDelete s
               else showDeletionPlan s
        _   -> printUsage

printUsage = do
  putStrLn "\nforest-fire"
  putStrLn "-----------\n"
  putStrLn "Usage:\n"
  putStrLn "  forest-fire <stackname> [--delete]\n"
  putStrLn "Flags:\n"
  putStrLn "--delete       To actually perform the deletion."
  putStrLn ""