Skip to content

Commit ea34c97

Browse files
Expand docutils.parsters.rst.states (#12226)
1 parent 45d162c commit ea34c97

File tree

2 files changed

+54
-5
lines changed

2 files changed

+54
-5
lines changed

stubs/docutils/docutils/parsers/rst/__init__.pyi

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ class Parser(parsers.Parser):
1212
settings_spec: ClassVar[Incomplete]
1313
config_section_dependencies: ClassVar[tuple[str, ...]]
1414
initial_state: Literal["Body", "RFC2822Body"]
15-
state_classes: Sequence[type[RSTState]]
15+
state_classes: Sequence[type[RSTState[Incomplete]]]
1616
inliner: Inliner | None
1717
def __init__(self, rfc2822: bool = False, inliner: Inliner | None = None) -> None: ...
1818
def get_transforms(self) -> list[type[Transform]]: ...
@@ -36,7 +36,7 @@ class Directive:
3636
lineno: int
3737
content_offset: int
3838
block_text: str
39-
state: RSTState
39+
state: RSTState[Incomplete]
4040
state_machine: RSTStateMachine = ...
4141
def __init__(
4242
self,
@@ -47,7 +47,7 @@ class Directive:
4747
lineno: int,
4848
content_offset: int,
4949
block_text: str,
50-
state: RSTState,
50+
state: RSTState[Incomplete],
5151
state_machine: RSTStateMachine,
5252
) -> None: ...
5353
def run(self) -> Sequence[nodes.Node]: ...
@@ -61,7 +61,7 @@ class Directive:
6161
def add_name(self, node: nodes.Node) -> None: ...
6262

6363
_DirectiveFn: TypeAlias = Callable[
64-
[str, list[str], dict[str, Any], StringList, int, int, str, RSTState, RSTStateMachine], Directive
64+
[str, list[str], dict[str, Any], StringList, int, int, str, RSTState[Incomplete], RSTStateMachine], Directive
6565
]
6666

6767
def convert_directive_function(directive_fn: _DirectiveFn) -> type[Directive]: ...

stubs/docutils/docutils/parsers/rst/states.pyi

Lines changed: 50 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,64 @@ from _typeshed import Incomplete
22
from collections.abc import Callable, Sequence
33
from re import Match, Pattern
44
from types import ModuleType
5-
from typing import Any
5+
from typing import Any, TypeVar
66
from typing_extensions import TypeAlias
77

88
from docutils import nodes
9+
from docutils.statemachine import StateMachineWS, StateWS
910
from docutils.utils import Reporter
1011

12+
_Context = TypeVar("_Context")
13+
1114
class Struct:
1215
def __init__(self, **keywordargs) -> None: ...
1316

17+
class RSTState(StateWS[_Context]):
18+
nested_sm: type[StateMachineWS[_Context]]
19+
nested_sm_cache: Incomplete
20+
nested_sm_kwargs: Incomplete
21+
def __init__(self, state_machine, debug: bool = False) -> None: ...
22+
memo: Incomplete
23+
reporter: Incomplete
24+
inliner: Incomplete
25+
document: nodes.document
26+
parent: Incomplete
27+
def runtime_init(self) -> None: ...
28+
def goto_line(self, abs_line_offset) -> None: ...
29+
def no_match(self, context, transitions): ...
30+
def bof(self, context): ...
31+
def nested_parse(
32+
self,
33+
block,
34+
input_offset,
35+
node,
36+
match_titles: bool = False,
37+
state_machine_class: Incomplete | None = None,
38+
state_machine_kwargs: Incomplete | None = None,
39+
): ...
40+
def nested_list_parse(
41+
self,
42+
block,
43+
input_offset,
44+
node,
45+
initial_state,
46+
blank_finish,
47+
blank_finish_state: Incomplete | None = None,
48+
extra_settings={},
49+
match_titles: bool = False,
50+
state_machine_class: Incomplete | None = None,
51+
state_machine_kwargs: Incomplete | None = None,
52+
): ...
53+
def section(self, title, source, style, lineno, messages) -> None: ...
54+
def check_subsection(self, source, style, lineno): ...
55+
def title_inconsistent(self, sourcetext, lineno): ...
56+
def new_subsection(self, title, lineno, messages) -> None: ...
57+
def paragraph(self, lines, lineno): ...
58+
def inline_text(self, text, lineno): ...
59+
def unindent_warning(self, node_name): ...
60+
61+
def build_regexp(definition, compile: bool = True): ...
62+
1463
_BasicDefinition: TypeAlias = tuple[str, str, str, list[Pattern[str]]]
1564
_DefinitionParts: TypeAlias = tuple[str, str, str, list[Pattern[str] | _BasicDefinition]]
1665
_DefinitionType: TypeAlias = tuple[str, str, str, list[Pattern[str] | _DefinitionParts]]

0 commit comments

Comments
 (0)