From 474f7c8477ed6c88c56815a09cc98a7cabc4f70d Mon Sep 17 00:00:00 2001 From: Alexander Shpilkin Date: Tue, 24 Jul 2018 23:06:59 +0200 Subject: Describe options the same way in help and manual The descriptions of --help and --version are the same as used in e.g. GNU coreutils (different from the Python default). --- alot/__main__.py | 23 ++++++++++++++--------- docs/source/usage/cli_options.rst | 2 +- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/alot/__main__.py b/alot/__main__.py index 1c2a2c46..221e6b22 100644 --- a/alot/__main__.py +++ b/alot/__main__.py @@ -23,35 +23,40 @@ _SUBCOMMANDS = ['search', 'compose', 'bufferlist', 'taglist', 'namedqueries', def parser(): """Parse command line arguments, validate them, and return them.""" - parser = argparse.ArgumentParser() - parser.add_argument('-v', '--version', action='version', - version=alot.__version__) + parser = argparse.ArgumentParser(add_help=False) parser.add_argument('-r', '--read-only', action='store_true', help='open notmuch database in read-only mode') - parser.add_argument('-c', '--config', + parser.add_argument('-c', '--config', metavar='FILENAME', action=cargparse.ValidatedStoreAction, validator=cargparse.require_file, help='configuration file') - parser.add_argument('-n', '--notmuch-config', default=os.environ.get( + parser.add_argument('-n', '--notmuch-config', metavar='FILENAME', + default=os.environ.get( 'NOTMUCH_CONFIG', os.path.expanduser('~/.notmuch-config')), action=cargparse.ValidatedStoreAction, validator=cargparse.require_file, help='notmuch configuration file') - parser.add_argument('-C', '--colour-mode', + parser.add_argument('-C', '--colour-mode', metavar='COLOURS', choices=(1, 16, 256), type=int, help='number of colours to use') - parser.add_argument('-p', '--mailindex-path', + parser.add_argument('-p', '--mailindex-path', metavar='PATH', action=cargparse.ValidatedStoreAction, validator=cargparse.require_dir, help='path to notmuch index') - parser.add_argument('-d', '--debug-level', default='info', + parser.add_argument('-d', '--debug-level', metavar='LEVEL', default='info', choices=('debug', 'info', 'warning', 'error'), help='debug level [default: %(default)s]') - parser.add_argument('-l', '--logfile', default='/dev/null', + parser.add_argument('-l', '--logfile', metavar='FILENAME', + default='/dev/null', action=cargparse.ValidatedStoreAction, validator=cargparse.optional_file_like, help='log file [default: %(default)s]') + parser.add_argument('-h', '--help', action='help', + help='display this help and exit') + parser.add_argument('-v', '--version', action='version', + version=alot.__version__, + help='output version information and exit') # We will handle the subcommands in a separate run of argparse as argparse # does not support optional subcommands until now. parser.add_argument('command', nargs=argparse.REMAINDER, diff --git a/docs/source/usage/cli_options.rst b/docs/source/usage/cli_options.rst index 4fd200e5..61653685 100644 --- a/docs/source/usage/cli_options.rst +++ b/docs/source/usage/cli_options.rst @@ -14,5 +14,5 @@ (default: info) -l FILENAME, --logfile=FILENAME log file (default: /dev/null) --v, --version display version string and exit -h, --help display help and exit +-v, --version output version information and exit -- cgit v1.2.3