You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The default type is omitted, the option converts to str anyway.
About 2., The click docs says in the option section: "If no type is provided, the type of the default value is used."
But it is not True. I have to use type=frozenset to make the option's value not be "frozenset()", which breaks my function iterating it.
And the 1. is the big deal.
I provide my option code below and a minimal reproducer script.
I'm making a venv for Mojo language, and looking at new venv code on cpython.
If click can not fix this, it can not do things like Brett Cannon does in venv cli design. That's not good.
I want scm_ignore_files to be frozenset() if the flag is provided, else it is default to frozenset(["git"]).
Why is default not useful and the flag_value is always used?
@click.option(
"--without-scm-ignore-files",
"scm_ignore_files",
is_flag=True,
type=frozenset,
flag_value=frozenset(),
default=frozenset(["git"]),
help="Skips adding SCM ignore files to the environment "
"directory (Git is supported by default).",
)
Thanks for watching!
Environment:
Python version: Python 3.10.12
Click version: 8.1.7
The text was updated successfully, but these errors were encountered:
There are two problems:
flag_value
shadowsdefault
inclick.option()
str
anyway.About 2., The click docs says in the option section: "If no type is provided, the type of the default value is used."
But it is not True. I have to use type=frozenset to make the option's value not be "frozenset()", which breaks my function iterating it.
And the 1. is the big deal.
I provide my option code below and a minimal reproducer script.
I'm making a venv for Mojo language, and looking at new venv code on cpython.
If click can not fix this, it can not do things like Brett Cannon does in venv cli design. That's not good.
I want
scm_ignore_files
to befrozenset()
if the flag is provided, else it is default tofrozenset(["git"])
.Why is default not useful and the flag_value is always used?
Thanks for watching!
Environment:
The text was updated successfully, but these errors were encountered: