|
13 | 13 |
|
14 | 14 | if TYPE_CHECKING: |
15 | 15 | from types import TracebackType |
| 16 | + from typing import Any, ClassVar, Final |
16 | 17 |
|
17 | 18 | if sys.platform == "win32": # pragma: win32 cover |
18 | 19 | import ctypes |
19 | 20 |
|
20 | 21 | class _CursorInfo(ctypes.Structure): |
21 | | - _fields_ = [("size", ctypes.c_int), ("visible", ctypes.c_byte)] |
| 22 | + _fields_: Final[ClassVar[list[tuple[str, Any]]]] = [("size", ctypes.c_int), ("visible", ctypes.c_byte)] |
22 | 23 |
|
23 | 24 |
|
24 | 25 | def _file_support_encoding(chars: Sequence[str], file: IO[str]) -> bool: |
@@ -47,8 +48,8 @@ class Outcome(NamedTuple): |
47 | 48 | class Spinner: |
48 | 49 | CLEAR_LINE = "\033[K" |
49 | 50 | max_width = 120 |
50 | | - UNICODE_FRAMES = ["⠋", "⠙", "⠹", "⠸", "⠼", "⠴", "⠦", "⠧", "⠇", "⠏"] |
51 | | - ASCII_FRAMES = ["|", "-", "+", "x", "*"] |
| 51 | + UNICODE_FRAMES: ClassVar[list[str]] = ["⠋", "⠙", "⠹", "⠸", "⠼", "⠴", "⠦", "⠧", "⠇", "⠏"] |
| 52 | + ASCII_FRAMES: ClassVar[list[str]] = ["|", "-", "+", "x", "*"] |
52 | 53 | UNICODE_OUTCOME = Outcome(ok="✔", fail="✖", skip="⚠") |
53 | 54 | ASCII_OUTCOME = Outcome(ok="+", fail="!", skip="?") |
54 | 55 |
|
|
0 commit comments