-- |
--
-- Module      : Network.URI.Template.Internal.Pretty
-- Copyright   : (c) 2025 Patrick Brisbin
-- License     : AGPL-3
-- Maintainer  : pbrisbin@gmail.com
-- Stability   : experimental
-- Portability : POSIX
module Network.URI.Template.Internal.Pretty
  ( Ann (..)
  , renderPlain

    -- * Re-exports
  , module Prettyprinter
  ) where

import Prelude

import Prettyprinter
import Prettyprinter.Render.String

data Ann
  = AnnPunctuation
  | AnnOperator
  | AnnVarName
  | AnnModifier
  | AnnString

renderPlain :: Doc ann -> String
renderPlain :: forall ann. Doc ann -> String
renderPlain = SimpleDocStream ann -> String
forall ann. SimpleDocStream ann -> String
renderString (SimpleDocStream ann -> String)
-> (Doc ann -> SimpleDocStream ann) -> Doc ann -> String
forall b c a. (b -> c) -> (a -> b) -> a -> c
. LayoutOptions -> Doc ann -> SimpleDocStream ann
forall ann. LayoutOptions -> Doc ann -> SimpleDocStream ann
layoutPretty LayoutOptions
defaultLayoutOptions