[PATCH] keyword: support extensions using dorecord, e.g. crecord
Christian Ebert
blacktrash at gmx.net
Sun May 9 05:56:39 CDT 2010
# HG changeset patch
# User Christian Ebert <blacktrash at gmx.net>
# Date 1273396483 -7200
# Node ID 4be95ea45fc6c018f10b04eee262c0a2d6821af9
# Parent 0bedcbcb3ae2caca7f8894c6b53c901475aad6a1
keyword: support extensions using dorecord, e.g. crecord
Provide extendable keyword.recordextensions variable, so other
extensions beside hgext.record which provide the dorecord function
can cooperate with hgext.keyword like so (example from crecord):
def extsetup():
try:
keyword = extensions.find('keyword')
keyword.restricted += ' crecord qcrecord'
try:
# use record support in keyword.py if present
keyword.recordcommands += ' crecord qcrecord'
keyword.recordextensions += ' crecord'
except AttributeError:
pass
except KeyError:
pass
diff --git a/hgext/keyword.py b/hgext/keyword.py
--- a/hgext/keyword.py
+++ b/hgext/keyword.py
@@ -91,6 +91,8 @@
# commands using dorecord
recordcommands = 'record qrecord'
+# names of extensions using dorecord
+recordextensions = 'record'
# provide cvs-like UTC date filter
utcdate = lambda x: util.datestr((x[0], 0), '%Y/%m/%d %H:%M:%S')
@@ -515,11 +517,12 @@
extensions.wrapfunction(patch, 'diff', kw_diff)
for c in 'annotate changeset rev filediff diff'.split():
extensions.wrapfunction(webcommands, c, kwweb_skip)
- try:
- record = extensions.find('record')
- extensions.wrapfunction(record, 'dorecord', kw_dorecord)
- except KeyError:
- pass
+ for name in recordextensions.split():
+ try:
+ record = extensions.find(name)
+ extensions.wrapfunction(record, 'dorecord', kw_dorecord)
+ except KeyError:
+ pass
cmdtable = {
'kwdemo':
More information about the Mercurial-devel
mailing list