From 08f159c2ba61a0b636fb52f98a87809a3bd0c47e Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sat, 22 Jan 2022 12:41:26 +0530 Subject: [PATCH] TypeCheck underline style names --- kittens/tui/operations.py | 10 +++++----- kitty/typing.py | 1 + kitty/typing.pyi | 1 + 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/kittens/tui/operations.py b/kittens/tui/operations.py index 3f64a67a7..308e758ed 100644 --- a/kittens/tui/operations.py +++ b/kittens/tui/operations.py @@ -5,13 +5,13 @@ import sys from contextlib import contextmanager from enum import Enum, auto from functools import wraps -from typing import ( - IO, Any, Callable, Dict, Generator, Optional, TypeVar, Union -) +from typing import IO, Any, Callable, Dict, Generator, Optional, TypeVar, Union from kitty.fast_data_types import Color from kitty.rgb import color_as_sharp, to_color -from kitty.typing import GraphicsCommandType, HandlerType, ScreenSize +from kitty.typing import ( + GraphicsCommandType, HandlerType, ScreenSize, UnderlineLiteral +) from .operations_stub import CMD @@ -214,7 +214,7 @@ def styled( bg_intense: bool = False, italic: Optional[bool] = None, bold: Optional[bool] = None, - underline: Optional[str] = None, + underline: Optional[UnderlineLiteral] = None, underline_color: Optional[ColorSpec] = None, reverse: Optional[bool] = None, dim: Optional[bool] = None, diff --git a/kitty/typing.py b/kitty/typing.py index a8e72172f..86d9ec696 100644 --- a/kitty/typing.py +++ b/kitty/typing.py @@ -17,6 +17,7 @@ TermManagerType = LoopType = Debug = GraphicsCommandType = None CompletedProcess = Tuple TypedDict = dict EdgeLiteral = str +UnderlineLiteral = str PowerlineStyle = str MatchType = str Protocol = object diff --git a/kitty/typing.pyi b/kitty/typing.pyi index 1ac67811b..0f9293a9c 100644 --- a/kitty/typing.pyi +++ b/kitty/typing.pyi @@ -33,6 +33,7 @@ from .utils import ScreenSize as ScreenSize from .window import Window as WindowType EdgeLiteral = Literal['left', 'top', 'right', 'bottom'] +UnderlineLiteral = Literal['straight', 'double', 'curly', 'dotted', 'dashed'] MatchType = Literal['mime', 'ext', 'protocol', 'file', 'path', 'url', 'fragment_matches'] PowerlineStyle = Literal['angled', 'slanted', 'round'] GRT_a = Literal['t', 'T', 'q', 'p', 'd', 'f', 'a', 'c', 'q']