[commands] fix signature when displayed_default is missing

This makes it so that passing an empty string (or MISSING) to the 
displayed_default of commands.Parameter not show up as [name=] or [name=...]
This commit is contained in:
Varun J 2022-05-01 12:18:11 +05:30 committed by GitHub
parent 5dd828cdac
commit 0c613148af
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1115,8 +1115,7 @@ class Command(_BaseCommand, Generic[CogT, P, T]):
if not param.required:
# 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:
if param.displayed_default:
result.append(
f'[{name}={param.displayed_default}]' if not greedy else f'[{name}={param.displayed_default}]...'
)