color: colorize based on output labels instead of parsing output
By overriding ui.write(), ui.write_err(), ui.popbuffer(), and ui.label(),
the color extension can avoid parsing command output and simply colorize
output based on labels.
As before, the color extension provides a list of default colors for
core commands/labels. Other extensions can provide their own defaults by
specifying a colortable dict (similar to cmdtable).
In this process, --color is promoted to a global option and the deprecated
--no-color option is removed.
created new head
merging foo1 and foo to foo1
1 files updated, 1 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
n 0 -2 bar
m 644 14 foo1
copy: foo -> foo1
M bar
M foo1
% removing foo1 and bar
r 0 -2 bar
r 0 -1 foo1
copy: foo -> foo1
R bar
R foo1
% readding foo1 and bar
adding bar
adding foo1
n 0 -2 bar
m 644 14 foo1
copy: foo -> foo1
M bar
M foo1
foo
% reverting foo1 and bar
saving current version of bar as bar.orig
reverting bar
saving current version of foo1 as foo1.orig
reverting foo1
n 0 -2 bar
m 644 14 foo1
copy: foo -> foo1
M bar
M foo1
foo