./textproc/hs-doclayout, Prettyprinting library for laying out text documents

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 0.5, Package name: hs-doclayout-0.5, Maintainer: pho

doclayout is a prettyprinting library for laying out text documents,
with several features not present in prettyprinting libraries designed
for code. It was designed for use in pandoc.


Required to run:
[devel/hs-safe] [converters/hs-emojis] [lang/ghc94]

Master sites:

Filesize: 42.419 KB

Version history: (Expand)


CVS history: (Expand)


   2025-01-10 00:23:47 by Thomas Klausner | Files touched by this commit (4) | Package updated
Log message:
textproc/hs-doclayout: update to doclayout-0.5

## 0.5

  * Extract existing HasChars definition into a module
    Text.DocLayout.HasChars (Evan Silberman).

  * Add a `build` method to the signature of HasChars [API change]
    (Evan Silberman). This has a default definition, and is only needed with
    the ANSI renderer, so existing users should not need to add anything to
    their HasChars instances.

  * Introduce support for ANSI-styled output (Evan Silberman) [API change].
    `renderPlain` and `renderANSI` are now exported; the old `render`
    is a synonym of `renderPlain`.  In addition, various functions are
    exported to add ANSI formatting (including bold, italics,
    underline, strikeout, links, and colors) to a Doc. The Attributed
    type is also now exported.

  * Change type of Block constructor, replacing `[a]` with `[Attributed a]`,
    which carries a Font along with an inner string type [API change]
    (Evan Silberman).

  * Introduce FlatDocs and use them for rendering (Evan Silberman).
    This is an internal concept, not part of the public API.
    FlatDoc is an "intermediate representation" for the Doc \ 
"interpreter".
    The general design is that any Doc can be turned into a list of FlatDocs
    that carry equivalent information. The main point of doing this
    is to replace the nested Styled and Linked Docs, which form a more
    complicated tree structure than previously existed in DocLayout.

  * Deprecate `unfoldD`.
   2025-01-10 00:15:15 by Thomas Klausner | Files touched by this commit (24) | Package updated
Log message:
i*: recursive bump for hs-emojis update
   2024-05-09 03:32:57 by Masatake Daimon | Files touched by this commit (1137)
Log message:
Recursive revbump after changing the default Haskell compiler
   2024-04-29 14:21:49 by Masatake Daimon | Files touched by this commit (1)
Log message:
textproc/hs-doclayout: Fix build with GHC 9.8

This breaks build with the currently default GHC 9.6. Please bear with me
until I switch the default compiler.
   2023-11-02 07:37:49 by Masatake Daimon | Files touched by this commit (1141)
Log message:
Revbump all Haskell after updating lang/ghc96
   2023-10-28 11:45:22 by Masatake Daimon | Files touched by this commit (4)
Log message:
textproc/hs-doclayout: Update to 0.4.0.1

0.4.0.1
    Add clause for Empty to renderList (#22).
    Remove upper bound for criterion
   2023-10-09 06:55:01 by Masatake Daimon | Files touched by this commit (988)
Log message:
Bump Haskell packages after updating lang/ghc94
   2023-01-25 16:24:23 by Masatake Daimon | Files touched by this commit (4) | Package updated
Log message:
textproc/hs-doclayout: Update to 0.4

0.4
* Expose unfoldD [API change].
* Remove realLengthNoShortcut, isEmojiModifier, and isEmojiJoiner [API
  change] (Stephen Morgan).
* Add new exported functions realLengthNarrowContext,
  realLengthWideContext, realLengthNarrowContextNoShortcut,
  realLengthWideContextNoShortcut, isSkinToneModifier, isZWJ [API change]
  (Stephen Morgan).
* Compute realLength strictly.
* Make getOffset stricter.
* Drop support for ghc <= 8.4, add test for ghc 9.2.
* Don't collapse the CarriageReturn + Newline combination (#20). We want to
  ensure that a literal starting with a Newline doesn't lose the newline if
  it occurs after a CarriageReturn. This affects code blocks in pandoc that
  begin with newlines.
* Improve performance of NoShortcut code (Stephen Morgan).
* Simplify emoji processing (Stephen Morgan).
* Add benchmarking for code with no shortcuts (Stephen Morgan).
* Add unicodeWidth.inc to cabal file.
* Fix offset, minOffset, updateColumn so they don't re-render.
* Get unicode block widths directly from the Unicode specification, rather
  than writing it out ourselves (Stephen Morgan).
* Resolve the width of ambiguous characters based on their context (Stephen
  Morgan).
* Spacing marks should have nonzero width, even though they are combining
  characters (Stephen Morgan).
* Add shortcuts for extended Latin, Arabic, Cyrillic, Greek, Devangari,
  Bengali, Korean, Telugu, and Tamil (Stephen Morgan).
* Fix location of extra-source-files in cabal.
* update.hs: require text package
* Handle emoji variation modifiers specially, so the keypad emoji can be
  ignored (Stephen Morgan). This results in a 16% speedup of realLength on
  ascii text.
* Add benchmarks for all scripts used by more than 50 million people, plus
  a couple more. (#9, Stephen Morgan).