packages feed

stack-clean-old-0.3: src/Remove.hs

module Remove (
  doRemoveDirectory,
  prompt,
  removeFile
  )
where

import Control.Monad.Extra
import qualified System.Directory as D

doRemoveDirectory :: Bool -> FilePath -> IO ()
doRemoveDirectory dryrun dir =
  unless dryrun $
  D.removeDirectoryRecursive dir

removeFile :: Bool -> FilePath -> IO ()
removeFile dryrun file =
  unless dryrun $
  whenM (D.doesFileExist file) $
  D.removeFile file

prompt :: Bool -> String -> IO ()
prompt dryrun str =
  unless dryrun $ do
  putStr $ "Press Enter to delete " ++ str ++ ": "
  void getLine