extensions-0.0.0.0: src/Extensions.hs
{- |
Copyright: (c) 2020 Kowainik
SPDX-License-Identifier: MPL-2.0
Maintainer: Kowainik <xrom.xkov@gmail.com>
Library to get Haskell Language Extensions from @.cabal@ files, Haskell Modules,
or get combined information from both sources preserving correct merge logic of
extensions.
-}
module Extensions
( -- $types
module Extensions.Types
-- $package
, module Extensions.Package
-- $cabal
, module Extensions.Cabal
-- $module
, module Extensions.Module
) where
import Extensions.Cabal
import Extensions.Module
import Extensions.Package
import Extensions.Types
{- $types
Main data types to work with any kind of extensions and all possible errors
during the work of @extensions@ functions.
To read more on Haskell Extensions, see the following documentation page:
* [GHC Language Extensions](https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/glasgow_exts.html)
In @extensions@ we support both @Haskell2010@ and @SafeHaskell@
extensions.
-}
{- $package
Main functions to get information of used extensions by combined information
from @.cabal@ files and Haskell modules. This module includes functions that
could work with file paths or file sources, these functions kindly combine
extensions information in a convenient way. However, there are functions that
return Cabal and Module information separately for specified modules.
These functions use provided by "Extensions.Cabal" and "Extensions.Module"
functions to achieve that.
-}
{- $cabal
Functions to extract extensions from the @.cabal@ files.
Also, this module provides convenient functions for conversion of Cabal and GHC
extensions types.
-}
{- $module
Functions to extract extensions from the Haskell modules.
Also, this module exports convenient internal parsing functions for Haskell
module extensions and necessary statements.
-}