packages feed

lipstick-0.1.0.0: CHANGELOG.md

# Revision history for lipstick

## [0.1.0.0] - 2026-11-09

First version: a port of lipgloss v2.

* Styles as optparse-applicative-style modifiers (`Mod`): text attributes,
  padding and margins (with fill characters), borders (presets, per-side
  colours, gradients), width and height, alignment, wrapping or truncation,
  inline rendering, tab width, `transform`, unset modifiers and getters.
  Text attributes work on every kind of thing, and `maxWidth`/`maxHeight`
  on every kind but `Inline` text.
* Blocks: rendering to a structured block of styled spans, joining, placing,
  framing and measuring; ANSI only on output.
* Inline text with nested styles, `fromAnsi` for text with escape sequences,
  `breakAfter` for extra break characters, `styleRanges` and `styleIndices`.
* Blocks are laid out in the width they are given: text wraps to fit,
  `fillWidth` / `grow` share out spare columns, `stretchHeight` matches the
  height of a row, and the `RenderEnv` carries the output's width.
* Unicode 16.0.0 grapheme clusters (UAX #29) and East Asian Width, from
  tables generated by `scripts/GenUnicodeTable.hs`.
* Tables: cells are blocks; header, column and row rules, cell styles by
  position, fitting a width, height with scrolling, truncation.
* Text settings (alignment, wrapping, break characters, tab width,
  transform, inline) are inherited by the text inside a framed block.
* Lists and trees (`Outline`): enumerators, indenters, item, enumerator and
  indenter styles, width, item offsets.
* Layers: offsets, z-order, `transparent` layers, sublayers, hit testing.
* `Lipstick.Grid`: the laid-out lines, cells and styled spans of a block,
  for other outputs.
* Colours: hex and palette literals, light/dark and per-profile colours,
  downsampling, `blend`, `blend2D`, `darken`, `lighten`, `complementary`.
* Output: colour profile detection (`NO_COLOR`, `CLICOLOR_FORCE`,
  `COLORTERM`, `TERM`), ANSI processing on Windows, background detection
  from `COLORFGBG` or by asking the terminal, hyperlinks.