summaryrefslogtreecommitdiff
path: root/sphinx/ext/viewcode.py
diff options
context:
space:
mode:
authorAshley Whetter <asw@dneg.com>2018-08-13 15:33:49 -0700
committerAshley Whetter <asw@dneg.com>2018-08-13 17:07:50 -0700
commit97164faec3a641c406217c971df6a3948758b29d (patch)
tree97654a715b09200f7021cc27537c2fa976e31c42 /sphinx/ext/viewcode.py
parentf77216c5a67243301d2a4076f1c83e3702f024b5 (diff)
downloadsphinx-git-97164faec3a641c406217c971df6a3948758b29d.tar.gz
Plugins can resolve imported members for viewcode
Diffstat (limited to 'sphinx/ext/viewcode.py')
-rw-r--r--sphinx/ext/viewcode.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/sphinx/ext/viewcode.py b/sphinx/ext/viewcode.py
index 6d3c3c1c0..ca944a636 100644
--- a/sphinx/ext/viewcode.py
+++ b/sphinx/ext/viewcode.py
@@ -104,7 +104,12 @@ def doctree_read(app, doctree):
fullname = signode.get('fullname')
refname = modname
if env.config.viewcode_follow_imported_members:
- modname = _get_full_modname(app, modname, fullname)
+ new_modname = app.emit_firstresult(
+ 'viewcode-follow-imported', modname, fullname,
+ )
+ if not new_modname:
+ new_modname = _get_full_modname(app, modname, fullname)
+ modname = new_modname
if not modname:
continue
fullname = signode.get('fullname')
@@ -262,6 +267,7 @@ def setup(app):
# app.add_config_value('viewcode_include_modules', [], 'env')
# app.add_config_value('viewcode_exclude_modules', [], 'env')
app.add_event('viewcode-find-source')
+ app.add_event('viewcode-follow-imported')
return {
'version': sphinx.__display_version__,
'env_version': 1,