{-# LANGUAGE RankNTypes #-}
module Formatting.ShortFormatters
( t
, d
, b
, o
, x
, st
, s
, sh
, c
, f
, sf
, l
, r
) where
import Formatting.Formatters (bin, int, oct)
import Formatting.Internal
import qualified Data.Text as S
import qualified Data.Text as T
import qualified Data.Text.Format as T
import Data.Text.Lazy (Text)
import qualified Data.Text.Lazy.Builder as T
import Formatting.Buildable (Buildable)
import qualified Formatting.Buildable as B (build)
t :: Format r (Text -> r)
t :: forall r. Format r (Text -> r)
t = forall a r. (a -> Builder) -> Format r (a -> r)
later Text -> Builder
T.fromLazyText
{-# INLINE t #-}
d :: Integral a => Format r (a -> r)
d :: forall a r. Integral a => Format r (a -> r)
d = forall a r. Integral a => Format r (a -> r)
int
{-# INLINE d #-}
b :: Integral a => Format r (a -> r)
b :: forall a r. Integral a => Format r (a -> r)
b = forall a r. Integral a => Format r (a -> r)
bin
{-# INLINE b #-}
o :: Integral a => Format r (a -> r)
o :: forall a r. Integral a => Format r (a -> r)
o = forall a r. Integral a => Format r (a -> r)
oct
{-# INLINE o #-}
x :: Integral a => Format r (a -> r)
x :: forall a r. Integral a => Format r (a -> r)
x = forall a r. (a -> Builder) -> Format r (a -> r)
later forall a. Integral a => a -> Builder
T.hex
{-# INLINE x #-}
st :: Format r (S.Text -> r)
st :: forall r. Format r (Text -> r)
st = forall a r. (a -> Builder) -> Format r (a -> r)
later Text -> Builder
T.fromText
{-# INLINE st #-}
s :: Format r (String -> r)
s :: forall r. Format r (String -> r)
s = forall a r. (a -> Builder) -> Format r (a -> r)
later (Text -> Builder
T.fromText forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> Text
T.pack)
{-# INLINE s #-}
sh :: Show a => Format r (a -> r)
sh :: forall a r. Show a => Format r (a -> r)
sh = forall a r. (a -> Builder) -> Format r (a -> r)
later (Text -> Builder
T.fromText forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> Text
T.pack forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall a. Show a => a -> String
show)
{-# INLINE sh #-}
c :: Format r (Char -> r)
c :: forall r. Format r (Char -> r)
c = forall a r. (a -> Builder) -> Format r (a -> r)
later forall p. Buildable p => p -> Builder
B.build
{-# INLINE c #-}
f :: Real a => Int -> Format r (a -> r)
f :: forall a r. Real a => Int -> Format r (a -> r)
f Int
i = forall a r. (a -> Builder) -> Format r (a -> r)
later (forall a. Real a => Int -> a -> Builder
T.fixed Int
i)
{-# INLINE f #-}
sf :: Real a => Format r (a -> r)
sf :: forall a r. Real a => Format r (a -> r)
sf = forall a r. (a -> Builder) -> Format r (a -> r)
later forall a. Real a => a -> Builder
T.shortest
{-# INLINE sf #-}
l :: Buildable a => Int -> Char -> Format r (a -> r)
l :: forall a r. Buildable a => Int -> Char -> Format r (a -> r)
l Int
i Char
ch = forall a r. (a -> Builder) -> Format r (a -> r)
later (forall a. Buildable a => Int -> Char -> a -> Builder
T.left Int
i Char
ch)
{-# INLINE l #-}
r :: Buildable a => Int -> Char -> Format r (a -> r)
r :: forall a r. Buildable a => Int -> Char -> Format r (a -> r)
r Int
i Char
ch = forall a r. (a -> Builder) -> Format r (a -> r)
later (forall a. Buildable a => Int -> Char -> a -> Builder
T.right Int
i Char
ch)
{-# INLINE r #-}