diff --git a/prettyprinter-ansi-terminal/CHANGELOG.md b/prettyprinter-ansi-terminal/CHANGELOG.md index 86382ec8..22d39c15 100644 --- a/prettyprinter-ansi-terminal/CHANGELOG.md +++ b/prettyprinter-ansi-terminal/CHANGELOG.md @@ -1,6 +1,12 @@ -# Unreleased +# [1.1.4] – April 2026 -- Drop support for GHC 7. +- [Add `text` flag](https://github.com/quchen/prettyprinter/pull/279) +- [Fix inconsistency between `renderLazy`/`renderIO`](https://github.com/quchen/prettyprinter/pull/261) +- [Drop support for GHC 7](https://github.com/quchen/prettyprinter/pull/278) +- [Remove compatibility code for GHC < 8](https://github.com/quchen/prettyprinter/pull/285) +- [Make it compile with MicroHs](https://github.com/quchen/prettyprinter/pull/270) + +[1.1.4]: https://github.com/quchen/prettyprinter/compare/ansi-terminal-v1.1.3...ansi-terminal-v1.1.4 # [1.1.3] diff --git a/prettyprinter-ansi-terminal/prettyprinter-ansi-terminal.cabal b/prettyprinter-ansi-terminal/prettyprinter-ansi-terminal.cabal index f04c7c95..c7e1f4ca 100644 --- a/prettyprinter-ansi-terminal/prettyprinter-ansi-terminal.cabal +++ b/prettyprinter-ansi-terminal/prettyprinter-ansi-terminal.cabal @@ -1,5 +1,5 @@ name: prettyprinter-ansi-terminal -version: 1.1.3 +version: 1.1.4 cabal-version: >= 1.10 category: User Interfaces, Text synopsis: ANSI terminal backend for the »prettyprinter« package. diff --git a/prettyprinter-compat-annotated-wl-pprint/prettyprinter-compat-annotated-wl-pprint.cabal b/prettyprinter-compat-annotated-wl-pprint/prettyprinter-compat-annotated-wl-pprint.cabal index b785a8a6..31583ead 100644 --- a/prettyprinter-compat-annotated-wl-pprint/prettyprinter-compat-annotated-wl-pprint.cabal +++ b/prettyprinter-compat-annotated-wl-pprint/prettyprinter-compat-annotated-wl-pprint.cabal @@ -1,5 +1,5 @@ name: prettyprinter-compat-annotated-wl-pprint -version: 1.1 +version: 1.1.1 cabal-version: >= 1.10 category: User Interfaces, Text synopsis: Drop-in compatibility package to migrate from »annotated-wl-pprint« to »prettyprinter«. diff --git a/prettyprinter-compat-ansi-wl-pprint/CHANGELOG.md b/prettyprinter-compat-ansi-wl-pprint/CHANGELOG.md index 4c5f4556..1d1f13b1 100644 --- a/prettyprinter-compat-ansi-wl-pprint/CHANGELOG.md +++ b/prettyprinter-compat-ansi-wl-pprint/CHANGELOG.md @@ -1,6 +1,10 @@ -# Unreleased +# [1.1.1] – April 2026 -- Drop support for GHC 7. +- [Drop support for GHC 7](https://github.com/quchen/prettyprinter/pull/278) +- [Remove compatibility code for GHC < 8](https://github.com/quchen/prettyprinter/pull/285) +- [Make it compile with MicroHs](https://github.com/quchen/prettyprinter/pull/270) + +[1.1.1]: https://github.com/quchen/prettyprinter/compare/compat-ansi-wl-pprint-1.1...compat-ansi-wl-pprint-1.1.1 # [1.1] diff --git a/prettyprinter-compat-ansi-wl-pprint/prettyprinter-compat-ansi-wl-pprint.cabal b/prettyprinter-compat-ansi-wl-pprint/prettyprinter-compat-ansi-wl-pprint.cabal index d5e97f3f..24853c60 100644 --- a/prettyprinter-compat-ansi-wl-pprint/prettyprinter-compat-ansi-wl-pprint.cabal +++ b/prettyprinter-compat-ansi-wl-pprint/prettyprinter-compat-ansi-wl-pprint.cabal @@ -1,5 +1,5 @@ name: prettyprinter-compat-ansi-wl-pprint -version: 1.1 +version: 1.1.1 cabal-version: >= 1.10 category: User Interfaces, Text synopsis: Drop-in compatibility package to migrate from »ansi-wl-pprint« to »prettyprinter«. diff --git a/prettyprinter-compat-wl-pprint/prettyprinter-compat-wl-pprint.cabal b/prettyprinter-compat-wl-pprint/prettyprinter-compat-wl-pprint.cabal index 53ecd97e..a44c3cdb 100644 --- a/prettyprinter-compat-wl-pprint/prettyprinter-compat-wl-pprint.cabal +++ b/prettyprinter-compat-wl-pprint/prettyprinter-compat-wl-pprint.cabal @@ -1,5 +1,5 @@ name: prettyprinter-compat-wl-pprint -version: 1.0.1 +version: 1.0.2 cabal-version: >= 1.10 category: User Interfaces, Text synopsis: Drop-in compatibility package to migrate from »wl-pprint« to »prettyprinter«. diff --git a/prettyprinter-convert-ansi-wl-pprint/prettyprinter-convert-ansi-wl-pprint.cabal b/prettyprinter-convert-ansi-wl-pprint/prettyprinter-convert-ansi-wl-pprint.cabal index 6a664eec..0746fb32 100644 --- a/prettyprinter-convert-ansi-wl-pprint/prettyprinter-convert-ansi-wl-pprint.cabal +++ b/prettyprinter-convert-ansi-wl-pprint/prettyprinter-convert-ansi-wl-pprint.cabal @@ -1,5 +1,5 @@ name: prettyprinter-convert-ansi-wl-pprint -version: 1.1.2 +version: 1.1.3 cabal-version: >= 1.10 category: User Interfaces, Text synopsis: Converter from »ansi-wl-pprint« documents to »prettyprinter«-based ones. diff --git a/prettyprinter/CHANGELOG.md b/prettyprinter/CHANGELOG.md index ce844c7f..f31f8217 100644 --- a/prettyprinter/CHANGELOG.md +++ b/prettyprinter/CHANGELOG.md @@ -1,6 +1,18 @@ -# Unreleased +# [1.7.2] – April 2026 + +- [Add `PrettyAnn` type class](https://github.com/quchen/prettyprinter/pull/256) +- [Remove the MINIMAL pragma from `Pretty`](https://github.com/quchen/prettyprinter/pull/219) +- [Add instance `ann ~ Void => Pretty (Doc ann)`](https://github.com/quchen/prettyprinter/pull/234) +- [Add `Pretty` instances for 4-7 tuples](https://github.com/quchen/prettyprinter/pull/275) +- [Make it compile with MicroHs](https://github.com/quchen/prettyprinter/pull/270) +- [Drop support for GHC 7](https://github.com/quchen/prettyprinter/pull/278) +- [Remove compatibility code for GHC < 8](https://github.com/quchen/prettyprinter/pull/285) +- Documentation improvements: + * [#229](https://github.com/quchen/prettyprinter/pull/229) + * [#255](https://github.com/quchen/prettyprinter/pull/255) + * [#273](https://github.com/quchen/prettyprinter/pull/273) -- Drop support for GHC 7. +[1.7.2]: https://github.com/quchen/prettyprinter/compare/v1.7.1...v1.7.2 # [1.7.1] diff --git a/prettyprinter/prettyprinter.cabal b/prettyprinter/prettyprinter.cabal index e8a7ff2e..5b6999d5 100644 --- a/prettyprinter/prettyprinter.cabal +++ b/prettyprinter/prettyprinter.cabal @@ -1,5 +1,5 @@ name: prettyprinter -version: 1.7.1 +version: 1.7.2 cabal-version: >= 1.10 category: User Interfaces, Text synopsis: A modern, easy to use, well-documented, extensible pretty-printer. diff --git a/prettyprinter/src/Prettyprinter/Internal.hs b/prettyprinter/src/Prettyprinter/Internal.hs index 9e02986e..6297c4fd 100755 --- a/prettyprinter/src/Prettyprinter/Internal.hs +++ b/prettyprinter/src/Prettyprinter/Internal.hs @@ -290,6 +290,7 @@ class Pretty a where -- , (1, [2, 2, 2, 2, 2, 2, 2, 2]) -- , (1, [2, 2, 2, 2, 2, 2, 2, 2]) ] ] +-- | @since 1.7.2 instance ann ~ Void => Pretty (Doc ann) where pretty = vacuous @@ -345,7 +346,7 @@ instance Pretty Char where -- | This class is similar to 'Pretty', but allows you to embed annotations in -- the 'Doc'. -- --- @since FIXME +-- @since 1.7.2 class PrettyAnn ann a where prettyAnn :: a -> Doc ann @@ -356,25 +357,33 @@ class PrettyAnn ann a where prettyAnnList :: [a] -> Doc ann prettyAnnList = align . list . map prettyAnn +-- | @since 1.7.2 instance PrettyAnn ann (Doc ann) where prettyAnn = id +-- | @since 1.7.2 instance PrettyAnn ann a => PrettyAnn ann (Const a b) where prettyAnn = prettyAnn . getConst +-- | @since 1.7.2 instance PrettyAnn ann a => PrettyAnn ann (Identity a) where prettyAnn = prettyAnn . runIdentity +-- | @since 1.7.2 instance PrettyAnn ann a => PrettyAnn ann [a] where prettyAnn = prettyAnnList +-- | @since 1.7.2 instance PrettyAnn ann a => PrettyAnn ann (NonEmpty a) where prettyAnn (x:|xs) = prettyAnnList (x:xs) +-- | @since 1.7.2 instance PrettyAnn ann () where prettyAnn = pretty +-- | @since 1.7.2 instance PrettyAnn ann Bool where prettyAnn = pretty +-- | @since 1.7.2 instance PrettyAnn ann Char where prettyAnn = pretty prettyAnnList = prettyList @@ -430,28 +439,28 @@ instance (Pretty a1, Pretty a2, Pretty a3) => Pretty (a1,a2,a3) where -- | >>> pretty (123, "hello", False, ()) -- (123, hello, False, ()) -- --- @since FIXME +-- @since 1.7.2 instance (Pretty a1, Pretty a2, Pretty a3, Pretty a4) => Pretty (a1,a2,a3,a4) where pretty (x1,x2,x3,x4) = tupled [pretty x1, pretty x2, pretty x3, pretty x4] -- | >>> pretty (123, "hello", False, (), 3.14) -- (123, hello, False, (), 3.14) -- --- @since FIXME +-- @since 1.7.2 instance (Pretty a1, Pretty a2, Pretty a3, Pretty a4, Pretty a5) => Pretty (a1,a2,a3,a4,a5) where pretty (x1,x2,x3,x4,x5) = tupled [pretty x1, pretty x2, pretty x3, pretty x4, pretty x5] -- | >>> pretty (123, "hello", False, (), 3.14, Just 2.71) -- (123, hello, False, (), 3.14, 2.71) -- --- @since FIXME +-- @since 1.7.2 instance (Pretty a1, Pretty a2, Pretty a3, Pretty a4, Pretty a5, Pretty a6) => Pretty (a1,a2,a3,a4,a5,a6) where pretty (x1,x2,x3,x4,x5,x6) = tupled [pretty x1, pretty x2, pretty x3, pretty x4, pretty x5, pretty x6] -- | >>> pretty (123, "hello", False, (), 3.14, Just 2.71, [1,2,3]) -- (123, hello, False, (), 3.14, 2.71, [1, 2, 3]) -- --- @since FIXME +-- @since 1.7.2 instance (Pretty a1, Pretty a2, Pretty a3, Pretty a4, Pretty a5, Pretty a6, Pretty a7) => Pretty (a1,a2,a3,a4,a5,a6,a7) where pretty (x1,x2,x3,x4,x5,x6,x7) = tupled [pretty x1, pretty x2, pretty x3, pretty x4, pretty x5, pretty x6, pretty x7] @@ -496,53 +505,77 @@ instance Pretty Lazy.Text -- [] instance Pretty Void where pretty = absurd +-- | @since 1.7.2 instance PrettyAnn ann Int where prettyAnn = pretty +-- | @since 1.7.2 instance PrettyAnn ann Int8 where prettyAnn = pretty +-- | @since 1.7.2 instance PrettyAnn ann Int16 where prettyAnn = pretty +-- | @since 1.7.2 instance PrettyAnn ann Int32 where prettyAnn = pretty +-- | @since 1.7.2 instance PrettyAnn ann Int64 where prettyAnn = pretty +-- | @since 1.7.2 instance PrettyAnn ann Word where prettyAnn = pretty +-- | @since 1.7.2 instance PrettyAnn ann Word8 where prettyAnn = pretty +-- | @since 1.7.2 instance PrettyAnn ann Word16 where prettyAnn = pretty +-- | @since 1.7.2 instance PrettyAnn ann Word32 where prettyAnn = pretty +-- | @since 1.7.2 instance PrettyAnn ann Word64 where prettyAnn = pretty +-- | @since 1.7.2 instance PrettyAnn ann Integer where prettyAnn = pretty +-- | @since 1.7.2 instance PrettyAnn ann Natural where prettyAnn = pretty +-- | @since 1.7.2 instance PrettyAnn ann Float where prettyAnn = pretty +-- | @since 1.7.2 instance PrettyAnn ann Double where prettyAnn = pretty +-- | @since 1.7.2 instance (PrettyAnn ann a1, PrettyAnn ann a2) => PrettyAnn ann (a1,a2) where prettyAnn (x1,x2) = tupled [prettyAnn x1, prettyAnn x2] +-- | @since 1.7.2 instance (PrettyAnn ann a1, PrettyAnn ann a2, PrettyAnn ann a3) => PrettyAnn ann (a1,a2,a3) where prettyAnn (x1,x2,x3) = tupled [prettyAnn x1, prettyAnn x2, prettyAnn x3] +-- | @since 1.7.2 instance (PrettyAnn ann a1, PrettyAnn ann a2, PrettyAnn ann a3, PrettyAnn ann a4) => PrettyAnn ann (a1,a2,a3,a4) where prettyAnn (x1,x2,x3,x4) = tupled [prettyAnn x1, prettyAnn x2, prettyAnn x3, prettyAnn x4] +-- | @since 1.7.2 instance (PrettyAnn ann a1, PrettyAnn ann a2, PrettyAnn ann a3, PrettyAnn ann a4, PrettyAnn ann a5) => PrettyAnn ann (a1,a2,a3,a4,a5) where prettyAnn (x1,x2,x3,x4,x5) = tupled [prettyAnn x1, prettyAnn x2, prettyAnn x3, prettyAnn x4, prettyAnn x5] +-- | @since 1.7.2 instance (PrettyAnn ann a1, PrettyAnn ann a2, PrettyAnn ann a3, PrettyAnn ann a4, PrettyAnn ann a5, PrettyAnn ann a6) => PrettyAnn ann (a1,a2,a3,a4,a5,a6) where prettyAnn (x1,x2,x3,x4,x5,x6) = tupled [prettyAnn x1, prettyAnn x2, prettyAnn x3, prettyAnn x4, prettyAnn x5, prettyAnn x6] +-- | @since 1.7.2 instance (PrettyAnn ann a1, PrettyAnn ann a2, PrettyAnn ann a3, PrettyAnn ann a4, PrettyAnn ann a5, PrettyAnn ann a6, PrettyAnn ann a7) => PrettyAnn ann (a1,a2,a3,a4,a5,a6,a7) where prettyAnn (x1,x2,x3,x4,x5,x6,x7) = tupled [prettyAnn x1, prettyAnn x2, prettyAnn x3, prettyAnn x4, prettyAnn x5, prettyAnn x6, prettyAnn x7] +-- | @since 1.7.2 instance PrettyAnn ann a => PrettyAnn ann (Maybe a) where prettyAnn = maybe mempty prettyAnn prettyAnnList = prettyAnnList . catMaybes #ifdef MIN_VERSION_text +-- | @since 1.7.2 instance PrettyAnn ann Text where prettyAnn = pretty +-- | @since 1.7.2 instance PrettyAnn ann Lazy.Text where prettyAnn = pretty #endif +-- | @since 1.7.2 instance PrettyAnn ann Void where prettyAnn = absurd