From aecebcea9a3f6cbd3f379bc34f99d2ffb0f87220 Mon Sep 17 00:00:00 2001 From: Adam Turner <9087854+aa-turner@users.noreply.github.com> Date: Thu, 17 Aug 2023 03:59:55 +0100 Subject: [PATCH] Make ``_resolve_toctree()`` keyword-only --- sphinx/environment/__init__.py | 20 ++++++++++++++------ sphinx/environment/adapters/toctree.py | 14 +++++++++----- 2 files changed, 23 insertions(+), 11 deletions(-) diff --git a/sphinx/environment/__init__.py b/sphinx/environment/__init__.py index cf698ea6d39..9b9e9dd306a 100644 --- a/sphinx/environment/__init__.py +++ b/sphinx/environment/__init__.py @@ -12,7 +12,7 @@ from typing import TYPE_CHECKING, Any, Callable from sphinx import addnodes -from sphinx.environment.adapters.toctree import _resolve_toctree +from sphinx.environment.adapters import toctree as toctree_adapters from sphinx.errors import BuildEnvironmentError, DocumentError, ExtensionError, SphinxError from sphinx.locale import __ from sphinx.transforms import SphinxTransformer @@ -636,9 +636,11 @@ def get_and_resolve_doctree( # now, resolve all toctree nodes for toctreenode in doctree.findall(addnodes.toctree): - result = _resolve_toctree(self, docname, builder, toctreenode, - prune=prune_toctrees, - includehidden=includehidden) + result = toctree_adapters._resolve_toctree( + self, docname, builder, toctreenode, + prune=prune_toctrees, + includehidden=includehidden, + ) if result is None: toctreenode.parent.replace(toctreenode, []) else: @@ -660,8 +662,14 @@ def resolve_toctree(self, docname: str, builder: Builder, toctree: addnodes.toct If *collapse* is True, all branches not containing docname will be collapsed. """ - return _resolve_toctree(self, docname, builder, toctree, prune, - maxdepth, titles_only, collapse, includehidden) + return toctree_adapters._resolve_toctree( + self, docname, builder, toctree, + prune=prune, + maxdepth=maxdepth, + titles_only=titles_only, + collapse=collapse, + includehidden=includehidden, + ) def resolve_references(self, doctree: nodes.document, fromdocname: str, builder: Builder) -> None: diff --git a/sphinx/environment/adapters/toctree.py b/sphinx/environment/adapters/toctree.py index 1626610ab4b..327b44a30a6 100644 --- a/sphinx/environment/adapters/toctree.py +++ b/sphinx/environment/adapters/toctree.py @@ -65,10 +65,10 @@ def global_toctree_for_doc( env: BuildEnvironment, docname: str, builder: Builder, - maxdepth: int = 0, - titles_only: bool = False, collapse: bool = False, includehidden: bool = True, + maxdepth: int = 0, + titles_only: bool = False, ) -> Element | None: """Get the global ToC tree at a given document. @@ -98,7 +98,7 @@ def global_toctree_for_doc( def _resolve_toctree( - env: BuildEnvironment, docname: str, builder: Builder, toctree: addnodes.toctree, + env: BuildEnvironment, docname: str, builder: Builder, toctree: addnodes.toctree, *, prune: bool = True, maxdepth: int = 0, titles_only: bool = False, collapse: bool = False, includehidden: bool = False, ) -> Element | None: @@ -500,8 +500,12 @@ def resolve(self, docname: str, builder: Builder, toctree: addnodes.toctree, prune: bool = True, maxdepth: int = 0, titles_only: bool = False, collapse: bool = False, includehidden: bool = False) -> Element | None: return _resolve_toctree( - self.env, docname, builder, toctree, prune, - maxdepth, titles_only, collapse, includehidden, + self.env, docname, builder, toctree, + prune=prune, + maxdepth=maxdepth, + titles_only=titles_only, + collapse=collapse, + includehidden=includehidden, ) def get_toc_for(self, docname: str, builder: Builder) -> Node: