Mercurial > public > mercurial-scm > hg
diff hgext/mq.py @ 10826:717c35d55fb3
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.
author | Brodie Rao <brodie@bitheap.org> |
---|---|
date | Fri, 02 Apr 2010 15:22:17 -0500 |
parents | 18def0d5692d |
children | bbf496db0766 |
line wrap: on
line diff
--- a/hgext/mq.py Fri Apr 02 15:22:15 2010 -0500 +++ b/hgext/mq.py Fri Apr 02 15:22:17 2010 -0500 @@ -2810,3 +2810,11 @@ [('a', 'applied', None, _('finish all applied changesets'))], _('hg qfinish [-a] [REV]...')), } + +colortable = {'qguard.negative': 'red', + 'qguard.positive': 'yellow', + 'qguard.unguarded': 'green', + 'qseries.applied': 'blue bold underline', + 'qseries.guarded': 'black bold', + 'qseries.missing': 'red bold', + 'qseries.unapplied': 'black bold'}