Mercurial > hg
changeset 8963:a4ceae3aa7be
color: wrap qdiff/qseries after all extensions are loaded
author | Brodie Rao <me+hg@dackz.net> |
---|---|
date | Wed, 06 May 2009 16:27:50 -0400 |
parents | 4aade1a0115b |
children | 119d1f664eae 6d5dca8737b9 |
files | hgext/color.py |
diffstat | 1 files changed, 15 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext/color.py Sun Jun 28 16:03:10 2009 -0400 +++ b/hgext/color.py Wed May 06 16:27:50 2009 -0400 @@ -60,7 +60,7 @@ import os, sys -from mercurial import cmdutil, commands, extensions +from mercurial import cmdutil, commands, extensions, error from mercurial.i18n import _ # start and stop parameters for effects @@ -220,18 +220,30 @@ 'changed': ['white'], 'trailingwhitespace': ['bold', 'red_background']} +_ui = None + def uisetup(ui): '''Initialize the extension.''' + global _ui + _ui = ui _setupcmd(ui, 'diff', commands.table, colordiff, _diff_effects) _setupcmd(ui, 'incoming', commands.table, None, _diff_effects) _setupcmd(ui, 'log', commands.table, None, _diff_effects) _setupcmd(ui, 'outgoing', commands.table, None, _diff_effects) _setupcmd(ui, 'tip', commands.table, None, _diff_effects) _setupcmd(ui, 'status', commands.table, colorstatus, _status_effects) + +def extsetup(): try: mq = extensions.find('mq') - _setupcmd(ui, 'qdiff', mq.cmdtable, colordiff, _diff_effects) - _setupcmd(ui, 'qseries', mq.cmdtable, colorqseries, _patch_effects) + try: + # If we are loaded after mq, we must wrap commands.table + _setupcmd(_ui, 'qdiff', commands.table, colordiff, _diff_effects) + _setupcmd(_ui, 'qseries', commands.table, colorqseries, _patch_effects) + except error.UnknownCommand: + # Otherwise we wrap mq.cmdtable + _setupcmd(_ui, 'qdiff', mq.cmdtable, colordiff, _diff_effects) + _setupcmd(_ui, 'qseries', mq.cmdtable, colorqseries, _patch_effects) except KeyError: # The mq extension is not enabled pass