~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/help.py

  • Committer: John Arbash Meinel
  • Date: 2010-01-13 16:23:07 UTC
  • mto: (4634.119.7 2.0)
  • mto: This revision was merged to the branch mainline in revision 4959.
  • Revision ID: john@arbash-meinel.com-20100113162307-0bs82td16gzih827
Update the MANIFEST.in file.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2005-2011 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
14
14
# along with this program; if not, write to the Free Software
15
15
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16
16
 
17
 
from __future__ import absolute_import
18
 
 
19
17
# TODO: Some way to get a list of external commands (defined by shell
20
18
# scripts) so that they can be included in the help listing as well.
21
19
# It should be enough to just list the plugin directory and look for
24
22
# TODO: `help commands --all` should show hidden commands
25
23
 
26
24
import sys
 
25
import textwrap
27
26
 
28
27
from bzrlib import (
29
28
    commands as _mod_commands,
31
30
    help_topics,
32
31
    osutils,
33
32
    plugin,
34
 
    utextwrap,
 
33
    symbol_versioning,
35
34
    )
36
35
 
37
36
 
46
45
    try:
47
46
        topics = indices.search(topic)
48
47
        shadowed_terms = []
49
 
        for index, topic_obj in topics[1:]:
 
48
        for index, topic in topics[1:]:
50
49
            shadowed_terms.append('%s%s' % (index.prefix,
51
 
                topic_obj.get_help_topic()))
 
50
                topic.get_help_topic()))
52
51
        source = topics[0][1]
53
52
        outfile.write(source.get_help_text(shadowed_terms))
54
53
    except errors.NoHelpTopic:
79
78
    shown_commands = [(n, o) for n, o in commands if o.hidden == hidden]
80
79
    max_name = max(len(n) for n, o in shown_commands)
81
80
    indent = ' ' * (max_name + 1)
82
 
    width = osutils.terminal_width()
83
 
    if width is None:
84
 
        width = osutils.default_terminal_width
85
 
    # we need one extra space for terminals that wrap on last char
86
 
    width = width - 1
 
81
    width = osutils.terminal_width() - 1
87
82
 
88
83
    for cmd_name, cmd_object in sorted(shown_commands):
89
84
        plugin_name = cmd_object.plugin_name()
98
93
        else:
99
94
            firstline = ''
100
95
        helpstring = '%-*s %s%s' % (max_name, cmd_name, firstline, plugin_name)
101
 
        lines = utextwrap.wrap(
 
96
        lines = textwrap.wrap(
102
97
            helpstring, subsequent_indent=indent,
103
98
            width=width,
104
99
            break_long_words=False)
137
132
            help_topics.HelpTopicIndex(),
138
133
            _mod_commands.HelpCommandIndex(),
139
134
            plugin.PluginsHelpIndex(),
140
 
            help_topics.ConfigOptionHelpIndex(),
141
135
            ]
142
136
 
143
137
    def _check_prefix_uniqueness(self):