{-# LANGUAGE NoImplicitPrelude #-}

module Language.Haskell.Brittany.Internal.ToBriDoc where


import           Language.Haskell.Brittany.Internal.Types
import           Language.Haskell.Brittany.Internal.ToBriDoc.DataDecl
import           Language.Haskell.Brittany.Internal.ToBriDoc.Decl
import           Language.Haskell.Brittany.Internal.ToBriDoc.Expr
import           Language.Haskell.Brittany.Internal.ToBriDoc.OpTree
import           Language.Haskell.Brittany.Internal.ToBriDoc.IE
import           Language.Haskell.Brittany.Internal.ToBriDoc.Pattern
import           Language.Haskell.Brittany.Internal.ToBriDoc.Stmt
import           Language.Haskell.Brittany.Internal.ToBriDoc.Type

layouters :: Layouters
layouters = Layouters
  { layout_expr                 = layoutExpr
  , layout_lit                  = litBriDoc
  , layout_overLit              = overLitValBriDoc
  , layout_type                 = layoutType
  , layout_sigType              = layoutSigType
  , layout_stmt                 = layoutStmt
  , layout_gatherOpTreeE        = gatherOpTreeE
  , layout_gatherOpTreeT        = gatherOpTreeT
  , layout_opTree               = processOpTree
  , layout_grhs                 = layoutGrhs
  , layout_pat                  = layoutPat
  , layout_colsWrapPat          = colsWrapPat
  , layout_patternBind          = layoutPatternBind
  , layout_patternBindFinal     = layoutPatternBindFinal
  , layout_localBinds           = layoutLocalBinds
  , layout_dataDecl             = layoutDataDecl
  , layout_tyVarBndrs           = layoutTyVarBndrs
  , layout_tyVarBndrsSingleline = processTyVarBndrsSingleline
  , layout_hsTyPats             = layoutHsTyPats
  , layout_LLIEs                = layoutLLIEs
  , layout_annAndSepLLIEs       = layoutAnnAndSepLLIEs
  }