{-# LANGUAGE NoImplicitPrelude #-}
module Stack.Options.ConfigEnvParser
( configCmdEnvParser
) where
import qualified Options.Applicative as OA
import Options.Applicative.Builder.Extra ( boolFlags )
import Stack.Prelude
import Stack.Types.EnvSettings ( EnvSettings (..) )
configCmdEnvParser :: OA.Parser EnvSettings
configCmdEnvParser :: Parser EnvSettings
configCmdEnvParser = Bool -> Bool -> Bool -> Bool -> Bool -> EnvSettings
EnvSettings
(Bool -> Bool -> Bool -> Bool -> Bool -> EnvSettings)
-> Parser Bool
-> Parser (Bool -> Bool -> Bool -> Bool -> EnvSettings)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Bool -> String -> String -> Mod FlagFields Bool -> Parser Bool
boolFlags Bool
True String
"locals" String
"include information about local packages" Mod FlagFields Bool
forall a. Monoid a => a
mempty
Parser (Bool -> Bool -> Bool -> Bool -> EnvSettings)
-> Parser Bool -> Parser (Bool -> Bool -> Bool -> EnvSettings)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Bool -> String -> String -> Mod FlagFields Bool -> Parser Bool
boolFlags Bool
True
String
"ghc-package-path" String
"set GHC_PACKAGE_PATH environment variable" Mod FlagFields Bool
forall a. Monoid a => a
mempty
Parser (Bool -> Bool -> Bool -> EnvSettings)
-> Parser Bool -> Parser (Bool -> Bool -> EnvSettings)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Bool -> String -> String -> Mod FlagFields Bool -> Parser Bool
boolFlags Bool
True String
"stack-exe" String
"set STACK_EXE environment variable" Mod FlagFields Bool
forall a. Monoid a => a
mempty
Parser (Bool -> Bool -> EnvSettings)
-> Parser Bool -> Parser (Bool -> EnvSettings)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Bool -> String -> String -> Mod FlagFields Bool -> Parser Bool
boolFlags Bool
False
String
"locale-utf8" String
"set the GHC_CHARENC environment variable to UTF-8" Mod FlagFields Bool
forall a. Monoid a => a
mempty
Parser (Bool -> EnvSettings) -> Parser Bool -> Parser EnvSettings
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Bool -> String -> String -> Mod FlagFields Bool -> Parser Bool
boolFlags Bool
False
String
"keep-ghc-rts" String
"keep any GHCRTS environment variable" Mod FlagFields Bool
forall a. Monoid a => a
mempty