1313if TYPE_CHECKING :
1414 from typing import Any , Callable , ClassVar
1515 from sphinx .application import Sphinx
16- from .render import ParseHost , TransformHost
16+ from .render import ParseHost , ResolveHost
1717
1818
1919class GlobalExtraContxt (ABC ):
20+ """Extra context availabled on any phase."""
21+
2022 @abstractmethod
2123 def generate (self ) -> Any : ...
2224
2325
2426class ParsePhaseExtraContext (ABC ):
27+ """Extra context generated during the :py:class:`~Phase.Parsing` or
28+ :py:class:`~Phase.Parsing` phase."""
29+
2530 @abstractmethod
2631 def generate (self , host : ParseHost ) -> Any : ...
2732
2833
29- class TransformPhaseExtraContext (ABC ):
34+ class ResolvePhaseExtraContext (ABC ):
35+ """Extra context generated during the :py:class:`~Phase.Resolving` phase."""
36+
3037 @abstractmethod
31- def generate (self , host : TransformHost ) -> Any : ...
38+ def generate (self , host : ResolveHost ) -> Any : ...
3239
3340
3441# =======================
@@ -39,8 +46,8 @@ def generate(self, host: TransformHost) -> Any: ...
3946class ExtraContextRegistry :
4047 names : set [str ]
4148 parsing : dict [str , ParsePhaseExtraContext ]
42- parsed : dict [str , TransformPhaseExtraContext ]
43- post_transform : dict [str , TransformPhaseExtraContext ]
49+ parsed : dict [str , ResolvePhaseExtraContext ]
50+ post_transform : dict [str , ResolvePhaseExtraContext ]
4451 global_ : dict [str , GlobalExtraContxt ]
4552
4653 def __init__ (self ) -> None :
@@ -65,22 +72,26 @@ def _name_dedup(self, name: str) -> None:
6572 def add_parsing_phase_context (
6673 self , name : str , ctxgen : ParsePhaseExtraContext
6774 ) -> None :
75+ """Register a extra context for :py:class:`~Phase.Parsing` phase."""
6876 self ._name_dedup (name )
6977 self .parsing ['_' + name ] = ctxgen
7078
7179 def add_parsed_phase_context (
72- self , name : str , ctxgen : TransformPhaseExtraContext
80+ self , name : str , ctxgen : ResolvePhaseExtraContext
7381 ) -> None :
82+ """Register a extra context for :py:class:`~Phase.Parsed` phase."""
7483 self ._name_dedup (name )
7584 self .parsed ['_' + name ] = ctxgen
7685
7786 def add_post_transform_phase_context (
78- self , name : str , ctxgen : TransformPhaseExtraContext
87+ self , name : str , ctxgen : ResolvePhaseExtraContext
7988 ) -> None :
89+ """Register a extra context for :py:class:`~Phase.Resolving` phase."""
8090 self ._name_dedup (name )
8191 self .post_transform ['_' + name ] = ctxgen
8292
8393 def add_global_context (self , name : str , ctxgen : GlobalExtraContxt ):
94+ """Register a extra context for :py:class:`~Phase.Resolving` phase."""
8495 self ._name_dedup (name )
8596 self .global_ ['_' + name ] = ctxgen
8697
@@ -162,11 +173,11 @@ def on_parsing(self, host: ParseHost) -> None:
162173 for name , ctxgen in self .registry .parsing .items ():
163174 self ._safegen (name , lambda : ctxgen .generate (host ))
164175
165- def on_parsed (self , host : TransformHost ) -> None :
176+ def on_parsed (self , host : ResolveHost ) -> None :
166177 for name , ctxgen in self .registry .parsed .items ():
167178 self ._safegen (name , lambda : ctxgen .generate (host ))
168179
169- def on_post_transform (self , host : TransformHost ) -> None :
180+ def on_resolving (self , host : ResolveHost ) -> None :
170181 for name , ctxgen in self .registry .post_transform .items ():
171182 self ._safegen (name , lambda : ctxgen .generate (host ))
172183
0 commit comments