mdoc-0.4.0.0: src/Mdoc/Data/Described.hs
-- |
--
-- Module : Mdoc.Data.Described
-- Copyright : (c) 2026 Patrick Brisbin
-- License : AGPL-3
-- Maintainer : pbrisbin@gmail.com
-- Stability : experimental
-- Portability : POSIX
module Mdoc.Data.Described
( Described (..)
) where
import Mdoc.Prelude
import Data.Function (on)
import Mdoc.Data.Optionality
import Mdoc.Syntax
data Described a = Described
{ item :: a
, optionality :: Optionality
, multiple :: Bool
, help :: Maybe Mdoc
, example :: Maybe Mdoc
}
deriving stock (Foldable, Functor, Generic, Show, Traversable)
deriving anyclass (ToJSON)
instance Eq a => Eq (Described a) where
(==) = (==) `on` (.item)
instance Ord a => Ord (Described a) where
compare = comparing (.item)