|
|
@ -149,13 +149,18 @@ class HelpFormatter: |
|
|
|
params = cmd.clean_params |
|
|
|
if len(params) > 0: |
|
|
|
for name, param in params.items(): |
|
|
|
cleaned_name = name.replace('_', '-') |
|
|
|
if param.default is not param.empty: |
|
|
|
result.append('{0}={1}'.format(cleaned_name, param.default)) |
|
|
|
# We don't want None or '' to trigger the [name=value] case and instead it should |
|
|
|
# do [name] since [name=None] or [name=] are not exactly useful for the user. |
|
|
|
should_print = param.default if isinstance(param.default, str) else param.default is not None |
|
|
|
if should_print: |
|
|
|
result.append('[{}={}]'.format(name, param.default)) |
|
|
|
else: |
|
|
|
result.append('[{}]'.format(name)) |
|
|
|
elif param.kind == param.VAR_POSITIONAL: |
|
|
|
result.append(cleaned_name + '...') |
|
|
|
result.append('[{}...]'.format(name)) |
|
|
|
else: |
|
|
|
result.append(cleaned_name) |
|
|
|
result.append('<{}>'.format(name)) |
|
|
|
|
|
|
|
return ' '.join(result) |
|
|
|
|
|
|
|