Make diagnostics slightly more colorful
authorPhil Ruffwind <rf@rufflewind.com>
Tue, 29 Nov 2016 18:31:01 +0000 (13:31 -0500)
committerBen Gamari <ben@smart-cactus.org>
Tue, 29 Nov 2016 19:39:55 +0000 (14:39 -0500)
commitf1fc8cbf511c88cb88bf9f46724ee2711f54891a
tree9f12ae546af62f79b59a85dd172b911dd12e20ee
parent30cecaec4701b32ab9fd6399193c5d2740b63b11
Make diagnostics slightly more colorful

This is a preliminary commit to add colors to diagnostics (warning and
error messages).  The aesthetic changes are:

  - 'warning', 'error', and 'fatal' are all colored magenta, red, and
    red respectively.
  - The warning annotation [-Wsomething] shares the same color.
  - Warnings and errors are also bolded (this is consistent with what
    other compilers do).

A new flag has been added to control the behavior:

    -fdiagnostics-color=(always|auto|never)

This flag is 'auto' by default.  However, auto-detection is not
implemented yet, so it effectively it defaults to off.

Test Plan: validate

Reviewers: austin, bgamari

Reviewed By: bgamari

Subscribers: thomie

Differential Revision: https://phabricator.haskell.org/D2716

GHC Trac Issues: #8809
compiler/main/DynFlags.hs
compiler/main/DynFlags.hs-boot
compiler/main/ErrUtils.hs
compiler/utils/Outputable.hs
docs/users_guide/using.rst
utils/mkUserGuidePart/Options/Verbosity.hs