diff --git a/sphinx/ext/intersphinx.py b/sphinx/ext/intersphinx.py index f19f5fa156..29cbd71074 100644 --- a/sphinx/ext/intersphinx.py +++ b/sphinx/ext/intersphinx.py @@ -479,7 +479,7 @@ class IntersphinxDispatcher(CustomReSTDispatcher): def role(self, role_name: str, language_module: ModuleType, lineno: int, reporter: Reporter ) -> Tuple[RoleFunction, List[system_message]]: - if len(role_name) > 9 and role_name.startswith('external') and role_name[8] in ':+': + if len(role_name) > 9 and role_name.startswith(('external:', 'external+')): return IntersphinxRole(role_name), [] else: return super().role(role_name, language_module, lineno, reporter)