~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/help.py

  • Committer: John Arbash Meinel
  • Date: 2009-03-06 20:42:40 UTC
  • mto: This revision was merged to the branch mainline in revision 4088.
  • Revision ID: john@arbash-meinel.com-20090306204240-mzjavv31z3gu1x7i
Fix a small bug in setup.py when an extension fails to build

Show diffs side-by-side

added added

removed removed

Lines of Context:
12
12
#
13
13
# You should have received a copy of the GNU General Public License
14
14
# along with this program; if not, write to the Free Software
15
 
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
 
15
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
16
16
 
17
17
# TODO: Some way to get a list of external commands (defined by shell
18
18
# scripts) so that they can be included in the help listing as well.
48
48
        for index, topic in topics[1:]:
49
49
            shadowed_terms.append('%s%s' % (index.prefix,
50
50
                topic.get_help_topic()))
51
 
        source = topics[0][1]
52
 
        outfile.write(source.get_help_text(shadowed_terms))
 
51
        outfile.write(topics[0][1].get_help_text(shadowed_terms))
53
52
    except errors.NoHelpTopic:
54
53
        if alias is None:
55
54
            raise
73
72
        hidden = True
74
73
    else:
75
74
        hidden = False
76
 
    names = list(_mod_commands.all_command_names())
 
75
    names = set(_mod_commands.builtin_command_names()) # to eliminate duplicates
 
76
    names.update(_mod_commands.plugin_command_names())
77
77
    commands = ((n, _mod_commands.get_cmd_object(n)) for n in names)
78
78
    shown_commands = [(n, o) for n, o in commands if o.hidden == hidden]
79
79
    max_name = max(len(n) for n, o in shown_commands)
80
80
    indent = ' ' * (max_name + 1)
81
 
    width = osutils.terminal_width()
82
 
    if width is None:
83
 
        width = osutils.default_terminal_width
84
 
    # we need one extra space for terminals that wrap on last char
85
 
    width = width - 1
 
81
    width = osutils.terminal_width() - 1
86
82
 
87
83
    for cmd_name, cmd_object in sorted(shown_commands):
88
84
        plugin_name = cmd_object.plugin_name()
97
93
        else:
98
94
            firstline = ''
99
95
        helpstring = '%-*s %s%s' % (max_name, cmd_name, firstline, plugin_name)
100
 
        lines = textwrap.wrap(
101
 
            helpstring, subsequent_indent=indent,
102
 
            width=width,
103
 
            break_long_words=False)
 
96
        lines = textwrap.wrap(helpstring, subsequent_indent=indent,
 
97
                              width=width)
104
98
        for line in lines:
105
99
            out.append(line + '\n')
106
100
    return ''.join(out)