-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Simple Haskell formatting -- -- String formatting @package hformat @version 0.3.2.0 module Text.Format.Flags type FormatFlags = [String] getFlag :: (String -> Maybe a) -> [String] -> Maybe a hasFlag :: String -> [String] -> Bool baseFlag :: (Read a, Integral a) => [String] -> a preciseFlag :: [String] -> Maybe Int -- | Format string with named args -- --
-- -- Named args
-- "My name is {name}, I am {age} years old" ~~ ("name" ~% "Joe") ~~ ("age" ~% 24) ≡ "My name is Joe, I am 24 years old"
-- -- Arg can have default value
-- "{var:x} = {val:10}" ~~ ("var" ~% y) ≡ "y = 10"
-- -- Numeric position can be used
-- "{0} {1} {0}" ~~ "foo" ~~ "bar" ≡ "foo bar foo"
-- -- Positions can be omitted
-- "{} {}" ~~ "foo" ~~ 10 ≡ "foo 10"
-- -- Double braces to escape them
-- "{} and {{}}" ~~ 10 ≡ "10 and {}"
--
module Text.Format
data FormattedPart
FormattedPart :: FormatFlags -> String -> FormattedPart
[formattedFlags] :: FormattedPart -> FormatFlags
[formattedValue] :: FormattedPart -> String
newtype Formatted
Formatted :: [FormattedPart] -> Formatted
[formattedParts] :: Formatted -> [FormattedPart]
withFlags :: String -> [String] -> Formatted
data FormatArg
FormatNamed :: String -> ([String] -> Formatted) -> FormatArg
FormatPos :: ([String] -> Formatted) -> FormatArg
data Format
Format :: String -> [FormatArg] -> Format
[formatString] :: Format -> String
[formatArgs] :: Format -> [FormatArg]
data Formatter
Formatter :: Either String Int -> Maybe String -> [String] -> Formatter
[formatter] :: Formatter -> Either String Int
[formatterDefault] :: Formatter -> Maybe String
[formatterFlags] :: Formatter -> [String]
prebuild :: Format -> Formatted
build :: Format -> Formatted
-- | Formattable class, by default using show
class Formattable a
formattable :: Formattable a => a -> FormatFlags -> Formatted
formattable :: (Formattable a, Show a) => a -> FormatFlags -> Formatted
class Hole a
hole :: Hole a => a -> [FormatArg]
fmt :: Formattable a => a -> FormatArg
class FormatResult r
formatResult :: FormatResult r => Format -> r
format :: FormatResult r => String -> r
formats :: FormatResult r => String -> [FormatArg] -> r
(~~) :: (Hole a, FormatResult r) => Format -> a -> r
infixl 7 ~~
(~%) :: Formattable a => String -> a -> FormatArg
infixr 8 ~%
instance GHC.Show.Show Text.Format.Formatted
instance GHC.Classes.Ord Text.Format.Formatted
instance GHC.Classes.Eq Text.Format.Formatted
instance GHC.Show.Show Text.Format.FormattedPart
instance GHC.Classes.Ord Text.Format.FormattedPart
instance GHC.Classes.Eq Text.Format.FormattedPart
instance Text.Format.FormatResult Text.Format.Format
instance Text.Format.FormatResult GHC.Base.String
instance Data.String.IsString s => Text.Format.FormatResult s
instance Text.Format.FormatResult Text.Format.Formatted
instance Text.Format.Hole Text.Format.Formatted
instance Text.Format.Hole Text.Format.FormatArg
instance Text.Format.Hole [Text.Format.FormatArg]
instance Text.Format.Hole [[Text.Format.FormatArg]]
instance Text.Format.Formattable a => Text.Format.Hole a
instance Text.Format.Formattable GHC.Base.String
instance Text.Format.Formattable GHC.Types.Char
instance Text.Format.Formattable GHC.Types.Int
instance Text.Format.Formattable GHC.Integer.Type.Integer
instance Text.Format.Formattable GHC.Types.Double
instance Text.Format.Formattable GHC.Types.Float
instance Text.Format.Formattable GHC.Types.Bool
instance Text.Format.Formattable Data.Text.Internal.Lazy.Text
instance Text.Format.Formattable Data.Text.Internal.Text
instance Text.Format.Formattable Text.Format.Formatter
instance GHC.Show.Show Text.Format.Formatter
instance GHC.Read.Read Text.Format.Formatter
instance GHC.Show.Show Text.Format.Format
instance Data.String.IsString Text.Format.Format
instance Data.String.IsString Text.Format.Formatted
instance Data.Semigroup.Semigroup Text.Format.Formatted
instance GHC.Base.Monoid Text.Format.Formatted
instance Data.String.IsString Text.Format.FormattedPart
module Text.Format.Colored
colored :: Formatted -> IO ()
coloredLine :: Formatted -> IO ()
hColored :: Handle -> Formatted -> IO ()
hColoredLine :: Handle -> Formatted -> IO ()