summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Lord <davidism@gmail.com>2021-10-05 17:44:37 -0700
committerDavid Lord <davidism@gmail.com>2021-10-05 17:44:37 -0700
commit655918a61e22cade722dacb9bf798e86b13093af (patch)
tree16ab8bf712f8de446bdeb7860d99e69b92bfc8fc
parente8e4b32f5034b8e6df9f4d5ba7ed952da9394a76 (diff)
parent3e88d3dcadbe357c90059bbaeb691f4a2d20d9e6 (diff)
downloadclick-655918a61e22cade722dacb9bf798e86b13093af.tar.gz
Merge branch '8.0.x'
-rw-r--r--.pre-commit-config.yaml4
-rw-r--r--CHANGES.rst4
-rw-r--r--docs/conf.py2
-rw-r--r--requirements/dev.txt65
-rw-r--r--requirements/docs.txt28
-rw-r--r--requirements/tests.txt4
-rw-r--r--requirements/typing.txt6
-rw-r--r--src/click/termui.py6
-rw-r--r--tests/test_utils.py12
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"),
],
)