diff options
| author | DasIch <dasdasich@googlemail.com> | 2010-03-30 21:50:48 +0000 |
|---|---|---|
| committer | DasIch <dasdasich@googlemail.com> | 2010-03-30 21:50:48 +0000 |
| commit | a2f5a1835c97ab4bb7c3bdc1b07ee856e41ae670 (patch) | |
| tree | 63b7ba81434ae0d669b4bef495fde4bc48682496 /sphinx/domains/javascript.py | |
| parent | e182a1bd745ea888c8a1829a6918459d3ce1f8ee (diff) | |
| download | sphinx-a2f5a1835c97ab4bb7c3bdc1b07ee856e41ae670.tar.gz | |
It is now possible to use the js:function:: directive for methods.
Diffstat (limited to 'sphinx/domains/javascript.py')
| -rw-r--r-- | sphinx/domains/javascript.py | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/sphinx/domains/javascript.py b/sphinx/domains/javascript.py index 184ab88a..64280120 100644 --- a/sphinx/domains/javascript.py +++ b/sphinx/domains/javascript.py @@ -31,7 +31,25 @@ class JSCallable(ObjectDescription): match = js_sig_re.match(sig) if match is None: raise ValueError() - obj, name, arglist = match.groups() + nameprefix, name, arglist = match.groups() + + objectname = self.env.temp_data.get('js:object') + if objectname and nameprefix: + # someone documenting the method of an attribute of the current + # object? shouldn't happen but who knows... + fullname = objectname + '.' + nameprefix + name + elif objectname: + fullname = objectname + '.' + name + elif nameprefix: + fullname = nameprefix + '.' + name + else: + # just a function or constructor + objectname = '' + fullname = '' + + signode['object'] = objectname + signode['fullname'] = fullname + signode += addnodes.desc_name(name, name) if not arglist: |
