docutils: Use ClassVar for Directive class variables (#11550)

These are intended to be set as class variables, in subclasses of Directive, rather
than instance variables.

See also:
- https://docutils.sourceforge.io/docs/howto/rst-directives.html#the-directive-class
- https://docutils.sourceforge.io/docs/howto/rst-directives.html#admonitions
This commit is contained in:
Tony Narlock
2024-03-09 16:28:35 -06:00
committed by GitHub
parent 4d8ae17776
commit 96e62dd757
2 changed files with 9 additions and 17 deletions

View File

@@ -1,5 +1,3 @@
from typing import Any
from docutils.parsers.rst import Directive
MODULEDOC: str
@@ -8,15 +6,9 @@ FMTERDOC: str
FILTERDOC: str
class PygmentsDoc(Directive):
has_content: bool
required_arguments: int
optional_arguments: int
final_argument_whitespace: bool
option_spec: Any
filenames: Any
def run(self): ...
def document_lexers(self): ...
def document_formatters(self): ...
def document_filters(self): ...
filenames: set[str]
def document_lexers(self) -> str: ...
def document_formatters(self) -> str: ...
def document_filters(self) -> str: ...
def setup(app) -> None: ...

View File

@@ -24,11 +24,11 @@ class DirectiveError(Exception):
def __init__(self, level: int, message: str) -> None: ...
class Directive:
required_arguments: int
optional_arguments: int
final_argument_whitespace: bool
option_spec: dict[str, Callable[[str], Any]] | None
has_content: bool
required_arguments: ClassVar[int]
optional_arguments: ClassVar[int]
final_argument_whitespace: ClassVar[bool]
option_spec: ClassVar[dict[str, Callable[[str], Any]] | None]
has_content: ClassVar[bool]
name: str
arguments: list[str]
options: dict[str, Any]