<commit_before>homepage: https://github.com/haskell-text/text-display#readme
changelog-type: markdown
hash: b8a94bf4188b77dbcdc7f8d290c998643780e8be5a5df58034b4098d19cd2481
test-bench-deps:
  bytestring: -any
  base: -any
  hspec: -any
  text: -any
  should-not-typecheck: -any
  text-display: -any
maintainer: <NAME>
synopsis: A typeclass for user-facing output
changelog: |
  # CHANGELOG

  ## [Unreleased]

  ## [v0.0.1.0] – 20/10/2021
  * Initial release

  [Unreleased]: https://github.com/kleidukos/text-display/compare/v0.0.1.0...HEAD
  [v0.0.1.0]: https://github.com/kleidukos/text-display/releases/tag/v0.0.1.0
basic-deps:
  bytestring: '>=0.10'
  base: '>=4.12 && <=5'
  text: ^>=1.2
all-versions:
- 0.0.1.0
author: <NAME>
latest: 0.0.1.0
description-type: markdown
description: "<p align=\"center\">\n\n<img src=\"https://raw.githubusercontent.com/haskell-text/text-display/main/images/logo.png\"
  />\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/Kleidukos/text-display/actions\"></a>\n
  \ <img src=\"https://img.shields.io/github/workflow/status/Kleidukos/text-display/CI?style=flat-square\"
  alt=\"CI badge\" />\n</a>\n<a href=\"https://haskell.org\">\n  <img src=\"https://img.shields.io/badge/Made%20in-Haskell-%235e5086?logo=haskell&style=flat-square\"
  alt=\"made with Haskell\"/>\n</a>\n</p>\n\n<p align=\"center\">\n<a href='https://ko-fi.com/Q5Q327ZHW'
  target='_blank'><img height='36' style='border:0px;height:36px;' src='https://cdn.ko-fi.com/cdn/kofi1.png?v=3'
  border='0' alt='Buy Me a Coffee at ko-fi.com' /></a>\n</p>\n\n> *A Typeclass for
  user-facing output*\n\n\n## Description\n\nThe `text-display` library offers a way
  for developers to print a textual representation of datatypes that does not\nhave
  to abide by the rules of the [Show typeclass][Show].\n\nIf you wish to learn more
  about how things are done and why, please read the [DESIGN.md](./DESIGN.md) file.\n\n##
  Examples\n\nThere are two methods to implement `Display` for your type:\n\nThe first
  one is a manual implementation:\n\n```haskell\ndata ManualType = MT Int\n\n-- >>>
  display (MT 32)\n-- \"MT 32\"\ninstance Display ManualType where\n  displayPrec
  prec (MT i) = displayParen (prec > 10) $ \"MT \" <> displayPrec 11 i\n```\n\nBut
  this can be quite time-consuming, especially if your datatype already has\nan existing
  `Show` that you wish to reuse. In which case, you can piggy-back\non this instance
  like this:\n\n```haskell\n{-# LANGUAGE DerivingVia #-}\ndata AutomaticallyDerived
  = AD\n  -- We derive 'Show'\n  deriving Show \n  -- We take advantage of the 'Show'
  instance to derive 'Display' from it\n  deriving Display\n    via (ShowInstance
  AutomaticallyDerived) \n```\n\nBut let's say you want to redact an instance of `Display`?
  You can do it locally, through\nthe `OpaqueInstance` helper. It is most useful to
  hide tokens or passwords:\n\n```haskell\ndata UserToken = UserToken UUID                           \n
  deriving Display                                         \n   via (OpaqueInstance
  \"[REDACTED]\" UserToken)            \n                                                          \ndisplay
  $ UserToken \"<PASSWORD>\"\n-- => \"[REDACTED]\"                                              \n```\n[Show]:
  https://hackage.haskell.org/package/base/docs/Text-Show.html#v:Show\n"
license-name: MIT<commit_msg>Update from Hackage at 2022-03-13T20:14:18Z<commit_after>homepage: https://github.com/haskell-text/text-display#readme
changelog-type: markdown
hash: e96a1082f8f362032797f80e901d969b56a6dd7b43d1cb03e9654b08508da8e8
test-bench-deps:
  bytestring: -any
  base: -any
  hspec: -any
  text: -any
  quickcheck-text: -any
  should-not-typecheck: -any
  text-display: -any
