-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | General layouting library. Currently supports layouting 2D areas and can be used as a backend for text pretty printing or automatic windows layouting managers. -- -- General layouting library. Currently supports layouting 2D areas and -- can be used as a backend for text pretty printing or automatic windows -- layouting managers. @package layouting @version 1.1.3 module Data.Layout betweenWith :: (a -> a -> a) -> a -> a -> a -> a surroundedWith :: (a -> a -> a) -> a -> a -> a -> a between :: Semigroup a => a -> a -> a -> a between' :: Semigroup a => a -> a -> a space :: IsString a => a parensed :: (Semigroup a, IsString a) => a -> a bracked :: (Semigroup a, IsString a) => a -> a braced :: (Semigroup a, IsString a) => a -> a chevroned :: (Semigroup a, IsString a) => a -> a spaced :: (Semigroup a, IsString a) => a -> a quoted :: (Semigroup a, IsString a) => a -> a singleQuoted :: (Semigroup a, IsString a) => a -> a backticked :: (Semigroup a, IsString a) => a -> a enumerateWith :: (Monoid a, Foldable f) => a -> a -> f a -> a enumerateAlt :: (Monoid a, IsString a, Foldable f) => f a -> a enumerateSeq :: (Monoid a, IsString a, Foldable f) => f a -> a newtype Delta Delta :: Word64 -> Delta class ElemBuilderT t m a plainT :: ElemBuilderT t m a => m a -> t m a class ElemBuilder m a plain :: ElemBuilder m a => a -> m a class RenderT t m a renderT :: RenderT t m a => t m a -> m a class Render m a render :: Render m a => m a -> a nested :: Render m a => m a -> m a phantom :: (ElemBuilder t a, Mempty a) => t a data Bounds Bounds :: !Delta -> !Delta -> Bounds [$sel:_width:Bounds] :: Bounds -> !Delta [$sel:_height:Bounds] :: Bounds -> !Delta data Bounded a Bounded :: Bounds -> a -> Bounded a [$sel:__bounds:Bounded] :: Bounded a -> Bounds [$sel:__elem:Bounded] :: Bounded a -> a class HasBounds c_amEL bounds :: HasBounds c_amEL => Lens' c_amEL Bounds height :: HasBounds c_amEL => Lens' c_amEL Delta width :: HasBounds c_amEL => Lens' c_amEL Delta bounded_elem :: forall a_al4X a_amHg. Lens (Bounded a_al4X) (Bounded a_amHg) a_al4X a_amHg bounded_bounds :: forall a_al4X. Lens' (Bounded a_al4X) Bounds class Measurable a measure :: Measurable a => a -> Bounds bounded :: Lens (Bounded a) (Bounded b) a b unbound :: Bounded a -> a data Dir Vertical :: Dir Horizontal :: Dir data CartTree t m a Empty :: CartTree t m a Plain :: !(m a) -> CartTree t m a Concat :: !Dir -> !(t m a) -> !(t m a) -> CartTree t m a class Concatenable a concat :: Concatenable a => Dir -> a -> a -> a hcat :: Concatenable a => a -> a -> a vcat :: Concatenable a => a -> a -> a () :: Concatenable a => a -> a -> a infixr 6 class Spacing a spacing :: Spacing a => Bounds -> a hspacing :: (ElemBuilder t a, Spacing a) => Delta -> t a vspacing :: (ElemBuilder t a, Spacing a) => Delta -> t a (<+>) :: (ElemBuilder t a, Semigroup (t a), Spacing a) => t a -> t a -> t a infixr 6 <+> () :: (Concatenable (t a), ElemBuilder t a, Spacing a) => t a -> t a -> t a infixr 6 () :: (Concatenable (t a), ElemBuilder t a, Spacing a) => t a -> t a -> t a infixr 6 () :: (Concatenable (t a), ElemBuilder t a, Spacing a) => t a -> t a -> t a infixr 6 data LineBlock a LineBlock :: Bounds -> [a] -> LineBlock a [$sel:__bounds:LineBlock] :: LineBlock a -> Bounds [$sel:_lines:LineBlock] :: LineBlock a -> [a] lines :: forall a_amHT a_ao2G. Lens (LineBlock a_amHT) (LineBlock a_ao2G) [a_amHT] [a_ao2G] lineBlock_bounds :: forall a_amHT. Lens' (LineBlock a_amHT) Bounds renderLineBlock :: (IsString a, Monoid a, Item a ~ Char, FiniteSequence a) => LineBlock a -> a concatLineBlock :: (IsString a, Monoid a) => LineBlock a -> a type GenLineBlockConcatCtx a = (Convertible String a, Monoid a) type BlockBuilder = BlockBuilderT Identity newtype BlockBuilderT m a BlockBuilderT :: (CartTree BlockBuilderT m a) -> BlockBuilderT m a append :: BlockBuilder a -> BlockBuilder a -> BlockBuilder a prepend :: BlockBuilder a -> BlockBuilder a -> BlockBuilder a type LineBuilder = LineBuilderT Identity newtype LineBuilderT m a LineBuilderT :: (CartTree LineBuilderT m a) -> LineBuilderT m a block :: (Render t a, Concatenable (t a), ElemBuilder t a, Mempty a) => t a -> t a indented :: (ElemBuilder t a, Spacing a, Semigroup (t a)) => t a -> t a -- | The Doc type is just an alias to predefined layouting -- transformers. It is unified type allowing many fancy utils, like -- inserting indented code blocks. type Doc a = LineBuilderT BlockBuilder (LineBlock a) instance Data.Layout.LineBuilderT m1 a1 ~ t => Control.Lens.Wrapped.Rewrapped (Data.Layout.LineBuilderT m2 a2) t instance Control.Lens.Wrapped.Wrapped (Data.Layout.LineBuilderT m a) instance Data.Layout.Measurable Data.Text.Internal.Text instance Data.Text.Terminal.Stylable a => Data.Text.Terminal.Stylable (Data.Layout.LineBlock a) instance (Data.Text.Terminal.Stylable a, GHC.Base.Functor m) => Data.Text.Terminal.Stylable (Data.Layout.BlockBuilderT m a) instance (Data.Text.Terminal.Stylable a, GHC.Base.Functor m) => Data.Text.Terminal.Stylable (Data.Layout.LineBuilderT m a) instance Data.Layout.Measurable Data.Text.Terminal.TermText instance Data.Layout.Concatenable (Data.Layout.LineBuilderT m a) instance GHC.Base.Monoid (Data.Layout.LineBuilderT m a) instance Data.Semigroup.Semigroup (Data.Layout.LineBuilderT m a) instance Data.Monoids.Mempty (Data.Layout.LineBuilderT m a) instance Data.Foldable.Foldable m => Data.Foldable.Foldable (Data.Layout.LineBuilderT m) instance Data.Traversable.Traversable m => Data.Traversable.Traversable (Data.Layout.LineBuilderT m) instance GHC.Base.Functor m => GHC.Base.Functor (Data.Layout.LineBuilderT m) instance GHC.Show.Show (m a) => GHC.Show.Show (Data.Layout.LineBuilderT m a) instance Data.Layout.ElemBuilderT Data.Layout.LineBuilderT m a instance (Data.Layout.Concatenable (m a), Data.Monoids.Monoid (m a)) => Data.Layout.RenderT Data.Layout.LineBuilderT m a instance Data.Convert.Class.Convertible2 (Data.Layout.CartTree Data.Layout.LineBuilderT) Data.Layout.LineBuilderT instance (Data.Layout.ElemBuilder m a, Data.String.IsString a) => Data.String.IsString (Data.Layout.LineBuilderT m a) instance (Data.Layout.ElemBuilder m a, Data.Convert.Class.Convertible' Data.Text.Internal.Text a) => Data.Convert.Class.Convertible Data.Text.Internal.Text (Data.Layout.LineBuilderT m a) instance (Data.Layout.ElemBuilder m a, Data.Convert.Class.Convertible' Data.Text.Internal.Text a) => Data.Convert.Class.Convertible GHC.Base.String (Data.Layout.LineBuilderT m a) instance (Data.Layout.ElemBuilder m a, Data.Convert.Class.Convertible' Data.Text.Internal.Text a) => Data.Convert.Class.Convertible GHC.Types.Char (Data.Layout.LineBuilderT m a) instance Data.Layout.BlockBuilderT m1 a1 ~ t => Control.Lens.Wrapped.Rewrapped (Data.Layout.BlockBuilderT m2 a2) t instance Control.Lens.Wrapped.Wrapped (Data.Layout.BlockBuilderT m a) instance Data.Layout.Concatenable (Data.Layout.BlockBuilderT m a) instance GHC.Base.Monoid (Data.Layout.BlockBuilderT m a) instance Data.Semigroup.Semigroup (Data.Layout.BlockBuilderT m a) instance Data.Monoids.Mempty (Data.Layout.BlockBuilderT m a) instance Data.Foldable.Foldable m => Data.Foldable.Foldable (Data.Layout.BlockBuilderT m) instance Data.Traversable.Traversable m => Data.Traversable.Traversable (Data.Layout.BlockBuilderT m) instance GHC.Base.Functor m => GHC.Base.Functor (Data.Layout.BlockBuilderT m) instance GHC.Show.Show (m a) => GHC.Show.Show (Data.Layout.BlockBuilderT m a) instance Data.Layout.ElemBuilderT Data.Layout.BlockBuilderT m a instance (Data.Monoids.Mempty (m a), Data.Layout.Concatenable (m a)) => Data.Layout.RenderT Data.Layout.BlockBuilderT m a instance Data.Convert.Class.Convertible2 (Data.Layout.CartTree Data.Layout.BlockBuilderT) Data.Layout.BlockBuilderT instance (Data.Layout.ElemBuilder m a, Data.String.IsString a) => Data.String.IsString (Data.Layout.BlockBuilderT m a) instance (Data.Layout.ElemBuilder m a, Data.Convert.Class.Convertible' Data.Text.Internal.Text a) => Data.Convert.Class.Convertible Data.Text.Internal.Text (Data.Layout.BlockBuilderT m a) instance (Data.Layout.ElemBuilder m a, Data.Convert.Class.Convertible' Data.Text.Internal.Text a) => Data.Convert.Class.Convertible GHC.Base.String (Data.Layout.BlockBuilderT m a) instance (Data.Layout.ElemBuilder m a, Data.Convert.Class.Convertible' Data.Text.Internal.Text a) => Data.Convert.Class.Convertible GHC.Types.Char (Data.Layout.BlockBuilderT m a) instance Data.Layout.GenLineBlockConcatCtx a => Data.Semigroup.Semigroup (Data.Layout.LineBlock a) instance Data.Layout.GenLineBlockConcatCtx a => GHC.Base.Monoid (Data.Layout.LineBlock a) instance Data.Layout.GenLineBlockConcatCtx a => Data.Layout.Concatenable (Data.Layout.LineBlock a) instance Data.Layout.HasBounds (Data.Layout.LineBlock a) instance Data.Layout.Measurable (Data.Layout.LineBlock a) instance Data.Monoids.Mempty (Data.Layout.LineBlock a) instance (Data.String.IsString a, Data.Layout.Measurable a) => Data.String.IsString (Data.Layout.LineBlock a) instance (Data.Convert.Class.Convertible' Data.Text.Internal.Text a, Data.Layout.Measurable a) => Data.Convert.Class.Convertible Data.Text.Internal.Text (Data.Layout.LineBlock a) instance (Data.Convert.Class.Convertible GHC.Base.String a, Data.Monoids.Mempty a) => Data.Layout.Spacing (Data.Layout.LineBlock a) instance Data.Traversable.Traversable Data.Layout.LineBlock instance Data.Foldable.Foldable Data.Layout.LineBlock instance GHC.Base.Functor Data.Layout.LineBlock instance GHC.Show.Show a => GHC.Show.Show (Data.Layout.LineBlock a) instance (Data.Foldable.Foldable (t m), Data.Foldable.Foldable m) => Data.Foldable.Foldable (Data.Layout.CartTree t m) instance (Data.Traversable.Traversable (t m), Data.Traversable.Traversable m) => Data.Traversable.Traversable (Data.Layout.CartTree t m) instance (GHC.Base.Functor (t m), GHC.Base.Functor m) => GHC.Base.Functor (Data.Layout.CartTree t m) instance (GHC.Show.Show (t m a), GHC.Show.Show (m a)) => GHC.Show.Show (Data.Layout.CartTree t m a) instance GHC.Show.Show Data.Layout.Dir instance Data.Layout.Concatenable Data.Layout.Bounds instance Data.Layout.Concatenable a => Data.Layout.Concatenable (Data.Functor.Identity.Identity a) instance Data.Convert.Class.Convertible2' (Data.Layout.CartTree t) t => Data.Layout.Concatenable (Data.Layout.CartTree t m a) instance Data.Monoids.Mempty (Data.Layout.CartTree t m a) instance Data.Convert.Class.Convertible2' (Data.Layout.CartTree t) t => Data.Semigroup.Semigroup (Data.Layout.CartTree t m a) instance Data.Convert.Class.Convertible2' (Data.Layout.CartTree t) t => GHC.Base.Monoid (Data.Layout.CartTree t m a) instance Data.Layout.Measurable (Data.Layout.Bounded a) instance Data.Monoids.Mempty a => Data.Monoids.Mempty (Data.Layout.Bounded a) instance Data.Monoids.Mempty Data.Layout.Bounds instance Data.Layout.HasBounds (Data.Layout.Bounded a) instance Data.Layout.HasBounds Data.Layout.Bounds instance Data.Foldable.Foldable Data.Layout.Bounded instance Data.Traversable.Traversable Data.Layout.Bounded instance GHC.Base.Functor Data.Layout.Bounded instance GHC.Show.Show a => GHC.Show.Show (Data.Layout.Bounded a) instance GHC.Show.Show Data.Layout.Bounds instance (Data.Layout.RenderT t m a, Data.Layout.Render m a, Data.Layout.ElemBuilderT t m a) => Data.Layout.Render (t m) a instance Data.Layout.Render Data.Functor.Identity.Identity a instance (Data.Layout.ElemBuilder m a, Data.Layout.ElemBuilderT t m a) => Data.Layout.ElemBuilder (t m) a instance Data.Layout.ElemBuilder Data.Functor.Identity.Identity a instance Data.Layout.Delta ~ t => Control.Lens.Wrapped.Rewrapped Data.Layout.Delta t instance Control.Lens.Wrapped.Wrapped Data.Layout.Delta instance Data.Convert.Class.Convertible' a GHC.Word.Word64 => Data.Convert.Class.Convertible a Data.Layout.Delta instance Data.Convert.Class.Convertible' GHC.Word.Word64 a => Data.Convert.Class.Convertible Data.Layout.Delta a instance Control.DeepSeq.NFData Data.Layout.Delta instance Data.Default.Class.Default Data.Layout.Delta instance Data.Monoids.Mempty Data.Layout.Delta instance Data.Semigroup.Semigroup Data.Layout.Delta instance GHC.Enum.Enum Data.Layout.Delta instance GHC.Classes.Eq Data.Layout.Delta instance GHC.Classes.Ord Data.Layout.Delta instance GHC.Num.Num Data.Layout.Delta instance GHC.Show.Show Data.Layout.Delta instance GHC.Generics.Generic Data.Layout.Delta