[PATCH 1 of 2] color: wrap qdiff/qseries after all extensions are loaded

Brodie Rao dackze at gmail.com
Wed May 6 17:49:17 CDT 2009


# HG changeset patch
# User Brodie Rao <me+hg at dackz.net>
# Date 1241641670 14400
# Node ID 3f9b09941552106f2a5329079cd14e221f1a6b32
# Parent  edd676eae7d7835e238e7bec6ee09f2b90007b1b
color: wrap qdiff/qseries after all extensions are loaded

diff --git a/hgext/color.py b/hgext/color.py
--- a/hgext/color.py
+++ b/hgext/color.py
@@ -224,18 +224,24 @@ _diff_effects = {'diffline': ('bold',),
                  '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)
+        _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


More information about the Mercurial-devel mailing list