concurrent-output

Ungarble output from several threads or commands

LTS Haskell 8.12:1.7.9
Stackage Nightly 2017-04-24:1.7.9
Latest on Hackage:1.7.9
BSD2 licensed by Joey Hess, Joachim Breitner
Maintained by Joey Hess

Module documentation for 1.7.9

Lets multiple threads and external processes concurrently output to the console, without it getting all garbled up.

Built on top of that is a way of defining multiple output regions, which are automatically laid out on the screen and can be individually updated by concurrent threads. Can be used for progress displays etc.

Changes

concurrent-output (1.7.9) unstable; urgency=medium

* Allow lazy text to be used as an Outputable value, and as
the content of a Region.

-- Joey Hess <id@joeyh.name> Sun, 12 Feb 2017 18:13:47 -0400

concurrent-output (1.7.8) unstable; urgency=medium

* Update directory dep to allow 1.3.

-- Joey Hess <id@joeyh.name> Tue, 20 Dec 2016 15:17:55 -0400

concurrent-output (1.7.7) unstable; urgency=medium

* Fix build on Windows.

-- Joey Hess <id@joeyh.name> Tue, 06 Sep 2016 13:41:46 -0400

concurrent-output (1.7.6) unstable; urgency=medium

* Update transformers dep to allow 0.5.

-- Joey Hess <id@joeyh.name> Mon, 02 May 2016 08:01:20 -0400

concurrent-output (1.7.5) unstable; urgency=medium

* createProcessConcurrent and System.Process.Concurrent are
now available on Windows.

-- Joey Hess <id@joeyh.name> Sun, 01 May 2016 19:40:38 -0400

concurrent-output (1.7.4) unstable; urgency=medium

* Update process dep to allow 1.4.

-- Joey Hess <id@joeyh.name> Sat, 12 Mar 2016 13:17:59 -0400

concurrent-output (1.7.3) unstable; urgency=medium

* Update async dep to allow 2.1.

-- Joey Hess <id@joeyh.name> Tue, 05 Jan 2016 14:07:43 -0400

concurrent-output (1.7.2) unstable; urgency=medium

* Running a process within displayConsoleRegions caused a small
resource leak, due to a thread that stalled until the
displayConsoleRegions action finished. This is fixed.
* Clean build with ghc 7.10.

-- Joey Hess <id@joeyh.name> Sat, 19 Dec 2015 16:47:08 -0400

concurrent-output (1.7.1) unstable; urgency=medium

* Simplify code.
* Improve package description.
* Relax lower bounds of process, text, exceptions.

-- Joey Hess <id@joeyh.name> Mon, 16 Nov 2015 12:06:11 -0400

concurrent-output (1.7.0) unstable; urgency=medium

* Simplified the RegionContent type; a region's content is now internally
always an STM action.
* This simplification fixed a bug that had prevented sometimes displaying
changes to InLine regions with STM actions for content. Now any changes
to TVars etc accessed by such STM actions will be noticed when waiting
on the parent region's content changing.
* Fix bug that caused double display of children of regions in some
circumstances.

-- Joey Hess <id@joeyh.name> Mon, 09 Nov 2015 16:13:19 -0400

concurrent-output (1.6.1) unstable; urgency=medium

* Avoid cursorUpLine, which is not as portable as cursorUp.
This fixes display on such systems as MS-DOS with ANSI.SYS, and OSX.

-- Joey Hess <id@joeyh.name> Sun, 08 Nov 2015 17:56:43 -0400

concurrent-output (1.6.0) unstable; urgency=medium

* Generalized newConsoleRegion.
* Better efficiency when there are more regions than will fit on the
screen.
* Fixed consoleHeight (was returning width)
* Fix outputBufferWaiterSTM which never returned any buffered stderr,
and fix regional display of buffered error messages.
* Ported to Windows, although createProcessConcurrent is omitted due to
needing support for pipe(), and consoleSize is not updated by resize.
* Stopped exporting consoleSize; use consoleWidth and consoleHeight
instead.

-- Joey Hess <id@joeyh.name> Thu, 05 Nov 2015 15:35:16 -0400

concurrent-output (1.5.0) unstable; urgency=medium

* Added errorConcurrent.
* Added getRegionContent.

-- Joey Hess <id@joeyh.name> Wed, 04 Nov 2015 17:20:44 -0400

concurrent-output (1.4.0) unstable; urgency=medium

* Renamed many of the functions and types.
* Added tuneDisplay, which makes it easy to size-limit regions,
right-justify regions, or otherwise transform how their values are
displayed.

-- Joey Hess <id@joeyh.name> Wed, 04 Nov 2015 00:32:38 -0400

concurrent-output (1.3.0) unstable; urgency=medium

* The contents of a Region can now be set to a STM Text
transaction. Their display will be automatically updated whenever the
transaction's value changes.
* Removed updateRegionListSTM, and export regionList instead, which is
more general-purpose.
* Other improvements to STM interface.

-- Joey Hess <id@joeyh.name> Tue, 03 Nov 2015 15:50:47 -0400

concurrent-output (1.2.0) unstable; urgency=medium

* Avoid crash when not all of a program's output is consumed, as
happens when eg, piping to head(1).
* Use text, and not bytestring internally.
* Added createProcessForeground, useful for running commands like vim.
* Fix race that sometimes caused processes to run in background mode
even though no other foreground process was still running.
* Concurrent process functions now use ConcurrentProcessHandle
instead of ProcessHandle.
* Multi-line regions now supported.
* Optimize region update, avoiding outputting characters already on-screen.

-- Joey Hess <id@joeyh.name> Mon, 02 Nov 2015 23:25:40 -0400

concurrent-output (1.1.0) unstable; urgency=medium

* Renamed module.
* Incorporated console region support, based on Joachim Breitner's
concurrentoutput library.
* Fix race that sometimes prevented a concurrent processes's output from
being displayed as program shut down.

-- Joey Hess <id@joeyh.name> Fri, 30 Oct 2015 21:27:41 -0400

concurrent-output (1.0.1) unstable; urgency=medium

* Generalize what can be output.
* Dropped dependency on MissingH; added dependency on text.

-- Joey Hess <id@joeyh.name> Thu, 29 Oct 2015 00:47:12 -0400

concurrent-output (1.0.0) unstable; urgency=medium

* First release.

-- Joey Hess <id@joeyh.name> Wed, 28 Oct 2015 21:01:23 -0400
comments powered byDisqus