vty-ui v1.1 Release Notes

  • API changes:

    • 'highlight' now takes any regular expression that is an instance of 'RegexLike' and matches Strings. This means we don't depend on pcre-light any more, but just Text.Regex.Base. One of the demo programs now depends on the 'regex-pcre' package since pcre-light didn't provide any instances of RegexLike.
    • Text.Trans.Tokenize, the module used to tokenize text and operate on token streams for the FormattedText widget, is now part of the public API. This is because anyone wishing to write a Formatter will need access to its types, and it contains other nifty functionality.
    • The 'Text' type has been removed in favor of types from Text.Trans.Tokenize.
    • Formatters (defined in the Text module) now take TextStreams (defined in Text.Trans.Tokenize).
    • The implementation of the wrapping and truncation logic in Text.Trans.Tokenize has been greatly simplified thanks to the type refactoring in that module.
    • The implementation of the 'wrap' Formatter has been greatly simplified thanks to the type refactoring in Text.Trans.Tokenize. It should also be a bit easier to write Formatters now.
    • Text.Trans.Tokenize.truncLine is now called truncateLine.
    • Text.Trans.Tokenize.wrapLine is now called wrapStream.
    • The test suite for Text.Trans.Tokenize has been bulked up a bit.
    • The event loop implementation now uses TChans from STM instead of Chans from Control.Concurrent; we also depend in 'stm' as a result.

    Manual changes:

    • The 'Text' material was updated with information on text widget update functions.
    • The 'Text' material was fixed to document the arguments to 'textWidget' in the correct order.