- Add support for
deriving ... via GenericBuildable T
- Cleared
hspec
upper bound - Qualified all Data.List imports
- Fixed tests to work with newer (>=0.4) neat-interpolation (#30)
- Adjusted lower bounds of formatting dependency to avoid unsigned 0 issues (#31)
- fixed floatF handling of negative numbers (#36)
- unconfused
||++|
and|++||
(#29)
- Bumped the
hspec
upper bound. - Fixed doctests.
- Added
HasCallStack
to partial functions.
-
Added
instance FromBuilder ByteString
(for both lazy and strict bytestrings) andinstance FromBuilder BS.Builder
. These instances generate UTF8-encoded bytestrings. This allows producing formatting strings for various HTTP libraries that are intent on usingByteString
for text. -
Added
pretty :: (Buildable a, FromBuilder b) => a -> b
for formatting anything asBuildable
. There's alsoprettyLn
for consistency withfmt
andfmtLn
.
-
Switched to
Buildable
fromformatting
(sincetext-format
is unmaintained). -
Removed the
double-conversion
dependency (which was sometimes causing compilation issues). As the result,exptF
,fixedF
andfloatF
have become slower. -
The
precF
formatter was removed completely because its semantics was too confusing. You can useNumeric.showGFloat
to achieve a similar effect. -
floatF
now always prints a point, even if the number is integral. -
tupleLikeF
has been removed.TupleF
now has an additional instance that letstupleF
be used to format lists. -
The
base16-bytestring
dependency was removed. -
Compatibility with GHC 7.6 and 7.8 was dropped.
-
From this version on,
blockListF
never puts blank lines between items. If you want blank lines between items, I'm afraid that you'll have to add them manually (by e.g. adding a blank line to each item). -
Now
blockListF'
can be used to create lists with custom bullets. -
Added
unwordsF
andunlinesF
. -
Added the
F
suffix toindent
andindent'
.
- Renamed
#|
and|#
to+|
and|+
because HLint can't handle#|
and everyone uses HLint apparently.
- Added time formatters (see
Fmt.Time
).
- Changed
format
andformatLn
to be polyvariadic.
-
Added
genericF
for formatting arbitrary data. -
Changed
%<
and>%
to#|
and|#
because they turn out to be easier to type. -
Added a migration guide from
formatting
. -
Changed output of
eitherF
. -
Added bechmarks.
-
Added
format
fromtext-format
, because in some cases it's nicer than brackets. -
Renamed
padCenterF
topadBothF
. -
Modified
indent
andindent'
to always add newlines.
-
Wrote documentation.
-
Added some formatters:
indent
- formatters for lists, maps and tuples (
listF
, etc) octF
,binF
,baseF
and floating-point formattershexF
which works on both numbers and bytestringsordinalF
andcommaizeF
- padding and trimming formatters
base64F
andbase64UrlF
- conditionals (
whenF
andunlessF
)
-
Merged
Fmt.IO
withFmt
because orphan instances are controversial. -
Exported internal classes and functions from
Fmt.Internal
. -
Added
fmt
andfmtLn
. -
Made all operators associate to the right (
Builder
documentation says it's faster than the opposite). -
Reexported
Buildable
andBuilder
.
-
Added
>%%<
so that it'd be possible to write%<a>%%<b>%
instead of weird%<a%<b>%
. -
Added
%<< ... >>%
, which work workShow
instead ofBuildable
. If you don't care about speed and just want to output something, use them. -
Added an
IO ()
instance inFmt.IO
. If you import that module, raw formatted strings would print themselves. -
Added tests.
-
Changed fixities of operators so that
%<n+1>%
would work. -
Changed license to BSD3 since all our dependencies are BSD3 and we can't use MIT.
First (completely experimental) release.