maintainer: <NAME>
synopsis: A typeclass for user-facing output
changelog: |
  # CHANGELOG

  ## [v0.0.2.0] – 13/03/2022

  This is an experimental release.

  * Typo corrections, documentation improvements
  * Fix the String instance (https://github.com/haskell-text/text-display/pull/17)
  * Bump dependencies

  ## [v0.0.1.0] – 2/11/2021

  This is an experimental release.

  * Initial release

  [Unreleased]: https://github.com/kleidukos/text-display/compare/v0.0.1.0...HEAD
  [v0.0.1.0]: https://github.com/kleidukos/text-display/releases/tag/v0.0.1.0
basic-deps:
  bytestring: ^>=0.10 || ^>=0.11
  base: '>=4.12 && <=5'
  text: ^>=1.2
all-versions:
- 0.0.1.0
- 0.0.2.0
author: <NAME>
latest: 0.0.2.0
description-type: markdown
description: "<p align=\"center\">\n\n<img src=\"https://raw.githubusercontent.com/haskell-text/text-display/main/images/logo.png\"
  />\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/Kleidukos/text-display/actions\">\n
  \ <img src=\"https://img.shields.io/github/workflow/status/Kleidukos/text-display/CI?style=flat-square\"
  alt=\"CI badge\" />\n</a>\n<a href=\"https://haskell.org\">\n  <img src=\"https://img.shields.io/badge/Made%20in-Haskell-%235e5086?logo=haskell&style=flat-square\"
  alt=\"made with Haskell\"/>\n</a>\n<a href=\"https://hackage.haskell.org/package/text-display\">\n
  \ <img src=\"https://img.shields.io/hackage/v/text-display?style=flat-square\" alt=\"Hackage\"
  />\n</a>\n</p>\n\n<p align=\"center\">\n<a href='https://ko-fi.com/Q5Q327ZHW' target='_blank'><img
  height='36' style='border:0px;height:36px;' src='https://cdn.ko-fi.com/cdn/kofi1.png?v=3'
  border='0' alt='Buy Me a Coffee at ko-fi.com' /></a>\n</p>\n\n> *A Typeclass for
  user-facing output*\n\n\n## Description\n\nThe `text-display` library offers a way
  for developers to print a textual representation of datatypes that does not\nhave
  to abide by the rules of the [Show typeclass][Show].\n\nIf you wish to learn more
  about how things are done and why, please read the [DESIGN.md](https://github.com/haskell-text/text-display/blob/main/DESIGN.md)
  file.\n\n## Examples\n\nThere are two methods to implement `Display` for your type:\n\nThe
  first one is a manual implementation:\n\n```haskell\ndata ManualType = MT Int\n\n--
  >>> display (MT 32)\n-- \"MT 32\"\ninstance Display ManualType where\n  displayPrec
  prec (MT i) = displayParen (prec > 10) $ \"MT \" <> displayPrec 11 i\n```\n\nBut
  this can be quite time-consuming, especially if your datatype already has\nan existing
  `Show` that you wish to reuse. In which case, you can piggy-back\non this instance
  like this:\n\n```haskell\n{-# LANGUAGE DerivingVia #-}\ndata AutomaticallyDerived
  = AD\n  -- We derive 'Show'\n  deriving Show \n  -- We take advantage of the 'Show'
  instance to derive 'Display' from it\n  deriving Display\n    via (ShowInstance
  AutomaticallyDerived) \n```\n\nBut let's say you want to redact an instance of `Display`?
  You can do it locally, through\nthe `OpaqueInstance` helper. It is most useful to
  hide tokens or passwords:\n\n```haskell\ndata UserToken = UserToken UUID                           \n
  deriving Display                                         \n   via (OpaqueInstance
  \"[REDACTED]\" UserToken)            \n                                                          \ndisplay
  $ UserToken \"<PASSWORD>\"\n-- => \"[REDACTED]\"                                              \n```\n[Show]:
  https://hackage.haskell.org/package/base/docs/Text-Show.html#v:Show\n"
license-name: MIT
{'fraction_non_alphanumeric': 0.16502057613168725, 'fraction_numerical': 0.0355281207133059, 'mean_word_length': 3.025952512424075, 'pattern_counts': {'":': 0, '<': 49, '<?xml version=': 0, '>': 66, 'https://': 26, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 14, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 14, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1051759', 'n_tokens_mistral': 2820, 'n_tokens_neox': 2614, 'n_words': 591}