Skip to content

Commit 8b9197d

Browse files
committed
- adjust for foo=bar parameters
1 parent 0b73119 commit 8b9197d

File tree

1 file changed

+15
-9
lines changed

1 file changed

+15
-9
lines changed

sphinx_paramlinks/sphinx_paramlinks.py

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -48,9 +48,10 @@ def _cvt_param(name, line):
4848

4949
def cvt(m):
5050
modifier, objname, paramname = m.group(1) or '', name, m.group(2)
51+
refname = _refname_from_paramname(paramname)
5152
doc_idx.append(
52-
('single', '%s (%s parameter)' % (paramname, objname),
53-
'%s.params.%s' % (objname, paramname), '')
53+
('single', '%s (%s parameter)' % (refname, objname),
54+
'%s.params.%s' % (objname, refname), '')
5455
)
5556

5657
return ":param %s_sphinx_paramlinks_%s.%s:" % (
@@ -61,6 +62,17 @@ def cvt(m):
6162
lines[:] = [_cvt_param(name, line) for line in lines]
6263

6364

65+
def _refname_from_paramname(paramname):
66+
literal_match = re.match(r'^``(.+?)``$', paramname)
67+
if literal_match:
68+
paramname = literal_match.group(1)
69+
refname = paramname
70+
eq_match = re.match(r'(.+?)=.+$', refname)
71+
if eq_match:
72+
refname = eq_match.group(1)
73+
return refname
74+
75+
6476
class LinkParams(Transform):
6577
# apply references targets and optional references
6678
# to nodes that contain our target text.
@@ -77,13 +89,7 @@ def apply(self):
7789
if text.startswith("_sphinx_paramlinks_"):
7890
components = re.match(r'_sphinx_paramlinks_(.+)\.(.+)$', text)
7991
location, paramname = components.group(1, 2)
80-
literal_match = re.match(r'^``(.+?)``$', paramname)
81-
if literal_match:
82-
paramname = literal_match.group(1)
83-
refname = paramname
84-
eq_match = re.match(r'(.+?)=.+$', refname)
85-
if eq_match:
86-
refname = eq_match.group(1)
92+
refname = _refname_from_paramname(paramname)
8793

8894
refid = "%s.params.%s" % (location, refname)
8995
ref.parent.insert(

0 commit comments

Comments
 (0)