mdoc-0.1.0.0: src/Mdoc/Pretty/TroffMacro.hs
-- |
--
-- Module : Mdoc.Pretty.TroffMacro
-- Copyright : (c) 2026 Patrick Brisbin
-- License : AGPL-3
-- Maintainer : pbrisbin@gmail.com
-- Stability : experimental
-- Portability : POSIX
module Mdoc.Pretty.TroffMacro
( prettyTroffMacro
) where
import Mdoc.Prelude
import Mdoc.Pretty
import Mdoc.TroffMacro
prettyTroffMacro :: TroffMacro -> Doc Ann
prettyTroffMacro = \case
TroffMacroDefineS name mValue ->
annotate AnnKeyword ".ds"
<+> pretty name
<> maybe "" ((" " <>) . pretty) mValue
TroffMacroDefine name mEnd ->
annotate AnnKeyword ".de"
<+> pretty name
<> maybe "" ((" " <>) . pretty) mEnd
TroffMacroCall name args ->
annotate AnnKeyword (pretty $ "." <> name)
<> hsep (punctuate " " (map pretty args))
TroffMacroEnd t -> pretty t