diff options
Diffstat (limited to 'bin/Utils')
-rw-r--r-- | bin/Utils/Prompt.hs | 50 | ||||
-rw-r--r-- | bin/Utils/PromptMessage.hs | 39 |
2 files changed, 0 insertions, 89 deletions
diff --git a/bin/Utils/Prompt.hs b/bin/Utils/Prompt.hs deleted file mode 100644 index 51b3f0c..0000000 --- a/bin/Utils/Prompt.hs +++ /dev/null @@ -1,50 +0,0 @@ --- | --- Copyright : (c) 2015 Egor Tensin <Egor.Tensin@gmail.com> --- License : MIT --- Maintainer : Egor.Tensin@gmail.com --- Stability : experimental --- Portability : portable - -module Utils.Prompt - ( withPrompt - , withoutPrompt - ) where - -import Control.Monad (void, when) -import Control.Monad.Trans.Class (lift) -import Control.Monad.Trans.Except (ExceptT) -import Data.Char (toLower) -import System.IO (hFlush, stdout) - -prompt :: String -> IO String -prompt msg = do - putStr msg - hFlush stdout - getLine - -promptYesNo :: String -> IO Bool -promptYesNo msg = do - response <- map toLower <$> prompt msg - if response `elem` yeses - then return True - else if response `elem` noes - then return False - else promptToContinue - where - yeses = ["y", "yes"] - noes = ["n", "no"] - -promptToContinue :: IO Bool -promptToContinue = promptYesNo "Continue? (y/n) " - -withPrompt :: String -> ExceptT IOError IO a -> ExceptT IOError IO Bool -withPrompt msg m = do - lift $ do - putStr msg - hFlush stdout - agreed <- lift promptToContinue - when agreed $ void m - return agreed - -withoutPrompt :: ExceptT IOError IO a -> ExceptT IOError IO Bool -withoutPrompt m = m >> return True diff --git a/bin/Utils/PromptMessage.hs b/bin/Utils/PromptMessage.hs deleted file mode 100644 index 37fc1e6..0000000 --- a/bin/Utils/PromptMessage.hs +++ /dev/null @@ -1,39 +0,0 @@ --- | --- Copyright : (c) 2016 Egor Tensin <Egor.Tensin@gmail.com> --- License : MIT --- Maintainer : Egor.Tensin@gmail.com --- Stability : experimental --- Portability : Windows-only - -module Utils.PromptMessage - ( oldNewMessage - , newMessage - , wipeMessage - ) where - -import Text.Printf (printf) - -import qualified WindowsEnv - -oldNewMessage :: WindowsEnv.Profile -> WindowsEnv.VarName -> WindowsEnv.VarValue -> WindowsEnv.VarValue -> String -oldNewMessage profile name oldValue newValue = - descrMsg ++ oldValueMsg ++ newValueMsg - where - profileKey = WindowsEnv.profileKeyPath profile - descrMsg = printf "Saving variable '%s' to '%s'...\n" name (show profileKey) - oldValueMsg = printf "\tOld value: %s\n" oldValue - newValueMsg = printf "\tNew value: %s\n" newValue - -newMessage :: WindowsEnv.Profile -> WindowsEnv.VarName -> WindowsEnv.VarValue -> String -newMessage profile name newValue = - descrMsg ++ newValueMsg - where - profileKey = WindowsEnv.profileKeyPath profile - descrMsg = printf "Saving variable '%s' to '%s'...\n" name (show profileKey) - newValueMsg = printf "\tNew value: %s\n" newValue - -wipeMessage :: WindowsEnv.Profile -> WindowsEnv.VarName -> String -wipeMessage profile name = - printf "Deleting variable '%s' from '%s'...\n" name (show profileKey) - where - profileKey = WindowsEnv.profileKeyPath profile |