mirror of
https://github.com/sphinx-doc/sphinx.git
synced 2025-02-25 18:55:22 -06:00
Changed js_sig_re to handle JavaScript identifiers such as $
.
This commit is contained in:
parent
9d53f460ea
commit
8bc0248a14
@ -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 = {
|
||||
|
Loading…
Reference in New Issue
Block a user