diff options
| -rwxr-xr-x | main.py | 15 |
1 files changed, 13 insertions, 2 deletions
| @@ -27,6 +27,7 @@ import netrc | |||
| 27 | import optparse | 27 | import optparse |
| 28 | import os | 28 | import os |
| 29 | import sys | 29 | import sys |
| 30 | import textwrap | ||
| 30 | import time | 31 | import time |
| 31 | 32 | ||
| 32 | from pyversion import is_python3 | 33 | from pyversion import is_python3 |
| @@ -71,8 +72,10 @@ if not is_python3(): | |||
| 71 | input = raw_input | 72 | input = raw_input |
| 72 | 73 | ||
| 73 | global_options = optparse.OptionParser( | 74 | global_options = optparse.OptionParser( |
| 74 | usage="repo [-p|--paginate|--no-pager] COMMAND [ARGS]" | 75 | usage='repo [-p|--paginate|--no-pager] COMMAND [ARGS]', |
| 75 | ) | 76 | add_help_option=False) |
| 77 | global_options.add_option('-h', '--help', action='store_true', | ||
| 78 | help='show this help message and exit') | ||
| 76 | global_options.add_option('-p', '--paginate', | 79 | global_options.add_option('-p', '--paginate', |
| 77 | dest='pager', action='store_true', | 80 | dest='pager', action='store_true', |
| 78 | help='display command output in the pager') | 81 | help='display command output in the pager') |
| @@ -123,6 +126,14 @@ class _Repo(object): | |||
| 123 | argv = [] | 126 | argv = [] |
| 124 | gopts, _gargs = global_options.parse_args(glob) | 127 | gopts, _gargs = global_options.parse_args(glob) |
| 125 | 128 | ||
| 129 | if gopts.help: | ||
| 130 | global_options.print_help() | ||
| 131 | commands = ' '.join(sorted(self.commands)) | ||
| 132 | wrapped_commands = textwrap.wrap(commands, width=77) | ||
| 133 | print('\nAvailable commands:\n %s' % ('\n '.join(wrapped_commands),)) | ||
| 134 | print('\nRun `repo help <command>` for command-specific details.') | ||
| 135 | global_options.exit() | ||
| 136 | |||
| 126 | return (name, gopts, argv) | 137 | return (name, gopts, argv) |
| 127 | 138 | ||
| 128 | def _Run(self, name, gopts, argv): | 139 | def _Run(self, name, gopts, argv): |
