]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-105895: Add `match` and `case` doc to `help()` (#152113)
authorsobolevn <mail@sobolevn.me>
Wed, 24 Jun 2026 21:31:57 +0000 (00:31 +0300)
committerGitHub <noreply@github.com>
Wed, 24 Jun 2026 21:31:57 +0000 (21:31 +0000)
Co-authored-by: dzherb <zherbin.dima@yandex.ru>
Co-authored-by: Stan Ulbrych <stan@python.org>
Doc/tools/extensions/pydoc_topics.py
Lib/pydoc.py
Lib/test/test_pydoc/test_pydoc.py
Misc/NEWS.d/next/Library/2026-06-24-22-16-35.gh-issue-105895.hRkuEw.rst [new file with mode: 0644]

index 35878e2d1e43e9baf5cfa839b1d5ebbe9a8fc6d6..6c30a9c62626fb1b6dbb7b5a88c1c0921274b4c9 100644 (file)
@@ -70,6 +70,7 @@ _PYDOC_TOPIC_LABELS: Sequence[str] = sorted({
     "lambda",
     "lazy",
     "lists",
+    "match",
     "naming",
     "nonlocal",
     "numbers",
index fe42592530c2cfd5cbc9ffe20c2bd66ca583d929..041ee26c791f36b1d7bdf05d288ea959f7507cb1 100644 (file)
@@ -1844,6 +1844,7 @@ class Helper:
         'async': ('async', ''),
         'await': ('await', ''),
         'break': ('break', 'while for'),
+        'case': 'match',
         'class': ('class', 'CLASSES SPECIALMETHODS'),
         'continue': ('continue', 'while for'),
         'def': ('function', ''),
@@ -1855,12 +1856,13 @@ class Helper:
         'for': ('for', 'break continue while'),
         'from': 'import',
         'global': ('global', 'nonlocal NAMESPACES'),
-        'if': ('if', 'TRUTHVALUE'),
+        'if': ('if', 'TRUTHVALUE match'),
         'import': ('import', 'MODULES'),
         'in': ('in', 'SEQUENCEMETHODS'),
         'is': 'COMPARISON',
         'lambda': ('lambda', 'FUNCTIONS'),
         'lazy': ('lazy', 'MODULES'),
+        'match': ('match', 'if'),
         'nonlocal': ('nonlocal', 'global NAMESPACES'),
         'not': 'BOOLEAN',
         'or': 'BOOLEAN',
index 5543c664528e6c846a776fc851dfc157157113bd..25f94c4c740e1ea9652394fa61265dfc73d22783 100644 (file)
@@ -2237,7 +2237,7 @@ class TestHelper(unittest.TestCase):
 
     def test_keywords(self):
         self.assertEqual(sorted(pydoc.Helper.keywords),
-                         sorted(keyword.kwlist + ['lazy']))
+                         sorted(keyword.kwlist + ['case', 'match', 'lazy']))
 
     def test_interact_empty_line_continues(self):
         # gh-138568: test pressing Enter without input should continue in help session
diff --git a/Misc/NEWS.d/next/Library/2026-06-24-22-16-35.gh-issue-105895.hRkuEw.rst b/Misc/NEWS.d/next/Library/2026-06-24-22-16-35.gh-issue-105895.hRkuEw.rst
new file mode 100644 (file)
index 0000000..c69e6fa
--- /dev/null
@@ -0,0 +1,2 @@
+Add :keyword:`match` and :keyword:`case` to the list of supported topics by
+:func:`help`.