~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/help.py

- clean up handling of option objects
- add help for commit --file
- test for this

Show diffs side-by-side

added added

removed removed

Lines of Context:
112
112
    outfile.write(doc)
113
113
    if doc[-1] != '\n':
114
114
        outfile.write('\n')
115
 
    
116
 
    help_on_options(cmd_object.takes_options, outfile=None)
117
 
 
118
 
 
119
 
def help_on_options(options, outfile=None):
 
115
    help_on_command_options(cmd_object, outfile=None)
 
116
 
 
117
 
 
118
def help_on_command_options(cmd, outfile=None):
120
119
    from bzrlib.option import Option
121
 
    
 
120
    options = cmd.options()
122
121
    if not options:
123
122
        return
124
 
    
125
123
    if outfile == None:
126
124
        outfile = sys.stdout
127
 
 
128
125
    outfile.write('\noptions:\n')
129
 
    for on in options:
130
 
        l = '    --' + on
 
126
    for option_name, option in sorted(options.items()):
 
127
        l = '    --' + option_name
131
128
        for shortname, longopt in Option.SHORT_OPTIONS.items():
132
 
            if longopt.name == on:
 
129
            if longopt.name == option_name:
133
130
                l += ', -' + shortname
134
131
                break
135
 
        l += (30 - len(l)) * ' ' + Option.OPTIONS[on].help
 
132
        l += (30 - len(l)) * ' ' + option.help
136
133
        outfile.write(l + '\n')
137
134
 
138
135