Move ellipsis code to util.ellipsis() and improve maxlength handling.
--- a/mercurial/commands.py Sat Dec 02 22:16:00 2006 +0100
+++ b/mercurial/commands.py Sat Dec 02 22:35:17 2006 +0100
@@ -3031,8 +3031,7 @@
elif not inst[1]:
u.warn(_(" empty string\n"))
else:
- u.warn("\n%r%s\n" %
- (inst[1][:400], len(inst[1]) > 400 and '...' or ''))
+ u.warn("\n%r\n" % util.ellipsis(inst[1]))
except util.Abort, inst:
u.warn(_("abort: %s\n") % inst)
except TypeError, inst:
--- a/mercurial/util.py Sat Dec 02 22:16:00 2006 +0100
+++ b/mercurial/util.py Sat Dec 02 22:35:17 2006 +0100
@@ -1032,6 +1032,13 @@
user = user[:f]
return user
+def ellipsis(text, maxlength=400):
+ """Trim string to at most maxlength (default: 400) characters."""
+ if len(text) <= maxlength:
+ return text
+ else:
+ return "%s..." % (text[:maxlength-3])
+
def walkrepos(path):
'''yield every hg repository under path, recursively.'''
def errhandler(err):