diff options
author | Ashley Whetter <asw@dneg.com> | 2018-08-13 15:33:49 -0700 |
---|---|---|
committer | Ashley Whetter <asw@dneg.com> | 2018-08-13 17:07:50 -0700 |
commit | 97164faec3a641c406217c971df6a3948758b29d (patch) | |
tree | 97654a715b09200f7021cc27537c2fa976e31c42 /sphinx/ext/viewcode.py | |
parent | f77216c5a67243301d2a4076f1c83e3702f024b5 (diff) | |
download | sphinx-git-97164faec3a641c406217c971df6a3948758b29d.tar.gz |
Plugins can resolve imported members for viewcode
Diffstat (limited to 'sphinx/ext/viewcode.py')
-rw-r--r-- | sphinx/ext/viewcode.py | 8 |
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, |