headroom-0.4.3.0: src/Headroom/FileSupport/TemplateData.hs
{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE StrictData #-}
{-|
Module : Headroom.FileSupport.TemplateData
Description : Custom data specific to file support implementations
Copyright : (c) 2019-2022 Vaclav Svejcar
License : BSD-3-Clause
Maintainer : vaclav.svejcar@gmail.com
Stability : experimental
Portability : POSIX
Because each implementation of file support might require some custom data
extracted for example from the template file, this module exposes data types
specific for individual implementations.
-}
module Headroom.FileSupport.TemplateData
( TemplateData(..)
, HaddockOffsets(..)
, HaskellTemplateData'(..)
)
where
import RIO
-- | Additional template data extracted from the template file.
data TemplateData
= HaskellTemplateData HaskellTemplateData'
-- ^ additional template data for /Haskell/
| NoTemplateData
-- ^ no additional template data provided
deriving (Eq, Show)
-- | Offsets for selected fields extracted from /Haddock module header/.
data HaddockOffsets = HaddockOffsets
{ hoCopyright :: Maybe Int
-- ^ offset for /Copyright/ field
}
deriving (Eq, Show)
-- | Additional template data required by /Haskell/ file support
data HaskellTemplateData' = HaskellTemplateData'
{ htdHaddockOffsets :: HaddockOffsets
-- ^ offsets for /Haddock/ fields
}
deriving (Eq, Show)