# HG changeset patch # User Martin Geisler # Date 1239280982 -7200 # Node ID 18081ce1e6300bc2e9c0849751e57eaec7c0c4a1 # Parent 2ee6769afe829ef294f04877ac2ce1ac9475290e commands: automatically word-wrap cmdline options Some of the descriptions of command line options were getting quite long, and when translated they are likely to grow even longer. This word-wraps them at 70 characters, just like the help texts. We could have opted to wrap them at the terminal width instead, but I think it looks better to have them be consistent with the help texts. diff -r 2ee6769afe82 -r 18081ce1e630 mercurial/commands.py --- a/mercurial/commands.py Thu Apr 09 10:48:07 2009 +0200 +++ b/mercurial/commands.py Thu Apr 09 14:43:02 2009 +0200 @@ -7,7 +7,7 @@ from node import hex, nullid, nullrev, short from i18n import _, gettext -import os, re, sys +import os, re, sys, textwrap import hg, util, revlog, bundlerepo, extensions, copies, context, error import difflib, patch, time, help, mdiff, tempfile, url, encoding import archival, changegroup, cmdutil, hgweb.server, sshserver, hbisect @@ -1532,7 +1532,11 @@ opts_len = max([len(line[0]) for line in opt_output if line[1]] or [0]) for first, second in opt_output: if second: - ui.write(" %-*s %s\n" % (opts_len, first, second)) + # wrap descriptions at 70 characters, just like the + # main help texts + second = textwrap.wrap(second, width=70 - opts_len - 3) + pad = '\n' + ' ' * (opts_len + 3) + ui.write(" %-*s %s\n" % (opts_len, first, pad.join(second))) else: ui.write("%s\n" % first) diff -r 2ee6769afe82 -r 18081ce1e630 tests/test-extension.out --- a/tests/test-extension.out Thu Apr 09 10:48:07 2009 +0200 +++ b/tests/test-extension.out Thu Apr 09 14:43:02 2009 +0200 @@ -40,7 +40,8 @@ global options: -R --repository repository root directory or symbolic path name --cwd change working directory - -y --noninteractive do not prompt, assume 'yes' for any required answers + -y --noninteractive do not prompt, assume 'yes' for any required + answers -q --quiet suppress output -v --verbose enable additional output --config set/override config option diff -r 2ee6769afe82 -r 18081ce1e630 tests/test-record.out --- a/tests/test-record.out Thu Apr 09 10:48:07 2009 +0200 +++ b/tests/test-record.out Thu Apr 09 14:43:02 2009 +0200 @@ -27,8 +27,10 @@ options: - -A --addremove mark new/missing files as added/removed before committing - --close-branch mark a branch as closed, hiding it from the branch list + -A --addremove mark new/missing files as added/removed before + committing + --close-branch mark a branch as closed, hiding it from the branch + list -I --include include names matching the given patterns -X --exclude exclude names matching the given patterns -m --message use as commit message