From 8d6d3079980ab0785a73f93974a13cf8dbeacc46 Mon Sep 17 00:00:00 2001 From: baldurk Date: Tue, 12 May 2026 14:36:45 +0100 Subject: [PATCH] Don't apply sphinx paramlinks to Callable[] lines --- docs/sphinx_exts/sphinx_paramlinks/sphinx_paramlinks.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/docs/sphinx_exts/sphinx_paramlinks/sphinx_paramlinks.py b/docs/sphinx_exts/sphinx_paramlinks/sphinx_paramlinks.py index 7076f81f0..1800b8178 100644 --- a/docs/sphinx_exts/sphinx_paramlinks/sphinx_paramlinks.py +++ b/docs/sphinx_exts/sphinx_paramlinks/sphinx_paramlinks.py @@ -82,9 +82,10 @@ def autodoc_process_docstring(app, what, name, obj, options, lines): modifier, objname, paramname = m.group(1) or '', name, m.group(2) return ":type %s_sphinx_paramlinks_%s.%s:" % ( modifier, objname, paramname) - - line = re.sub(r'^:param ([^:]+? )?([^:]+?):', cvt, line) - line = re.sub(r'^:type ([^:]+? )?([^:]+?):', secondary_cvt, line) + + if 'Callable' not in line: + line = re.sub(r'^:param ([^:]+? )?([^:]+?):', cvt, line) + line = re.sub(r'^:type ([^:]+? )?([^:]+?):', secondary_cvt, line) return line if what in ('function', 'method', 'class'):