module Distribution.Types.Executable.Lens (
Executable,
module Distribution.Types.Executable.Lens,
) where
import Distribution.Compat.Lens
import Distribution.Compat.Prelude
import Prelude ()
import Distribution.Types.BuildInfo (BuildInfo)
import Distribution.Types.Executable (Executable)
import Distribution.Types.ExecutableScope (ExecutableScope)
import Distribution.Types.UnqualComponentName (UnqualComponentName)
import qualified Distribution.Types.Executable as T
exeName :: Lens' Executable UnqualComponentName
exeName f s = fmap (\x -> s { T.exeName = x }) (f (T.exeName s))
modulePath :: Lens' Executable String
modulePath f s = fmap (\x -> s { T.modulePath = x }) (f (T.modulePath s))
exeScope :: Lens' Executable ExecutableScope
exeScope f s = fmap (\x -> s { T.exeScope = x }) (f (T.exeScope s))
exeBuildInfo :: Lens' Executable BuildInfo
exeBuildInfo f s = fmap (\x -> s { T.buildInfo = x }) (f (T.buildInfo s))