diff options
author | Egor Tensin <Egor.Tensin@gmail.com> | 2016-07-18 00:43:21 +0300 |
---|---|---|
committer | Egor Tensin <Egor.Tensin@gmail.com> | 2016-07-18 00:43:21 +0300 |
commit | be9299d2dc8e0a9e76fe6f07cabb15c144999710 (patch) | |
tree | 91a68cd35e78c612eb358181f24e91fda904e766 /apps/FixNtSymbolPath.hs | |
parent | put modules to 'Windows' (diff) | |
download | windows-env-be9299d2dc8e0a9e76fe6f07cabb15c144999710.tar.gz windows-env-be9299d2dc8e0a9e76fe6f07cabb15c144999710.zip |
refactoring
Diffstat (limited to '')
-rw-r--r-- | apps/FixNtSymbolPath.hs | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/apps/FixNtSymbolPath.hs b/apps/FixNtSymbolPath.hs index 8c999a8..219ceb2 100644 --- a/apps/FixNtSymbolPath.hs +++ b/apps/FixNtSymbolPath.hs @@ -15,7 +15,8 @@ import System.FilePath (combine) import Options.Applicative import qualified Windows.Environment as Env -import qualified Utils +import Banner +import Prompt data Options = Options { optYes :: Bool @@ -72,22 +73,22 @@ fixNtSymbolPath options = do let newPaths = union oldPaths $ dirPaths remoteDirs when (length oldPaths /= length newPaths) $ do let newValue = Env.pathJoin newPaths - let promptBanner = Utils.engraveBanner profile varName oldValue newValue - confirmed <- prompt promptBanner $ Env.engrave profile varName newValue - when confirmed $ + let banner = engraveBanner profile varName oldValue newValue + agreed <- prompt banner $ Env.engrave profile varName newValue + when agreed $ createDirs localDirs where varName = "_NT_SYMBOL_PATH" forAllUsers = optGlobal options - profile = if forAllUsers - then Env.AllUsers - else Env.CurrentUser + profile + | forAllUsers = Env.AllUsers + | otherwise = Env.CurrentUser skipPrompt = optYes options - prompt = if skipPrompt - then const Utils.withoutPrompt - else Utils.withPrompt + prompt + | skipPrompt = const withoutPrompt + | otherwise = withPrompt main :: IO () main = execParser parser >>= fixNtSymbolPath |