diff --git a/pyproject.toml b/pyproject.toml index 276e33eb3..c68e7d3a0 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -307,7 +307,6 @@ disallow_any_generics = true [[tool.mypy.overrides]] module = [ - "sphinx.application", "sphinx.builders", "sphinx.builders.html", "sphinx.builders.latex", diff --git a/sphinx/application.py b/sphinx/application.py index 495e90570..b281ebc28 100644 --- a/sphinx/application.py +++ b/sphinx/application.py @@ -1237,9 +1237,12 @@ class Sphinx: logger.debug('[app] adding HTML theme: %r, %r', name, theme_path) self.registry.add_html_theme(name, theme_path) - def add_html_math_renderer(self, name: str, - inline_renderers: tuple[Callable, Callable] = None, - block_renderers: tuple[Callable, Callable] = None) -> None: + def add_html_math_renderer( + self, + name: str, + inline_renderers: tuple[Callable | None, Callable | None] | None = None, + block_renderers: tuple[Callable | None, Callable | None] | None = None, + ) -> None: """Register a math renderer for HTML. The *name* is a name of math renderer. Both *inline_renderers* and diff --git a/sphinx/registry.py b/sphinx/registry.py index eba9f7556..555722538 100644 --- a/sphinx/registry.py +++ b/sphinx/registry.py @@ -309,8 +309,11 @@ class SphinxComponentRegistry: raise ExtensionError(__('Translator for %r already exists') % name) self.translators[name] = translator - def add_translation_handlers(self, node: type[Element], - **kwargs: tuple[Callable, Callable]) -> None: + def add_translation_handlers( + self, + node: type[Element], + **kwargs: tuple[Callable | None, Callable | None], + ) -> None: logger.debug('[app] adding translation_handlers: %r, %r', node, kwargs) for builder_name, handlers in kwargs.items(): translation_handlers = self.translation_handlers.setdefault(builder_name, {}) @@ -369,7 +372,7 @@ class SphinxComponentRegistry: def add_css_files(self, filename: str, **attributes: Any) -> None: self.css_files.append((filename, attributes)) - def add_js_file(self, filename: str, **attributes: Any) -> None: + def add_js_file(self, filename: str | None, **attributes: Any) -> None: logger.debug('[app] adding js_file: %r, %r', filename, attributes) self.js_files.append((filename, attributes)) @@ -377,7 +380,9 @@ class SphinxComponentRegistry: packages = self.latex_packages + self.latex_packages_after_hyperref return bool([x for x in packages if x[0] == name]) - def add_latex_package(self, name: str, options: str, after_hyperref: bool = False) -> None: + def add_latex_package( + self, name: str, options: str | None, after_hyperref: bool = False, + ) -> None: if self.has_latex_package(name): logger.warning("latex package '%s' already included", name) @@ -398,9 +403,12 @@ class SphinxComponentRegistry: raise ExtensionError(__('enumerable_node %r already registered') % node) self.enumerable_nodes[node] = (figtype, title_getter) - def add_html_math_renderer(self, name: str, - inline_renderers: tuple[Callable, Callable], - block_renderers: tuple[Callable, Callable]) -> None: + def add_html_math_renderer( + self, + name: str, + inline_renderers: tuple[Callable | None, Callable | None] | None, + block_renderers: tuple[Callable | None, Callable | None] | None, + ) -> None: logger.debug('[app] adding html_math_renderer: %s, %r, %r', name, inline_renderers, block_renderers) if name in self.html_inline_math_renderers: