Скажем, моя утилита CLI имеет три команды: cmd1
, cmd2
, cmd3
И я хочу, чтобы cmd3
имел те же параметры и флаги, что и cmd1
и cmd2
. Как какое-то наследство.
@click.command()
@click.options("--verbose")
def cmd1():
pass
@click.command()
@click.options("--directory")
def cmd2():
pass
@click.command()
@click.inherit(cmd1, cmd2) # HYPOTHETICAL
def cmd3():
pass
Таким образом, cmd3
будет иметь флаг --verbose
и опцию --directory
. Возможно ли это сделать с помощью Click? Может быть, я просто что-то упустил в документации...
EDIT: я знаю, что могу сделать это с помощью click.group()
. Но тогда все параметры группы должны быть указаны перед командой группы. Я хочу, чтобы все параметры были обычными после команды.
cli.py --verbose --directory /tmp cmd3
-> cli.py cmd3 --verbose --directory /tmp