Convenience functions for ANSI terminal colour sequences [color].

*Latest release 20200729*:
* New env_no_color() test function honouring the $NO_COLOUR envvar per https://no-color.org/
* colourise: get the "normal" default from the global NORMAL_COLOUR.

Mapping and function for adding ANSI terminal colour escape sequences
to strings for colour highlighting of output.

## Function `colourise(s, colour=None, uncolour=None)`

Return a string enclosed in colour-on and colour-off ANSI sequences.

* `colour`: names the desired ANSI colour.
* `uncolour`: may be used to specify the colour-off colour;
  the default is 'normal' (from `NORMAL_COLOUR`).

## Function `colourise_patterns(s, patterns, default_colour=None)`

Colourise a string `s` according to `patterns`.

Parameters:
* `s`: the string.
* `patterns`: a sequence of patterns.
* `default_colour`: if a string pattern has no colon, or starts
  with a colon, use this colour;
  default "cyan" (from `DEFAULT_HIGHLIGHT`).

Each pattern may be:
* a string of the form "[colour]:regexp"
* a string containing no colon, taken to be a regexp
* a tuple of the form `(colour,regexp)`
* a regexp object

Returns the string with ANSI colour escapes embedded.

## Function `env_no_color(environ=None)`

Test the `$NO_COLOR` environment variable per the specification at
https://no-color.org/

## Function `make_pattern(pattern, default_colour=None)`

Convert a `pattern` specification into a `(colour,regexp)` tuple.

Parameters:
* `pattern`: the pattern to parse
* `default_colour`: the highlight colour,
  default "cyan" (from `DEFAULT_HIGHLIGHT`).

Each `pattern` may be:
* a string of the form "[colour]:regexp"
* a string containing no colon, taken to be a regexp
* a tuple of the form `(colour,regexp)`
* a regexp object

## Function `make_patterns(patterns, default_colour=None)`

Convert an iterable of pattern specifications into a list of
`(colour,regexp)` tuples.

Parameters:
* `patterns`: an iterable of patterns to parse
* `default_colour`: the highlight colour,
  default "cyan" (from `DEFAULT_HIGHLIGHT`).

Each pattern may be:
* a string of the form "[colour]:regexp"
* a string containing no colon, taken to be a regexp
* a tuple of the form (colour, regexp)
* a regexp object

# Release Log



*Release 20200729*:
* New env_no_color() test function honouring the $NO_COLOUR envvar per https://no-color.org/
* colourise: get the "normal" default from the global NORMAL_COLOUR.

*Release 20180726*:
greater markdowning of docstrings

*Release 20180725.2*:
some markdown, still release testing

*Release 20180725.1*:
Trivial changes, testing release process.

*Release 20180725*:
rename second colourise function to colourise_patterns, was shadowing things

*Release 20180422*:
* New function colourise to colour strings with regexp matches.
* New helper functions make_pattern and make_patterns to construct (colour, regexp)s from specifications.
* New public names NORMAL_COLOUR and DEFAULT_HIGHLIGHT.

*Release 20170902*:
Release metadata changes.

*Release 20160828*:
Add PyPI category, other minor tweaks.

*Release 20150112*:
PyPI release.

*Release 20150107*:
first standalone pypi release
