diff options
author | Jakob Lykke Andersen <Jakob@caput.dk> | 2021-11-06 14:33:47 +0100 |
---|---|---|
committer | Jakob Lykke Andersen <Jakob@caput.dk> | 2022-01-16 09:48:06 +0100 |
commit | ccc4f95b42c4caba74cf01f9aa898a96a3372b9e (patch) | |
tree | c8cd7686bcba47d117e62288e9f923425896c14d /sphinx/ext/intersphinx.py | |
parent | 029d0e5b1837de4e33ee92cbb88d650e9afb8a3d (diff) | |
download | sphinx-git-ccc4f95b42c4caba74cf01f9aa898a96a3372b9e.tar.gz |
intersphinx role, hax role name to preserve case
Diffstat (limited to 'sphinx/ext/intersphinx.py')
-rw-r--r-- | sphinx/ext/intersphinx.py | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/sphinx/ext/intersphinx.py b/sphinx/ext/intersphinx.py index 2c640925b..90ad8e758 100644 --- a/sphinx/ext/intersphinx.py +++ b/sphinx/ext/intersphinx.py @@ -482,14 +482,18 @@ class IntersphinxDispatcher(CustomReSTDispatcher): def role(self, role_name: str, language_module: ModuleType, lineno: int, reporter: Reporter ) -> Tuple[RoleFunction, List[system_message]]: if role_name.split(':')[0] == 'external': - return IntersphinxRole(), [] + return IntersphinxRole(role_name), [] else: return super().role(role_name, language_module, lineno, reporter) class IntersphinxRole(SphinxRole): + def __init__(self, orig_name: str) -> None: + self.orig_name = orig_name + def run(self) -> Tuple[List[Node], List[system_message]]: - inventory, name_suffix = self.get_inventory_and_name_suffix(self.name) + assert self.name == self.orig_name.lower() + inventory, name_suffix = self.get_inventory_and_name_suffix(self.orig_name) if inventory and not inventory_exists(self.env, inventory): logger.warning(__('inventory for external cross-reference not found: %s'), inventory, location=(self.env.docname, self.lineno)) |