haskell-tools-daemon-1.0.0.0: Language/Haskell/Tools/Daemon/MapExtensions.hs
-- | Mapping between Cabal's and GHC's representation of language extensions.
module Language.Haskell.Tools.Daemon.MapExtensions
( module Language.Haskell.Tools.Daemon.MapExtensions
, module Language.Haskell.Tools.Refactor.Utils.Extensions
) where
import DynFlags (DynFlags, xopt_unset, xopt_set)
import Language.Haskell.TH.LanguageExtensions as GHC (Extension)
import Language.Haskell.Tools.Refactor.Utils.Extensions
-- * Not imported from DynFlags.hs, so I copied it here
setExtensionFlag', unSetExtensionFlag' :: GHC.Extension -> DynFlags -> DynFlags
setExtensionFlag' f dflags = foldr ($) (xopt_set dflags f) deps
where
deps = [ if turn_on then setExtensionFlag' d
else unSetExtensionFlag' d
| (f', turn_on, d) <- impliedXFlags, f' == f ]
unSetExtensionFlag' f dflags = xopt_unset dflags f