From f6a387de4b2320d339e9d22b2188de14fa8fdf62 Mon Sep 17 00:00:00 2001 From: Joshua Simmons Date: Wed, 9 Dec 2015 21:27:40 -0700 Subject: [PATCH] make verbosity silent by default in script interpreter mode fixes #1472 --- src/Stack/Options.hs | 12 ++++++------ src/main/Main.hs | 4 +++- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/Stack/Options.hs b/src/Stack/Options.hs index 14601dd4f6..0dc2314154 100644 --- a/src/Stack/Options.hs +++ b/src/Stack/Options.hs @@ -565,12 +565,12 @@ execOptsExtraParser = eoPlainParser <|> help "Use an unmodified environment (only useful with Docker)") -- | Parser for global command-line options. -globalOptsParser :: Bool -> Parser GlobalOptsMonoid -globalOptsParser hide0 = +globalOptsParser :: Bool -> Maybe LogLevel -> Parser GlobalOptsMonoid +globalOptsParser hide0 defLogLevel = GlobalOptsMonoid <$> optional (strOption (long Docker.reExecArgName <> hidden <> internal)) <*> optional (option auto (long dockerEntrypointArgName <> hidden <> internal)) <*> - logLevelOptsParser hide0 <*> + logLevelOptsParser hide0 defLogLevel <*> configOptsParser hide0 <*> optional (abstractResolverOptsParser hide0) <*> optional (compilerOptsParser hide0) <*> @@ -629,8 +629,8 @@ initOptsParser = help "Use the given resolver, even if not all dependencies are met") -- | Parser for a logging level. -logLevelOptsParser :: Bool -> Parser (Maybe LogLevel) -logLevelOptsParser hide = +logLevelOptsParser :: Bool -> Maybe LogLevel -> Parser (Maybe LogLevel) +logLevelOptsParser hide defLogLevel = fmap (Just . parse) (strOption (long "verbosity" <> metavar "VERBOSITY" <> @@ -640,7 +640,7 @@ logLevelOptsParser hide = (short 'v' <> long "verbose" <> help ("Enable verbose mode: verbosity level \"" <> showLevel verboseLevel <> "\"") <> hideMods hide) <|> - pure Nothing + pure defLogLevel where verboseLevel = LevelDebug showLevel l = case l of diff --git a/src/main/Main.hs b/src/main/Main.hs index 1d007be418..56db0c71c4 100644 --- a/src/main/Main.hs +++ b/src/main/Main.hs @@ -142,7 +142,9 @@ main = withInterpreterArgs stackProgName $ \args isInterpreter -> do let globalOpts hide = extraHelpOption hide progName (Docker.dockerCmdName ++ "*") dockerHelpOptName <*> extraHelpOption hide progName (Nix.nixCmdName ++ "*") nixHelpOptName <*> - globalOptsParser hide + globalOptsParser hide (if isInterpreter + then Just $ LevelOther "silent" + else Nothing) addCommand' cmd title footerStr constr = addCommand cmd title footerStr constr (globalOpts True) addSubCommands' cmd title footerStr =