|
1 | 1 | from _typeshed import Incomplete
|
| 2 | +from collections.abc import Callable, Sequence |
2 | 3 | from typing import Any, ClassVar, Literal
|
| 4 | +from typing_extensions import TypeAlias |
3 | 5 |
|
4 |
| -from docutils import parsers |
5 |
| -from docutils.parsers.rst import states |
| 6 | +from docutils import nodes, parsers |
| 7 | +from docutils.parsers.rst.states import Inliner, RSTState, RSTStateMachine |
| 8 | +from docutils.statemachine import StringList |
| 9 | +from docutils.transforms import Transform |
6 | 10 |
|
7 | 11 | class Parser(parsers.Parser):
|
| 12 | + settings_spec: ClassVar[Incomplete] |
8 | 13 | config_section_dependencies: ClassVar[tuple[str, ...]]
|
9 | 14 | initial_state: Literal["Body", "RFC2822Body"]
|
10 |
| - state_classes: Any |
11 |
| - inliner: Any |
12 |
| - def __init__(self, rfc2822: bool = False, inliner: Incomplete | None = None) -> None: ... |
| 15 | + state_classes: Sequence[type[RSTState]] |
| 16 | + inliner: Inliner | None |
| 17 | + def __init__(self, rfc2822: bool = False, inliner: Inliner | None = None) -> None: ... |
| 18 | + def get_transforms(self) -> list[type[Transform]]: ... |
| 19 | + def parse(self, inputstring: str, document: nodes.document) -> None: ... |
13 | 20 |
|
14 | 21 | class DirectiveError(Exception):
|
15 |
| - level: Any |
| 22 | + level: int |
16 | 23 | msg: str
|
17 |
| - def __init__(self, level: Any, message: str) -> None: ... |
| 24 | + def __init__(self, level: int, message: str) -> None: ... |
18 | 25 |
|
19 | 26 | class Directive:
|
| 27 | + required_arguments: int |
| 28 | + optional_arguments: int |
| 29 | + final_argument_whitespace: bool |
| 30 | + option_spec: dict[str, Callable[[str], Any]] | None |
| 31 | + has_content: bool |
| 32 | + name: str |
| 33 | + arguments: list[str] |
| 34 | + options: dict[str, Any] |
| 35 | + content: StringList |
| 36 | + lineno: int |
| 37 | + content_offset: int |
| 38 | + block_text: str |
| 39 | + state: RSTState |
| 40 | + state_machine: RSTStateMachine = ... |
20 | 41 | def __init__(
|
21 | 42 | self,
|
22 | 43 | name: str,
|
23 |
| - arguments: list[Any], |
| 44 | + arguments: list[str], |
24 | 45 | options: dict[str, Any],
|
25 |
| - content: list[str], |
| 46 | + content: StringList, |
26 | 47 | lineno: int,
|
27 | 48 | content_offset: int,
|
28 | 49 | block_text: str,
|
29 |
| - state: states.RSTState, |
30 |
| - state_machine: states.RSTStateMachine, |
| 50 | + state: RSTState, |
| 51 | + state_machine: RSTStateMachine, |
31 | 52 | ) -> None: ...
|
32 |
| - def __getattr__(self, name: str) -> Incomplete: ... |
| 53 | + def run(self) -> Sequence[nodes.Node]: ... |
| 54 | + def directive_error(self, level: int, message: str) -> DirectiveError: ... |
| 55 | + def debug(self, message: str) -> DirectiveError: ... |
| 56 | + def info(self, message: str) -> DirectiveError: ... |
| 57 | + def warning(self, message: str) -> DirectiveError: ... |
| 58 | + def error(self, message: str) -> DirectiveError: ... |
| 59 | + def severe(self, message: str) -> DirectiveError: ... |
| 60 | + def assert_has_content(self) -> None: ... |
| 61 | + def add_name(self, node: nodes.Node) -> None: ... |
33 | 62 |
|
34 |
| -def convert_directive_function(directive_fn): ... |
| 63 | +_DirectiveFn: TypeAlias = Callable[ |
| 64 | + [str, list[str], dict[str, Any], StringList, int, int, str, RSTState, RSTStateMachine], Directive |
| 65 | +] |
| 66 | + |
| 67 | +def convert_directive_function(directive_fn: _DirectiveFn) -> type[Directive]: ... |
0 commit comments