module Language.Lsd.AST.Type.Paragraph
    ( ParagraphFormat (..)
    , ParagraphType (..)
    )
where

import Language.Lsd.AST.Format (IdentifierFormat, ParagraphKeyFormat)
import Language.Lsd.AST.Type.Enum (EnumType)
import Language.Lsd.AST.Type.Text (TextType)

data ParagraphFormat
    = ParagraphFormat
        IdentifierFormat
        ParagraphKeyFormat
    deriving (Int -> ParagraphFormat -> ShowS
[ParagraphFormat] -> ShowS
ParagraphFormat -> String
(Int -> ParagraphFormat -> ShowS)
-> (ParagraphFormat -> String)
-> ([ParagraphFormat] -> ShowS)
-> Show ParagraphFormat
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> ParagraphFormat -> ShowS
showsPrec :: Int -> ParagraphFormat -> ShowS
$cshow :: ParagraphFormat -> String
show :: ParagraphFormat -> String
$cshowList :: [ParagraphFormat] -> ShowS
showList :: [ParagraphFormat] -> ShowS
Show)

data ParagraphType
    = ParagraphType
        ParagraphFormat
        (TextType EnumType)