diff options
author | David Lord <davidism@gmail.com> | 2021-10-05 17:44:37 -0700 |
---|---|---|
committer | David Lord <davidism@gmail.com> | 2021-10-05 17:44:37 -0700 |
commit | 655918a61e22cade722dacb9bf798e86b13093af (patch) | |
tree | 16ab8bf712f8de446bdeb7860d99e69b92bfc8fc | |
parent | e8e4b32f5034b8e6df9f4d5ba7ed952da9394a76 (diff) | |
parent | 3e88d3dcadbe357c90059bbaeb691f4a2d20d9e6 (diff) | |
download | click-655918a61e22cade722dacb9bf798e86b13093af.tar.gz |
Merge branch '8.0.x'
-rw-r--r-- | .pre-commit-config.yaml | 4 | ||||
-rw-r--r-- | CHANGES.rst | 4 | ||||
-rw-r--r-- | docs/conf.py | 2 | ||||
-rw-r--r-- | requirements/dev.txt | 65 | ||||
-rw-r--r-- | requirements/docs.txt | 28 | ||||
-rw-r--r-- | requirements/tests.txt | 4 | ||||
-rw-r--r-- | requirements/typing.txt | 6 | ||||
-rw-r--r-- | src/click/termui.py | 6 | ||||
-rw-r--r-- | tests/test_utils.py | 12 |
9 files changed, 73 insertions, 58 deletions
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 7b2b746..2a1f9e7 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -2,7 +2,7 @@ ci: autoupdate_schedule: monthly repos: - repo: https://github.com/asottile/pyupgrade - rev: v2.25.0 + rev: v2.29.0 hooks: - id: pyupgrade args: ["--py36-plus"] @@ -12,7 +12,7 @@ repos: - id: reorder-python-imports args: ["--application-directories", "src"] - repo: https://github.com/psf/black - rev: 21.8b0 + rev: 21.9b0 hooks: - id: black - repo: https://github.com/PyCQA/flake8 diff --git a/CHANGES.rst b/CHANGES.rst index fa8063a..491e7d4 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -25,6 +25,10 @@ Unreleased to be relative to the containing directory. :issue:`1921` - Completion does not skip Python's resource cleanup when exiting, avoiding some unexpected warning output. :issue:`1738, 2017` +- Fix type annotation for ``type`` argument in ``prompt`` function. + :issue:`2062` +- Fix overline and italic styles, which were incorrectly added when + adding underline. :pr:`2058` Version 8.0.1 diff --git a/docs/conf.py b/docs/conf.py index 7d1f16c..b0ed9ff 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -38,7 +38,7 @@ html_context = { ProjectLink("PyPI Releases", "https://pypi.org/project/click/"), ProjectLink("Source Code", "https://github.com/pallets/click/"), ProjectLink("Issue Tracker", "https://github.com/pallets/click/issues/"), - ProjectLink("Website", "https://palletsprojects.com/"), + ProjectLink("Website", "https://palletsprojects.com/p/click"), ProjectLink("Twitter", "https://twitter.com/PalletsTeam"), ProjectLink("Chat", "https://discord.gg/pallets"), ] diff --git a/requirements/dev.txt b/requirements/dev.txt index 3b95a8d..48f65e4 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -6,49 +6,49 @@ # alabaster==0.7.12 # via sphinx -appdirs==1.4.4 - # via virtualenv attrs==21.2.0 # via pytest babel==2.9.1 # via sphinx -certifi==2020.12.5 +backports.entry-points-selectable==1.1.0 + # via virtualenv +certifi==2021.5.30 # via requests -cfgv==3.3.0 +cfgv==3.3.1 # via pre-commit -chardet==4.0.0 +charset-normalizer==2.0.6 # via requests click==8.0.1 # via pip-tools -distlib==0.3.1 +distlib==0.3.3 # via virtualenv docutils==0.16 # via # sphinx # sphinx-tabs -filelock==3.0.12 +filelock==3.3.0 # via # tox # virtualenv -identify==2.2.4 +identify==2.3.0 # via pre-commit -idna==2.10 +idna==3.2 # via requests imagesize==1.2.0 # via sphinx iniconfig==1.1.1 # via pytest -jinja2==3.0.1 +jinja2==3.0.2 # via sphinx markupsafe==2.0.1 # via jinja2 -mypy==0.910 - # via -r requirements/typing.in mypy-extensions==0.4.3 # via mypy +mypy==0.910 + # via -r requirements/typing.in nodeenv==1.6.0 # via pre-commit -packaging==20.9 +packaging==21.0 # via # pallets-sphinx-themes # pytest @@ -56,21 +56,23 @@ packaging==20.9 # tox pallets-sphinx-themes==2.0.1 # via -r requirements/docs.in -pep517==0.10.0 +pep517==0.11.0 # via pip-tools -pip-tools==6.2.0 +pip-tools==6.3.0 # via -r requirements/dev.in -pluggy==0.13.1 +platformdirs==2.4.0 + # via virtualenv +pluggy==1.0.0 # via # pytest # tox -pre-commit==2.14.1 +pre-commit==2.15.0 # via -r requirements/dev.in py==1.10.0 # via # pytest # tox -pygments==2.9.0 +pygments==2.10.0 # via # sphinx # sphinx-tabs @@ -78,11 +80,11 @@ pyparsing==2.4.7 # via packaging pytest==6.2.5 # via -r requirements/tests.in -pytz==2021.1 +pytz==2021.3 # via babel pyyaml==5.4.1 # via pre-commit -requests==2.25.1 +requests==2.26.0 # via sphinx six==1.16.0 # via @@ -90,17 +92,17 @@ six==1.16.0 # virtualenv snowballstemmer==2.1.0 # via sphinx -sphinx==4.1.2 +sphinx-issues==1.2.0 + # via -r requirements/docs.in +sphinx-tabs==3.2.0 + # via -r requirements/docs.in +sphinx==4.2.0 # via # -r requirements/docs.in # pallets-sphinx-themes # sphinx-issues # sphinx-tabs # sphinxcontrib-log-cabinet -sphinx-issues==1.2.0 - # via -r requirements/docs.in -sphinx-tabs==3.2.0 - # via -r requirements/docs.in sphinxcontrib-applehelp==1.0.2 # via sphinx sphinxcontrib-devhelp==1.0.2 @@ -118,21 +120,22 @@ sphinxcontrib-serializinghtml==1.1.5 toml==0.10.2 # via # mypy - # pep517 # pre-commit # pytest # tox -tox==3.24.3 +tomli==1.2.1 + # via pep517 +tox==3.24.4 # via -r requirements/dev.in -typing-extensions==3.10.0.0 +typing-extensions==3.10.0.2 # via mypy -urllib3==1.26.5 +urllib3==1.26.7 # via requests -virtualenv==20.4.6 +virtualenv==20.8.1 # via # pre-commit # tox -wheel==0.36.2 +wheel==0.37.0 # via pip-tools # The following packages are considered to be unsafe in a requirements file: diff --git a/requirements/docs.txt b/requirements/docs.txt index a6b1a53..00eefc0 100644 --- a/requirements/docs.txt +++ b/requirements/docs.txt @@ -8,51 +8,51 @@ alabaster==0.7.12 # via sphinx babel==2.9.1 # via sphinx -certifi==2020.12.5 +certifi==2021.5.30 # via requests -chardet==4.0.0 +charset-normalizer==2.0.6 # via requests docutils==0.16 # via # sphinx # sphinx-tabs -idna==2.10 +idna==3.2 # via requests imagesize==1.2.0 # via sphinx -jinja2==3.0.1 +jinja2==3.0.2 # via sphinx markupsafe==2.0.1 # via jinja2 -packaging==20.9 +packaging==21.0 # via # pallets-sphinx-themes # sphinx pallets-sphinx-themes==2.0.1 # via -r requirements/docs.in -pygments==2.9.0 +pygments==2.10.0 # via # sphinx # sphinx-tabs pyparsing==2.4.7 # via packaging -pytz==2021.1 +pytz==2021.3 # via babel -requests==2.25.1 +requests==2.26.0 # via sphinx snowballstemmer==2.1.0 # via sphinx -sphinx==4.1.2 +sphinx-issues==1.2.0 + # via -r requirements/docs.in +sphinx-tabs==3.2.0 + # via -r requirements/docs.in +sphinx==4.2.0 # via # -r requirements/docs.in # pallets-sphinx-themes # sphinx-issues # sphinx-tabs # sphinxcontrib-log-cabinet -sphinx-issues==1.2.0 - # via -r requirements/docs.in -sphinx-tabs==3.2.0 - # via -r requirements/docs.in sphinxcontrib-applehelp==1.0.2 # via sphinx sphinxcontrib-devhelp==1.0.2 @@ -67,7 +67,7 @@ sphinxcontrib-qthelp==1.0.3 # via sphinx sphinxcontrib-serializinghtml==1.1.5 # via sphinx -urllib3==1.26.5 +urllib3==1.26.7 # via requests # The following packages are considered to be unsafe in a requirements file: diff --git a/requirements/tests.txt b/requirements/tests.txt index 89031f8..b899729 100644 --- a/requirements/tests.txt +++ b/requirements/tests.txt @@ -8,9 +8,9 @@ attrs==21.2.0 # via pytest iniconfig==1.1.1 # via pytest -packaging==20.9 +packaging==21.0 # via pytest -pluggy==0.13.1 +pluggy==1.0.0 # via pytest py==1.10.0 # via pytest diff --git a/requirements/typing.txt b/requirements/typing.txt index fa04c8a..f5af819 100644 --- a/requirements/typing.txt +++ b/requirements/typing.txt @@ -4,11 +4,11 @@ # # pip-compile requirements/typing.in # -mypy==0.910 - # via -r requirements/typing.in mypy-extensions==0.4.3 # via mypy +mypy==0.910 + # via -r requirements/typing.in toml==0.10.2 # via mypy -typing-extensions==3.10.0.0 +typing-extensions==3.10.0.2 # via mypy diff --git a/src/click/termui.py b/src/click/termui.py index 08fd898..a023f42 100644 --- a/src/click/termui.py +++ b/src/click/termui.py @@ -84,7 +84,7 @@ def prompt( default: t.Optional[t.Any] = None, hide_input: bool = False, confirmation_prompt: t.Union[bool, str] = False, - type: t.Optional[ParamType] = None, + type: t.Optional[t.Union[ParamType, t.Any]] = None, value_proc: t.Optional[t.Callable[[str], t.Any]] = None, prompt_suffix: str = ": ", show_default: bool = True, @@ -596,9 +596,9 @@ def style( if underline is not None: bits.append(f"\033[{4 if underline else 24}m") if overline is not None: - bits.append(f"\033[{53 if underline else 55}m") + bits.append(f"\033[{53 if overline else 55}m") if italic is not None: - bits.append(f"\033[{5 if underline else 23}m") + bits.append(f"\033[{3 if italic else 23}m") if blink is not None: bits.append(f"\033[{5 if blink else 25}m") if reverse is not None: diff --git a/tests/test_utils.py b/tests/test_utils.py index 23b3709..d21b246 100644 --- a/tests/test_utils.py +++ b/tests/test_utils.py @@ -67,11 +67,19 @@ def test_echo_custom_file(): ({"bold": True}, "\x1b[1mx y\x1b[0m"), ({"dim": True}, "\x1b[2mx y\x1b[0m"), ({"underline": True}, "\x1b[4mx y\x1b[0m"), - ({"overline": True}, "\x1b[55mx y\x1b[0m"), - ({"italic": True}, "\x1b[23mx y\x1b[0m"), + ({"overline": True}, "\x1b[53mx y\x1b[0m"), + ({"italic": True}, "\x1b[3mx y\x1b[0m"), ({"blink": True}, "\x1b[5mx y\x1b[0m"), ({"reverse": True}, "\x1b[7mx y\x1b[0m"), ({"strikethrough": True}, "\x1b[9mx y\x1b[0m"), + ({"bold": False}, "\x1b[22mx y\x1b[0m"), + ({"dim": False}, "\x1b[22mx y\x1b[0m"), + ({"underline": False}, "\x1b[24mx y\x1b[0m"), + ({"overline": False}, "\x1b[55mx y\x1b[0m"), + ({"italic": False}, "\x1b[23mx y\x1b[0m"), + ({"blink": False}, "\x1b[25mx y\x1b[0m"), + ({"reverse": False}, "\x1b[27mx y\x1b[0m"), + ({"strikethrough": False}, "\x1b[29mx y\x1b[0m"), ({"fg": "black", "reset": False}, "\x1b[30mx y"), ], ) |