{-# LANGUAGE OverloadedStrings #-}
module Formatting.Examples where
import Data.Text.Lazy (Text)
import Data.Text.Lazy.Builder (Builder)
import Formatting
hello :: Text
hello :: Text
hello = Format Text Text -> Text
forall a. Format Text a -> a
format (Format Text Text
"Hello, World!")
strings :: Text
strings :: Text
strings =
Format Text (String -> String -> Text) -> String -> String -> Text
forall a. Format Text a -> a
format (Format (String -> String -> Text) (String -> String -> Text)
"Here comes a string: " Format (String -> String -> Text) (String -> String -> Text)
-> Format Text (String -> String -> Text)
-> Format Text (String -> String -> Text)
forall r a r'. Format r a -> Format r' r -> Format r' a
% Format (String -> Text) (String -> String -> Text)
forall r. Format r (String -> r)
string Format (String -> Text) (String -> String -> Text)
-> Format Text (String -> Text)
-> Format Text (String -> String -> Text)
forall r a r'. Format r a -> Format r' r -> Format r' a
% Format (String -> Text) (String -> Text)
" and another " Format (String -> Text) (String -> Text)
-> Format Text (String -> Text) -> Format Text (String -> Text)
forall r a r'. Format r a -> Format r' r -> Format r' a
% Format Text (String -> Text)
forall r. Format r (String -> r)
string)
String
"Hello, World!"
String
"Ahoy!"
texts :: Text
texts :: Text
texts =
Format Text (Text -> Text -> Text) -> Text -> Text -> Text
forall a. Format Text a -> a
format (Format (Text -> Text -> Text) (Text -> Text -> Text)
"Here comes a string: " Format (Text -> Text -> Text) (Text -> Text -> Text)
-> Format Text (Text -> Text -> Text)
-> Format Text (Text -> Text -> Text)
forall r a r'. Format r a -> Format r' r -> Format r' a
% Format (Text -> Text) (Text -> Text -> Text)
forall r. Format r (Text -> r)
text Format (Text -> Text) (Text -> Text -> Text)
-> Format Text (Text -> Text) -> Format Text (Text -> Text -> Text)
forall r a r'. Format r a -> Format r' r -> Format r' a
% Format (Text -> Text) (Text -> Text)
" and another " Format (Text -> Text) (Text -> Text)
-> Format Text (Text -> Text) -> Format Text (Text -> Text)
forall r a r'. Format r a -> Format r' r -> Format r' a
% Format Text (Text -> Text)
forall r. Format r (Text -> r)
text)
Text
"Hello, World!"
Text
"Ahoy!"
builders :: Text
builders :: Text
builders =
Format Text (Builder -> Text -> Text) -> Builder -> Text -> Text
forall a. Format Text a -> a
format (Format (Builder -> Text -> Text) (Builder -> Text -> Text)
"Here comes a string: " Format (Builder -> Text -> Text) (Builder -> Text -> Text)
-> Format Text (Builder -> Text -> Text)
-> Format Text (Builder -> Text -> Text)
forall r a r'. Format r a -> Format r' r -> Format r' a
% Format (Text -> Text) (Builder -> Text -> Text)
forall r. Format r (Builder -> r)
builder Format (Text -> Text) (Builder -> Text -> Text)
-> Format Text (Text -> Text)
-> Format Text (Builder -> Text -> Text)
forall r a r'. Format r a -> Format r' r -> Format r' a
% Format (Text -> Text) (Text -> Text)
" and another " Format (Text -> Text) (Text -> Text)
-> Format Text (Text -> Text) -> Format Text (Text -> Text)
forall r a r'. Format r a -> Format r' r -> Format r' a
% Format Text (Text -> Text)
forall r. Format r (Text -> r)
text)
(Builder
"Hello, World!" :: Builder)
Text
"Ahoy!"
integers :: Text
integers :: Text
integers =
Format Text (Int -> Integer -> Text) -> Int -> Integer -> Text
forall a. Format Text a -> a
format (Format (Int -> Integer -> Text) (Int -> Integer -> Text)
"Here comes an integer: " Format (Int -> Integer -> Text) (Int -> Integer -> Text)
-> Format Text (Int -> Integer -> Text)
-> Format Text (Int -> Integer -> Text)
forall r a r'. Format r a -> Format r' r -> Format r' a
% Format (Integer -> Text) (Int -> Integer -> Text)
forall a r. Integral a => Format r (a -> r)
int Format (Integer -> Text) (Int -> Integer -> Text)
-> Format Text (Integer -> Text)
-> Format Text (Int -> Integer -> Text)
forall r a r'. Format r a -> Format r' r -> Format r' a
% Format (Integer -> Text) (Integer -> Text)
" and another: " Format (Integer -> Text) (Integer -> Text)
-> Format Text (Integer -> Text) -> Format Text (Integer -> Text)
forall r a r'. Format r a -> Format r' r -> Format r' a
% Format Text (Integer -> Text)
forall a r. Integral a => Format r (a -> r)
int)
(Int
23 :: Int)
(Integer
0 :: Integer)
floats :: Text
floats :: Text
floats =
Format Text (Float -> Text) -> Float -> Text
forall a. Format Text a -> a
format (Format (Float -> Text) (Float -> Text)
"Here comes a float: " Format (Float -> Text) (Float -> Text)
-> Format Text (Float -> Text) -> Format Text (Float -> Text)
forall r a r'. Format r a -> Format r' r -> Format r' a
% Format Text (Float -> Text)
forall a r. Real a => Format r (a -> r)
float)
(Float
123.2342 :: Float)
hexes :: Text
hexes :: Text
hexes =
Format Text (Int -> Text) -> Int -> Text
forall a. Format Text a -> a
format (Format (Int -> Text) (Int -> Text)
"Here comes a hex: " Format (Int -> Text) (Int -> Text)
-> Format Text (Int -> Text) -> Format Text (Int -> Text)
forall r a r'. Format r a -> Format r' r -> Format r' a
% Format Text (Int -> Text)
forall a r. Integral a => Format r (a -> r)
hex)
(Int
123 :: Int)
padding :: Text
padding :: Text
padding =
Format Text (Int -> Text) -> Int -> Text
forall a. Format Text a -> a
format (Format (Int -> Text) (Int -> Text)
"A left-padded number: " Format (Int -> Text) (Int -> Text)
-> Format Text (Int -> Text) -> Format Text (Int -> Text)
forall r a r'. Format r a -> Format r' r -> Format r' a
% Int -> Char -> Format Text (Int -> Text)
forall a r. Buildable a => Int -> Char -> Format r (a -> r)
left Int
3 Char
'0')
(Int
9 :: Int)