diff options
Diffstat (limited to '')
-rw-r--r-- | apps/AddPath.hs | 2 | ||||
-rw-r--r-- | apps/ListPath.hs | 6 | ||||
-rw-r--r-- | apps/Prompt.hs | 4 | ||||
-rw-r--r-- | apps/RemovePath.hs | 2 | ||||
-rw-r--r-- | src/Windows/Registry.hs | 8 |
5 files changed, 11 insertions, 11 deletions
diff --git a/apps/AddPath.hs b/apps/AddPath.hs index 1f80f70..1b27b84 100644 --- a/apps/AddPath.hs +++ b/apps/AddPath.hs @@ -53,7 +53,7 @@ addPath :: Options -> IO () addPath options = do oldValue <- Env.query profile varName let oldPaths = Env.pathSplit $ fromMaybe "" oldValue - let newPaths = union oldPaths pathsToAdd + let newPaths = oldPaths `union` pathsToAdd when (length oldPaths /= length newPaths) $ do let newValue = Env.pathJoin newPaths let promptAnd = if skipPrompt diff --git a/apps/ListPath.hs b/apps/ListPath.hs index bed1978..b9cc121 100644 --- a/apps/ListPath.hs +++ b/apps/ListPath.hs @@ -6,7 +6,7 @@ module Main (main) where -import Control.Monad (filterM, liftM) +import Control.Monad (filterM) import Data.Maybe (fromMaybe) import System.Directory (doesDirectoryExist) import System.Environment (lookupEnv) @@ -20,7 +20,7 @@ data WhichPaths = All | ExistingOnly | MissingOnly shouldListPath :: WhichPaths -> Env.VarValue -> IO Bool shouldListPath All = return . const True shouldListPath ExistingOnly = doesDirectoryExist -shouldListPath MissingOnly = liftM not . doesDirectoryExist +shouldListPath MissingOnly = fmap not . doesDirectoryExist data Options = Options { optName :: Env.VarName @@ -53,7 +53,7 @@ listPath options = do varName = optName options whichPaths = optWhichPaths options - query = liftM (fromMaybe "") $ lookupEnv varName + query = fromMaybe "" <$> lookupEnv varName printPaths paths = filterM (shouldListPath whichPaths) paths >>= mapM_ putStrLn diff --git a/apps/Prompt.hs b/apps/Prompt.hs index 07c2299..0beecc2 100644 --- a/apps/Prompt.hs +++ b/apps/Prompt.hs @@ -9,7 +9,7 @@ module Prompt , withoutPrompt ) where -import Control.Monad (liftM, void, when) +import Control.Monad (void, when) import Data.Char (toLower) import System.IO (hFlush, stdout) @@ -21,7 +21,7 @@ prompt msg = do promptYesNo :: String -> IO Bool promptYesNo msg = do - response <- liftM (map toLower) $ prompt msg + response <- map toLower <$> prompt msg if response `elem` yeses then return True else if response `elem` noes diff --git a/apps/RemovePath.hs b/apps/RemovePath.hs index 4c4f289..8d9692b 100644 --- a/apps/RemovePath.hs +++ b/apps/RemovePath.hs @@ -52,7 +52,7 @@ main = execParser parser >>= removePath removePath :: Options -> IO () removePath options = do removePathFrom Env.CurrentUser - when forAllUsers $ do + when forAllUsers $ removePathFrom Env.AllUsers where varName = optName options diff --git a/src/Windows/Registry.hs b/src/Windows/Registry.hs index a8504d6..6661177 100644 --- a/src/Windows/Registry.hs +++ b/src/Windows/Registry.hs @@ -25,6 +25,7 @@ module Windows.Registry , setString ) where +import Control.Monad (unless) import Data.List (intercalate) import Data.List.Split (splitOn) import Foreign.ForeignPtr (withForeignPtr) @@ -76,7 +77,7 @@ raiseDoesNotExistError functionName = ioError $ mkIOError doesNotExistErrorType functionName Nothing Nothing raiseUnknownError :: String -> WinAPI.ErrCode -> IO a -raiseUnknownError functionName exitCode = WinAPI.failWith functionName exitCode +raiseUnknownError = WinAPI.failWith exitCodeSuccess :: WinAPI.ErrCode exitCodeSuccess = 0 @@ -94,9 +95,8 @@ delValue keyHandle valueName = withForeignPtr keyHandle $ \keyPtr -> WinAPI.withTString valueName $ \valueNamePtr -> do ret <- WinAPI.c_RegDeleteValue keyPtr valueNamePtr - if ret == exitCodeSuccess - then return () - else raiseError "RegDeleteValue" ret + unless (ret == exitCodeSuccess) $ + raiseError "RegDeleteValue" ret type ValueType = WinAPI.RegValueType |