From b20d44c618f370a1998c70dd5708d9bbe4ed1c80 Mon Sep 17 00:00:00 2001 From: Egor Tensin Date: Sun, 26 Mar 2017 19:03:03 +0300 Subject: rename directories --- bin/UnsetEnv.hs | 66 --------------------------------------------------------- 1 file changed, 66 deletions(-) delete mode 100644 bin/UnsetEnv.hs (limited to 'bin/UnsetEnv.hs') diff --git a/bin/UnsetEnv.hs b/bin/UnsetEnv.hs deleted file mode 100644 index 98b52e3..0000000 --- a/bin/UnsetEnv.hs +++ /dev/null @@ -1,66 +0,0 @@ --- | --- Copyright : (c) 2015 Egor Tensin --- License : MIT --- Maintainer : Egor.Tensin@gmail.com --- Stability : experimental --- Portability : Windows-only - -module Main (main) where - -import Control.Monad (void) -import Control.Monad.Trans.Except (runExceptT) -import System.IO.Error (ioError) - -import Options.Applicative - -import qualified WindowsEnv - -import Utils.Prompt -import Utils.PromptMessage - -data Options = Options - { optYes :: Bool - , optGlobal :: Bool - , optName :: WindowsEnv.VarName - } deriving (Eq, Show) - -optionParser :: Parser Options -optionParser = Options - <$> optYesDesc - <*> optGlobalDesc - <*> optNameDesc - where - optYesDesc = switch - $ long "yes" <> short 'y' - <> help "Skip confirmation prompt" - optGlobalDesc = switch - $ long "global" <> short 'g' - <> help "Unset for all users" - optNameDesc = argument str - $ metavar "NAME" - <> help "Variable name" - -main :: IO () -main = execParser parser >>= unsetEnv - where - parser = info (helper <*> optionParser) $ - fullDesc <> progDesc "Delete environment variables" - -unsetEnv :: Options -> IO () -unsetEnv options = runExceptT doUnsetEnv >>= either ioError return - where - varName = optName options - - forAllUsers = optGlobal options - profile - | forAllUsers = WindowsEnv.AllUsers - | otherwise = WindowsEnv.CurrentUser - - skipPrompt = optYes options - promptAnd - | skipPrompt = withoutPrompt - | otherwise = withPrompt $ wipeMessage profile varName - - wipe = WindowsEnv.wipe profile varName - - doUnsetEnv = void $ promptAnd wipe -- cgit v1.2.3