diff options
| author | DasIch <dasdasich@googlemail.com> | 2010-03-30 21:20:21 +0000 |
|---|---|---|
| committer | DasIch <dasdasich@googlemail.com> | 2010-03-30 21:20:21 +0000 |
| commit | e182a1bd745ea888c8a1829a6918459d3ce1f8ee (patch) | |
| tree | 928019dfc15c47652bdafd9188627a53ad6d4ecd /sphinx/domains/javascript.py | |
| parent | fb6878056484ac54365ca021ede808f8505595f7 (diff) | |
| download | sphinx-e182a1bd745ea888c8a1829a6918459d3ce1f8ee.tar.gz | |
Changed js_sig_re to handle JavaScript identifiers such as `$`.
Diffstat (limited to 'sphinx/domains/javascript.py')
| -rw-r--r-- | sphinx/domains/javascript.py | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/sphinx/domains/javascript.py b/sphinx/domains/javascript.py index c2b28e66..184ab88a 100644 --- a/sphinx/domains/javascript.py +++ b/sphinx/domains/javascript.py @@ -17,9 +17,13 @@ from sphinx.directives import ObjectDescription from sphinx.domains.python import py_paramlist_re as js_paramlist_re from sphinx.roles import XRefRole -js_sig_re = re.compile(r'(\w+)\s*\((.*)\)') +js_sig_re = re.compile( + r'''([^ .]+\.)? # object name + ([^ .]+\s*) # name + \((.*)\)$ # arguments +''', re.VERBOSE) -class JSFunction(ObjectDescription): +class JSCallable(ObjectDescription): """ Description of a JavaScript function. """ @@ -27,7 +31,7 @@ class JSFunction(ObjectDescription): match = js_sig_re.match(sig) if match is None: raise ValueError() - name, arglist = match.groups() + obj, name, arglist = match.groups() signode += addnodes.desc_name(name, name) if not arglist: @@ -68,7 +72,7 @@ class JavaScriptDomain(Domain): "data": ObjType(l_("js data"), "data"), } directives = { - "function": JSFunction, + "function": JSCallable, "data": JSData, } roles = { |
