ormolu-0.3.1.0: A formatter for Haskell source code
Safe HaskellSafe-Inferred
LanguageHaskell2010

Ormolu.Utils.Extensions

Synopsis

Documentation

data Extension Source #

This represents language extensions beyond a base Language definition (such as Haskell98) that are supported by some implementations, usually in some special mode.

Where applicable, references are given to an implementation's official documentation.

Constructors

EnableExtension KnownExtension

Enable a known extension

DisableExtension KnownExtension

Disable a known extension

UnknownExtension String

An unknown extension, identified by the name of its LANGUAGE pragma.

Instances

Instances details
Parsec Extension 
Instance details

Defined in Language.Haskell.Extension

Pretty Extension 
Instance details

Defined in Language.Haskell.Extension

Structured Extension 
Instance details

Defined in Language.Haskell.Extension

Data Extension 
Instance details

Defined in Language.Haskell.Extension

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Extension -> c Extension Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Extension Source #

toConstr :: Extension -> Constr Source #

dataTypeOf :: Extension -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Extension) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Extension) Source #

gmapT :: (forall b. Data b => b -> b) -> Extension -> Extension Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Extension -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Extension -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> Extension -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Extension -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Extension -> m Extension Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Extension -> m Extension Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Extension -> m Extension Source #

Generic Extension 
Instance details

Defined in Language.Haskell.Extension

Associated Types

type Rep Extension :: Type -> Type Source #

Read Extension 
Instance details

Defined in Language.Haskell.Extension

Show Extension 
Instance details

Defined in Language.Haskell.Extension

Binary Extension 
Instance details

Defined in Language.Haskell.Extension

NFData Extension 
Instance details

Defined in Language.Haskell.Extension

Methods

rnf :: Extension -> () Source #

Eq Extension 
Instance details

Defined in Language.Haskell.Extension

Ord Extension 
Instance details

Defined in Language.Haskell.Extension

type Rep Extension 
Instance details

Defined in Language.Haskell.Extension

getExtensionsFromCabalFile Source #

Arguments

:: MonadIO m 
=> FilePath

Path to cabal file

-> m (Map FilePath [DynOption]) 

Get a map from Haskell source file paths (without any extensions) to its default language extensions

findCabalFile Source #

Arguments

:: MonadIO m 
=> FilePath

Absolute path to a Haskell source file in a project with a .cabal file

-> m (Maybe FilePath) 

Find the path to an appropriate .cabal file for a Haskell source file, if available

getCabalExtensionDynOptions Source #

Arguments

:: MonadIO m 
=> FilePath

Haskell source file

-> m [DynOption] 

Get the default language extensions of a Haskell source file. The .cabal file can be provided explicitly or auto-detected.