~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/help.py

  • Committer: Robert Collins
  • Date: 2009-05-23 21:01:51 UTC
  • mto: This revision was merged to the branch mainline in revision 4441.
  • Revision ID: robertc@robertcollins.net-20090523210151-69jmrka5l4eh0zf3
Get missing command support sorted out.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2005-2010 Canonical Ltd
 
1
# Copyright (C) 2004, 2005, 2006 Canonical Ltd
2
2
#
3
3
# This program is free software; you can redistribute it and/or modify
4
4
# it under the terms of the GNU General Public License as published by
30
30
    help_topics,
31
31
    osutils,
32
32
    plugin,
 
33
    symbol_versioning,
33
34
    )
34
35
 
35
36
 
77
78
    shown_commands = [(n, o) for n, o in commands if o.hidden == hidden]
78
79
    max_name = max(len(n) for n, o in shown_commands)
79
80
    indent = ' ' * (max_name + 1)
80
 
    width = osutils.terminal_width()
81
 
    if width is None:
82
 
        width = osutils.default_terminal_width
83
 
    # we need one extra space for terminals that wrap on last char
84
 
    width = width - 1
 
81
    width = osutils.terminal_width() - 1
85
82
 
86
83
    for cmd_name, cmd_object in sorted(shown_commands):
87
84
        plugin_name = cmd_object.plugin_name()
96
93
        else:
97
94
            firstline = ''
98
95
        helpstring = '%-*s %s%s' % (max_name, cmd_name, firstline, plugin_name)
99
 
        lines = textwrap.wrap(
100
 
            helpstring, subsequent_indent=indent,
101
 
            width=width,
102
 
            break_long_words=False)
 
96
        lines = textwrap.wrap(helpstring, subsequent_indent=indent,
 
97
                              width=width)
103
98
        for line in lines:
104
99
            out.append(line + '\n')
105
100
    return ''.join(out)