From 7fe5d7b58f6760e0f1e1e2fb0c4ef6f386569273 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Mon, 9 Jan 2023 16:47:42 +0530 Subject: [PATCH] Replace isort with ruff --- bypy/init_env.py | 5 +- bypy/linux/__main__.py | 8 +- bypy/macos/__main__.py | 13 +-- docs/conf.py | 12 +-- docs/kitty_at_template.py | 5 +- gen-go-code.py | 5 +- gen-wcwidth.py | 13 ++- glad/generate.py | 1 - kittens/ask/main.py | 9 +- kittens/choose/subseq_matcher.pyi | 1 - kittens/diff/collect.py | 4 +- kittens/diff/config.py | 12 +-- kittens/diff/diff_speedup.pyi | 1 - kittens/diff/highlight.py | 4 +- kittens/diff/main.py | 30 +++++- kittens/diff/options/definition.py | 1 - kittens/diff/options/parse.py | 1 + kittens/diff/options/utils.py | 4 +- kittens/diff/render.py | 5 +- kittens/diff/search.py | 2 +- kittens/hints/main.py | 10 +- kittens/icat/main.py | 1 + kittens/panel/main.py | 5 +- kittens/query_terminal/main.py | 2 +- kittens/remote_file/main.py | 9 +- kittens/runner.py | 2 +- kittens/show_error/main.py | 1 + kittens/show_key/kitty_mode.py | 6 +- kittens/show_key/main.py | 2 +- kittens/ssh/config.py | 16 ++- kittens/ssh/copy.py | 4 +- kittens/ssh/main.py | 25 ++--- kittens/ssh/options/definition.py | 1 - kittens/ssh/options/parse.py | 1 + kittens/themes/collection.py | 4 +- kittens/themes/main.py | 4 +- kittens/transfer/librsync.py | 5 +- kittens/transfer/main.py | 1 - kittens/transfer/receive.py | 18 ++-- kittens/transfer/send.py | 23 +++-- kittens/tui/handler.py | 19 ++-- kittens/tui/images.py | 10 +- kittens/tui/line_edit.py | 4 +- kittens/tui/loop.py | 13 +-- kittens/tui/operations.py | 4 +- kittens/tui/progress.py | 2 +- kittens/unicode_input/main.py | 10 +- kittens/unicode_input/unicode_names.pyi | 3 +- kitty/borders.py | 7 +- kitty/boss.py | 128 +++++++++++++++++++----- kitty/child.py | 19 ++-- kitty/choose_entry.py | 3 +- kitty/cli.py | 12 +-- kitty/cli_stub.py | 2 +- kitty/client.py | 1 - kitty/clipboard.py | 9 +- kitty/conf/generate.py | 4 +- kitty/conf/types.py | 6 +- kitty/conf/utils.py | 17 +++- kitty/config.py | 8 +- kitty/debug_config.py | 7 +- kitty/entry_points.py | 1 + kitty/fast_data_types.pyi | 11 +- kitty/file_transmission.py | 17 +--- kitty/fonts/__init__.py | 2 +- kitty/fonts/box_drawing.py | 8 +- kitty/fonts/fontconfig.py | 16 ++- kitty/fonts/render.py | 41 ++++---- kitty/keys.py | 5 +- kitty/launch.py | 13 +-- kitty/layout/base.py | 9 +- kitty/layout/grid.py | 9 +- kitty/layout/splits.py | 10 +- kitty/layout/tall.py | 5 +- kitty/layout/vertical.py | 5 +- kitty/main.py | 37 +++++-- kitty/marks.py | 2 +- kitty/multiprocessing.py | 11 +- kitty/open_actions.py | 7 +- kitty/options/definition.py | 2 +- kitty/options/parse.py | 72 ++++++++++--- kitty/options/utils.py | 34 +++---- kitty/prewarm.py | 19 ++-- kitty/rc/base.py | 7 +- kitty/rc/close_tab.py | 5 +- kitty/rc/close_window.py | 5 +- kitty/rc/create_marker.py | 5 +- kitty/rc/detach_tab.py | 5 +- kitty/rc/detach_window.py | 6 +- kitty/rc/disable_ligatures.py | 5 +- kitty/rc/env.py | 5 +- kitty/rc/focus_tab.py | 5 +- kitty/rc/focus_window.py | 5 +- kitty/rc/get_colors.py | 5 +- kitty/rc/get_text.py | 5 +- kitty/rc/goto_layout.py | 7 +- kitty/rc/kitten.py | 5 +- kitty/rc/last_used_layout.py | 5 +- kitty/rc/launch.py | 12 +-- kitty/rc/ls.py | 5 +- kitty/rc/new_window.py | 5 +- kitty/rc/remove_marker.py | 5 +- kitty/rc/resize_os_window.py | 5 +- kitty/rc/resize_window.py | 5 +- kitty/rc/scroll_window.py | 5 +- kitty/rc/select_window.py | 5 +- kitty/rc/send_text.py | 18 +++- kitty/rc/set_background_image.py | 15 ++- kitty/rc/set_background_opacity.py | 14 ++- kitty/rc/set_colors.py | 15 ++- kitty/rc/set_enabled_layouts.py | 5 +- kitty/rc/set_font_size.py | 5 +- kitty/rc/set_spacing.py | 5 +- kitty/rc/set_tab_color.py | 5 +- kitty/rc/set_tab_title.py | 5 +- kitty/rc/set_window_logo.py | 15 ++- kitty/rc/set_window_title.py | 5 +- kitty/rc/signal_child.py | 5 +- kitty/remote_control.py | 22 +++- kitty/rgb.py | 1 + kitty/search_query_parser.py | 5 +- kitty/session.py | 6 +- kitty/tab_bar.py | 23 ++++- kitty/tabs.py | 41 ++++++-- kitty/types.py | 15 +-- kitty/typing.py | 1 - kitty/typing.pyi | 47 +++++---- kitty/update_check.py | 4 +- kitty/utils.py | 27 +++-- kitty/window.py | 108 ++++++++++++++++---- kitty_tests/__init__.py | 4 +- kitty_tests/bench_scrollback.py | 4 +- kitty_tests/check_build.py | 7 +- kitty_tests/clipboard.py | 4 +- kitty_tests/crypto.py | 4 +- kitty_tests/datatypes.py | 18 ++-- kitty_tests/diff.py | 5 +- kitty_tests/file_transmission.py | 11 +- kitty_tests/fonts.py | 9 +- kitty_tests/glfw.py | 2 + kitty_tests/graphics.py | 4 +- kitty_tests/hints.py | 10 +- kitty_tests/keys.py | 4 +- kitty_tests/layout.py | 2 +- kitty_tests/main.py | 11 +- kitty_tests/mouse.py | 10 +- kitty_tests/open_actions.py | 5 +- kitty_tests/options.py | 11 +- kitty_tests/parser.py | 5 +- kitty_tests/prewarm.py | 5 +- kitty_tests/screen.py | 4 +- kitty_tests/search_query_parser.py | 2 +- kitty_tests/shell_integration.py | 8 +- kitty_tests/ssh.py | 6 +- logo/make.py | 2 +- pyproject.toml | 7 +- setup.py | 5 +- 157 files changed, 876 insertions(+), 732 deletions(-) diff --git a/bypy/init_env.py b/bypy/init_env.py index 5e9bf4e7a..4b965860a 100644 --- a/bypy/init_env.py +++ b/bypy/init_env.py @@ -11,9 +11,8 @@ import sys import tempfile from contextlib import suppress -from bypy.constants import ( - LIBDIR, PREFIX, PYTHON, SRC as KITTY_DIR, ismacos, worker_env -) +from bypy.constants import LIBDIR, PREFIX, PYTHON, ismacos, worker_env +from bypy.constants import SRC as KITTY_DIR from bypy.utils import run_shell, walk diff --git a/bypy/linux/__main__.py b/bypy/linux/__main__.py index 819f3ae0c..3dca0c048 100644 --- a/bypy/linux/__main__.py +++ b/bypy/linux/__main__.py @@ -10,12 +10,8 @@ import subprocess import tarfile import time -from bypy.constants import ( - OUTPUT_DIR, PREFIX, is64bit, python_major_minor_version -) -from bypy.freeze import ( - extract_extension_modules, freeze_python, path_to_freeze_dir -) +from bypy.constants import OUTPUT_DIR, PREFIX, is64bit, python_major_minor_version +from bypy.freeze import extract_extension_modules, freeze_python, path_to_freeze_dir from bypy.utils import get_dll_path, mkdtemp, py_compile, walk j = os.path.join diff --git a/bypy/macos/__main__.py b/bypy/macos/__main__.py index 0f7fcffc4..f476858ae 100644 --- a/bypy/macos/__main__.py +++ b/bypy/macos/__main__.py @@ -13,16 +13,9 @@ import tempfile import zipfile from bypy.constants import PREFIX, PYTHON, SW, python_major_minor_version -from bypy.freeze import ( - extract_extension_modules, freeze_python, path_to_freeze_dir -) -from bypy.macos_sign import ( - codesign, create_entitlements_file, make_certificate_useable, notarize_app, - verify_signature -) -from bypy.utils import ( - current_dir, mkdtemp, py_compile, run_shell, timeit, walk -) +from bypy.freeze import extract_extension_modules, freeze_python, path_to_freeze_dir +from bypy.macos_sign import codesign, create_entitlements_file, make_certificate_useable, notarize_app, verify_signature +from bypy.utils import current_dir, mkdtemp, py_compile, run_shell, timeit, walk iv = globals()['init_env'] kitty_constants = iv['kitty_constants'] diff --git a/docs/conf.py b/docs/conf.py index 0ea3b7ed8..6a5feb999 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -18,9 +18,7 @@ from typing import Any, Callable, Dict, Iterable, List, Tuple from docutils import nodes from docutils.parsers.rst.roles import set_classes from pygments.lexer import RegexLexer, bygroups # type: ignore -from pygments.token import ( # type: ignore - Comment, Keyword, Literal, Name, Number, String, Whitespace -) +from pygments.token import Comment, Keyword, Literal, Name, Number, String, Whitespace # type: ignore from sphinx import addnodes, version_info from sphinx.util.logging import getLogger @@ -215,10 +213,10 @@ def commit_role( # CLI docs {{{ def write_cli_docs(all_kitten_names: Iterable[str]) -> None: - from kitty.cli import option_spec_as_rst - from kitty.launch import options_spec as launch_options_spec from kittens.ssh.copy import option_text from kittens.ssh.options.definition import copy_message + from kitty.cli import option_spec_as_rst + from kitty.launch import options_spec as launch_options_spec with open('generated/ssh-copy.rst', 'w') as f: f.write(option_spec_as_rst( appname='copy', ospec=option_text, heading_char='^', @@ -280,9 +278,7 @@ if you specify a program-to-run you can use the special placeholder def write_remote_control_protocol_docs() -> None: # {{{ - from kitty.rc.base import ( - RemoteCommand, all_command_names, command_for_name - ) + from kitty.rc.base import RemoteCommand, all_command_names, command_for_name field_pat = re.compile(r'\s*([^:]+?)\s*:\s*(.+)') def format_cmd(p: Callable[..., None], name: str, cmd: RemoteCommand) -> None: diff --git a/docs/kitty_at_template.py b/docs/kitty_at_template.py index fda27654a..f95a3c576 100644 --- a/docs/kitty_at_template.py +++ b/docs/kitty_at_template.py @@ -10,10 +10,7 @@ import termios import time import tty from contextlib import contextmanager -from ctypes import ( - CDLL, POINTER, byref, c_char_p, c_int, c_size_t, c_void_p, - create_string_buffer -) +from ctypes import CDLL, POINTER, byref, c_char_p, c_int, c_size_t, c_void_p, create_string_buffer from ctypes.util import find_library _plat = sys.platform.lower() diff --git a/gen-go-code.py b/gen-go-code.py index 234f71595..576ed6f87 100755 --- a/gen-go-code.py +++ b/gen-go-code.py @@ -14,7 +14,10 @@ import kitty.constants as kc from kittens.tui.operations import Mode from kittens.tui.spinners import spinners from kitty.cli import ( - CompletionSpec, GoOption, go_options_for_seq, parse_option_spec, + CompletionSpec, + GoOption, + go_options_for_seq, + parse_option_spec, serialize_as_go_string, ) from kitty.key_encoding import config_mod_map diff --git a/gen-wcwidth.py b/gen-wcwidth.py index 5a7a3c492..02a065692 100755 --- a/gen-wcwidth.py +++ b/gen-wcwidth.py @@ -12,8 +12,17 @@ from html.entities import html5 from itertools import groupby from operator import itemgetter from typing import ( - Callable, DefaultDict, Dict, FrozenSet, Generator, Iterable, List, Optional, Set, - Tuple, Union, + Callable, + DefaultDict, + Dict, + FrozenSet, + Generator, + Iterable, + List, + Optional, + Set, + Tuple, + Union, ) from urllib.request import urlopen diff --git a/glad/generate.py b/glad/generate.py index 0989fec51..2c13ce0ca 100755 --- a/glad/generate.py +++ b/glad/generate.py @@ -8,7 +8,6 @@ import shlex import shutil import subprocess - cmdline = ( 'glad --out-path {dest} --api gl:core=3.3 ' ' --extensions GL_ARB_texture_storage,GL_ARB_copy_image,GL_ARB_multisample,GL_ARB_robustness,GL_KHR_debug ' diff --git a/kittens/ask/main.py b/kittens/ask/main.py index fe1fe3264..28317b8eb 100644 --- a/kittens/ask/main.py +++ b/kittens/ask/main.py @@ -6,7 +6,14 @@ import re import sys from contextlib import suppress from typing import ( - TYPE_CHECKING, Callable, Dict, Iterator, List, NamedTuple, Optional, Tuple, + TYPE_CHECKING, + Callable, + Dict, + Iterator, + List, + NamedTuple, + Optional, + Tuple, ) from kitty.cli import parse_args diff --git a/kittens/choose/subseq_matcher.pyi b/kittens/choose/subseq_matcher.pyi index 8ee24f324..b8fc440ca 100644 --- a/kittens/choose/subseq_matcher.pyi +++ b/kittens/choose/subseq_matcher.pyi @@ -1,6 +1,5 @@ from typing import List, Optional, Tuple - def match( lines: List[bytes], levels: Tuple[str, str, str], needle: str, output_positions: bool, limit: int, num_threads: int, mark_before: str, diff --git a/kittens/diff/collect.py b/kittens/diff/collect.py index 0e6528821..ff5915906 100644 --- a/kittens/diff/collect.py +++ b/kittens/diff/collect.py @@ -6,9 +6,7 @@ from contextlib import suppress from fnmatch import fnmatch from functools import lru_cache from hashlib import md5 -from typing import ( - TYPE_CHECKING, Dict, Iterator, List, Optional, Sequence, Set, Tuple, Union -) +from typing import TYPE_CHECKING, Dict, Iterator, List, Optional, Sequence, Set, Tuple, Union from kitty.guess_mime_type import guess_type from kitty.utils import control_codes_pat diff --git a/kittens/diff/config.py b/kittens/diff/config.py index 60d2dda74..8c18b02bd 100644 --- a/kittens/diff/config.py +++ b/kittens/diff/config.py @@ -5,13 +5,13 @@ import os from typing import Any, Dict, Iterable, Optional from kitty.cli_stub import DiffCLIOptions -from kitty.conf.utils import ( - load_config as _load_config, parse_config_base, resolve_config -) +from kitty.conf.utils import load_config as _load_config +from kitty.conf.utils import parse_config_base, resolve_config from kitty.constants import config_dir from kitty.rgb import color_as_sgr -from .options.types import Options as DiffOptions, defaults +from .options.types import Options as DiffOptions +from .options.types import defaults formats: Dict[str, str] = { 'title': '', @@ -41,9 +41,7 @@ defconf = os.path.join(config_dir, 'diff.conf') def load_config(*paths: str, overrides: Optional[Iterable[str]] = None) -> DiffOptions: - from .options.parse import ( - create_result_dict, merge_result_dicts, parse_conf_item - ) + from .options.parse import create_result_dict, merge_result_dicts, parse_conf_item def parse_config(lines: Iterable[str]) -> Dict[str, Any]: ans: Dict[str, Any] = create_result_dict() diff --git a/kittens/diff/diff_speedup.pyi b/kittens/diff/diff_speedup.pyi index 09069db54..51034a6e6 100644 --- a/kittens/diff/diff_speedup.pyi +++ b/kittens/diff/diff_speedup.pyi @@ -2,7 +2,6 @@ from typing import List, Optional, Tuple from .collect import Segment - def split_with_highlights( line: str, truncate_points: List[int], fg_highlights: List[Segment], bg_highlight: Optional[Segment] diff --git a/kittens/diff/highlight.py b/kittens/diff/highlight.py index dd7824285..d12219158 100644 --- a/kittens/diff/highlight.py +++ b/kittens/diff/highlight.py @@ -5,9 +5,7 @@ import concurrent import os import re from concurrent.futures import ProcessPoolExecutor -from typing import ( - IO, Dict, Iterable, Iterator, List, Optional, Tuple, Union, cast -) +from typing import IO, Dict, Iterable, Iterator, List, Optional, Tuple, Union, cast from pygments import highlight # type: ignore from pygments.formatter import Formatter # type: ignore diff --git a/kittens/diff/main.py b/kittens/diff/main.py index bbe1076ac..087735bf2 100644 --- a/kittens/diff/main.py +++ b/kittens/diff/main.py @@ -14,7 +14,15 @@ from enum import Enum, auto from functools import partial from gettext import gettext as _ from typing import ( - Any, DefaultDict, Dict, Iterable, Iterator, List, Optional, Tuple, Union, + Any, + DefaultDict, + Dict, + Iterable, + Iterator, + List, + Optional, + Tuple, + Union, ) from kitty.cli import CONFIG_HELP, CompletionSpec, parse_args @@ -32,20 +40,32 @@ from ..tui.loop import Loop from ..tui.operations import styled from . import global_data from .collect import ( - Collection, add_remote_dir, create_collection, data_for_path, lines_for_path, - sanitize, set_highlight_data, + Collection, + add_remote_dir, + create_collection, + data_for_path, + lines_for_path, + sanitize, + set_highlight_data, ) from .config import init_config from .options.types import Options as DiffOptions from .patch import Differ, Patch, set_diff_command, worker_processes from .render import ( - ImagePlacement, ImageSupportWarning, Line, LineRef, Reference, render_diff, + ImagePlacement, + ImageSupportWarning, + Line, + LineRef, + Reference, + render_diff, ) from .search import BadRegex, Search try: from .highlight import ( - DiffHighlight, get_highlight_processes, highlight_collection, + DiffHighlight, + get_highlight_processes, + highlight_collection, initialize_highlighter, ) has_highlighter = True diff --git a/kittens/diff/options/definition.py b/kittens/diff/options/definition.py index 8283a2649..ea324382a 100644 --- a/kittens/diff/options/definition.py +++ b/kittens/diff/options/definition.py @@ -6,7 +6,6 @@ from kitty.conf.types import Action, Definition - definition = Definition( 'kittens.diff', Action('map', 'parse_map', {'key_definitions': 'kitty.conf.utils.KittensKeyMap'}, ['kitty.types.ParsedShortcut', 'kitty.conf.utils.KeyAction']), diff --git a/kittens/diff/options/parse.py b/kittens/diff/options/parse.py index b302fec61..e8b6bf2f3 100644 --- a/kittens/diff/options/parse.py +++ b/kittens/diff/options/parse.py @@ -1,6 +1,7 @@ # generated by gen-config.py DO NOT edit import typing + from kittens.diff.options.utils import parse_map, store_multiple, syntax_aliases from kitty.conf.utils import merge_dicts, positive_int, python_string, to_color, to_color_or_none diff --git a/kittens/diff/options/utils.py b/kittens/diff/options/utils.py index 16e7ffe20..e65f6a814 100644 --- a/kittens/diff/options/utils.py +++ b/kittens/diff/options/utils.py @@ -5,9 +5,7 @@ from typing import Any, Container, Dict, Iterable, Tuple, Union -from kitty.conf.utils import ( - KeyFuncWrapper, KittensKeyDefinition, parse_kittens_key -) +from kitty.conf.utils import KeyFuncWrapper, KittensKeyDefinition, parse_kittens_key ReturnType = Tuple[str, Any] func_with_args = KeyFuncWrapper[ReturnType]() diff --git a/kittens/diff/render.py b/kittens/diff/render.py index 4408e128b..ec1f34fb6 100644 --- a/kittens/diff/render.py +++ b/kittens/diff/render.py @@ -13,10 +13,7 @@ from kitty.types import run_once from kitty.utils import ScreenSize from ..tui.images import ImageManager, can_display_images -from .collect import ( - Collection, Segment, data_for_path, highlights_for_path, is_image, - lines_for_path, path_name_map, sanitize -) +from .collect import Collection, Segment, data_for_path, highlights_for_path, is_image, lines_for_path, path_name_map, sanitize from .config import formats from .diff_speedup import split_with_highlights as _split_with_highlights from .patch import Chunk, Hunk, Patch diff --git a/kittens/diff/search.py b/kittens/diff/search.py index 01f42db3e..18850deba 100644 --- a/kittens/diff/search.py +++ b/kittens/diff/search.py @@ -5,9 +5,9 @@ import re from typing import TYPE_CHECKING, Callable, Dict, Iterable, List, Tuple from kitty.fast_data_types import wcswidth -from .options.types import Options as DiffOptions from ..tui.operations import styled +from .options.types import Options as DiffOptions if TYPE_CHECKING: from .render import Line diff --git a/kittens/hints/main.py b/kittens/hints/main.py index 50f1b600c..06167a9e2 100644 --- a/kittens/hints/main.py +++ b/kittens/hints/main.py @@ -8,10 +8,7 @@ import sys from functools import lru_cache from gettext import gettext as _ from itertools import repeat -from typing import ( - Any, Callable, Dict, Generator, Iterable, Iterator, List, Optional, - Pattern, Sequence, Set, Tuple, Type, cast -) +from typing import Any, Callable, Dict, Generator, Iterable, Iterator, List, Optional, Pattern, Sequence, Set, Tuple, Type, cast from kitty.cli import parse_args from kitty.cli_stub import HintsCLIOptions @@ -20,10 +17,7 @@ from kitty.constants import website_url from kitty.fast_data_types import get_options, wcswidth from kitty.key_encoding import KeyEvent from kitty.typing import BossType, KittyCommonOpts -from kitty.utils import ( - ScreenSize, kitty_ansi_sanitizer_pat, resolve_custom_file, - screen_size_function -) +from kitty.utils import ScreenSize, kitty_ansi_sanitizer_pat, resolve_custom_file, screen_size_function from ..tui.handler import Handler, result_handler from ..tui.loop import Loop diff --git a/kittens/icat/main.py b/kittens/icat/main.py index d61350b7d..bd35cef47 100644 --- a/kittens/icat/main.py +++ b/kittens/icat/main.py @@ -137,6 +137,7 @@ if __name__ == '__main__': raise SystemExit('This should be run as kitty-tool icat') elif __name__ == '__doc__': import sys + from kitty.cli import CompletionSpec cd = sys.cli_docs # type: ignore cd['usage'] = usage diff --git a/kittens/panel/main.py b/kittens/panel/main.py index 7c48da032..fce1f11f9 100644 --- a/kittens/panel/main.py +++ b/kittens/panel/main.py @@ -8,8 +8,8 @@ from typing import Any, Callable, Dict, List, Tuple from kitty.cli import parse_args from kitty.cli_stub import PanelCLIOptions from kitty.constants import appname, is_macos -from kitty.os_window_size import WindowSizeData from kitty.fast_data_types import make_x11_window_a_dock_window +from kitty.os_window_size import WindowSizeData OPTIONS = r''' --lines @@ -134,7 +134,8 @@ def main(sys_args: List[str]) -> None: for override in args.override: sys.argv.extend(('--override', override)) sys.argv.extend(items) - from kitty.main import main as real_main, run_app + from kitty.main import main as real_main + from kitty.main import run_app run_app.cached_values_name = 'panel' run_app.first_window_callback = setup_x11_window run_app.initial_window_size_func = initial_window_size_func diff --git a/kittens/query_terminal/main.py b/kittens/query_terminal/main.py index a9e000b48..7f5ea7581 100644 --- a/kittens/query_terminal/main.py +++ b/kittens/query_terminal/main.py @@ -5,7 +5,7 @@ import re import sys from binascii import hexlify, unhexlify from contextlib import suppress -from typing import Dict, Iterable, List, Type, Optional +from typing import Dict, Iterable, List, Optional, Type from kitty.cli import parse_args from kitty.cli_stub import QueryTerminalCLIOptions diff --git a/kittens/remote_file/main.py b/kittens/remote_file/main.py index b6d14805d..e2a7f035f 100644 --- a/kittens/remote_file/main.py +++ b/kittens/remote_file/main.py @@ -16,17 +16,12 @@ from kitty.cli import parse_args from kitty.cli_stub import RemoteFileCLIOptions from kitty.constants import cache_dir from kitty.typing import BossType -from kitty.utils import ( - SSHConnectionData, command_for_open, get_editor, open_cmd -) +from kitty.utils import SSHConnectionData, command_for_open, get_editor, open_cmd from ..tui.handler import result_handler -from ..tui.operations import ( - faint, raw_mode, reset_terminal, styled -) +from ..tui.operations import faint, raw_mode, reset_terminal, styled from ..tui.utils import get_key_press - is_ssh_kitten_sentinel = '!#*&$#($ssh-kitten)(##$' diff --git a/kittens/runner.py b/kittens/runner.py index b99106c14..be56c5335 100644 --- a/kittens/runner.py +++ b/kittens/runner.py @@ -93,8 +93,8 @@ def launch(args: List[str]) -> None: finally: sys.stdin = sys.__stdin__ if result is not None: - import json import base64 + import json data = base64.b85encode(json.dumps(result).encode('utf-8')) sys.stdout.buffer.write(b'\x1bP@kitty-kitten-result|') sys.stdout.buffer.write(data) diff --git a/kittens/show_error/main.py b/kittens/show_error/main.py index b22ebf954..de1268c26 100644 --- a/kittens/show_error/main.py +++ b/kittens/show_error/main.py @@ -33,6 +33,7 @@ def real_main(args: List[str]) -> None: print(error_message, flush=True) if data.get('tb'): import select + from kittens.tui.operations import init_state, set_cursor_visible fd, original_termios = open_tty() msg = '\n\r\x1b[1;32mPress e to see detailed traceback or any other key to exit\x1b[m' diff --git a/kittens/show_key/kitty_mode.py b/kittens/show_key/kitty_mode.py index b080dbc12..80553d85e 100644 --- a/kittens/show_key/kitty_mode.py +++ b/kittens/show_key/kitty_mode.py @@ -1,13 +1,9 @@ #!/usr/bin/env python3 # License: GPL v3 Copyright: 2018, Kovid Goyal -from kitty.key_encoding import ( - ALT, CAPS_LOCK, CTRL, HYPER, META, NUM_LOCK, PRESS, RELEASE, REPEAT, SHIFT, - SUPER, KeyEvent, encode_key_event -) - from kittens.tui.handler import Handler from kittens.tui.loop import Loop +from kitty.key_encoding import ALT, CAPS_LOCK, CTRL, HYPER, META, NUM_LOCK, PRESS, RELEASE, REPEAT, SHIFT, SUPER, KeyEvent, encode_key_event mod_names = { SHIFT: 'Shift', diff --git a/kittens/show_key/main.py b/kittens/show_key/main.py index e85de89c7..4b39be125 100644 --- a/kittens/show_key/main.py +++ b/kittens/show_key/main.py @@ -6,9 +6,9 @@ import os import sys from typing import List +from kittens.tui.operations import raw_mode, styled from kitty.cli import parse_args from kitty.cli_stub import ShowKeyCLIOptions -from kittens.tui.operations import raw_mode, styled ctrl_keys = '@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_' diff --git a/kittens/ssh/config.py b/kittens/ssh/config.py index 854e89aac..0183df7b5 100644 --- a/kittens/ssh/config.py +++ b/kittens/ssh/config.py @@ -6,12 +6,12 @@ import fnmatch import os from typing import Any, Dict, Iterable, Optional -from kitty.conf.utils import ( - load_config as _load_config, parse_config_base, resolve_config -) +from kitty.conf.utils import load_config as _load_config +from kitty.conf.utils import parse_config_base, resolve_config from kitty.constants import config_dir -from .options.types import Options as SSHOptions, defaults +from .options.types import Options as SSHOptions +from .options.types import defaults SYSTEM_CONF = '/etc/xdg/kitty/ssh.conf' defconf = os.path.join(config_dir, 'ssh.conf') @@ -28,12 +28,8 @@ def host_matches(mpat: str, hostname: str, username: str) -> bool: def load_config(*paths: str, overrides: Optional[Iterable[str]] = None, hostname: str = '!', username: str = '') -> SSHOptions: - from .options.parse import ( - create_result_dict, merge_result_dicts, parse_conf_item - ) - from .options.utils import ( - first_seen_positions, get_per_hosts_dict, init_results_dict - ) + from .options.parse import create_result_dict, merge_result_dicts, parse_conf_item + from .options.utils import first_seen_positions, get_per_hosts_dict, init_results_dict def merge_dicts(base: Dict[str, Any], vals: Dict[str, Any]) -> Dict[str, Any]: base_phd = get_per_hosts_dict(base) diff --git a/kittens/ssh/copy.py b/kittens/ssh/copy.py index 0c4d33407..0ced93899 100644 --- a/kittens/ssh/copy.py +++ b/kittens/ssh/copy.py @@ -6,9 +6,7 @@ import glob import os import shlex import uuid -from typing import ( - Dict, Iterable, Iterator, List, NamedTuple, Optional, Sequence, Tuple -) +from typing import Dict, Iterable, Iterator, List, NamedTuple, Optional, Sequence, Tuple from kitty.cli import parse_args from kitty.cli_stub import CopyCLIOptions diff --git a/kittens/ssh/main.py b/kittens/ssh/main.py index bf83adb4f..2911b1e66 100644 --- a/kittens/ssh/main.py +++ b/kittens/ssh/main.py @@ -22,27 +22,16 @@ from base64 import standard_b64decode, standard_b64encode from contextlib import contextmanager, suppress from getpass import getuser from select import select -from typing import ( - Any, Callable, Dict, Iterator, List, NoReturn, Optional, Sequence, Set, - Tuple, Union, cast -) +from typing import Any, Callable, Dict, Iterator, List, NoReturn, Optional, Sequence, Set, Tuple, Union, cast -from kitty.constants import ( - cache_dir, runtime_dir, shell_integration_dir, ssh_control_master_template, - str_version, terminfo_dir -) +from kitty.constants import cache_dir, runtime_dir, shell_integration_dir, ssh_control_master_template, str_version, terminfo_dir from kitty.shell_integration import as_str_literal from kitty.shm import SharedMemory from kitty.types import run_once -from kitty.utils import ( - SSHConnectionData, expandvars, resolve_abs_or_config_path, - set_echo as turn_off_echo -) +from kitty.utils import SSHConnectionData, expandvars, resolve_abs_or_config_path +from kitty.utils import set_echo as turn_off_echo -from ..tui.operations import ( - RESTORE_PRIVATE_MODE_VALUES, SAVE_PRIVATE_MODE_VALUES, Mode, - restore_colors, save_colors, set_mode -) +from ..tui.operations import RESTORE_PRIVATE_MODE_VALUES, SAVE_PRIVATE_MODE_VALUES, Mode, restore_colors, save_colors, set_mode from ..tui.utils import kitty_opts, running_in_tmux from .config import init_config from .copy import CopyInstruction @@ -624,9 +613,7 @@ def drain_potential_tty_garbage(p: 'subprocess.Popen[bytes]', data_request: str) def change_colors(color_scheme: str) -> bool: if not color_scheme: return False - from kittens.themes.collection import ( - NoCacheFound, load_themes, text_as_opts - ) + from kittens.themes.collection import NoCacheFound, load_themes, text_as_opts from kittens.themes.main import colors_as_escape_codes if color_scheme.endswith('.conf'): conf_file = resolve_abs_or_config_path(color_scheme) diff --git a/kittens/ssh/options/definition.py b/kittens/ssh/options/definition.py index 9310a5949..14fe00ca7 100644 --- a/kittens/ssh/options/definition.py +++ b/kittens/ssh/options/definition.py @@ -6,7 +6,6 @@ from kitty.conf.types import Definition - copy_message = '''\ Copy files and directories from local to remote hosts. The specified files are assumed to be relative to the HOME directory and copied to the HOME on the diff --git a/kittens/ssh/options/parse.py b/kittens/ssh/options/parse.py index 45f299101..0bce81179 100644 --- a/kittens/ssh/options/parse.py +++ b/kittens/ssh/options/parse.py @@ -1,6 +1,7 @@ # generated by gen-config.py DO NOT edit import typing + from kittens.ssh.options.utils import copy, env, hostname from kitty.conf.utils import merge_dicts, to_bool diff --git a/kittens/themes/collection.py b/kittens/themes/collection.py index 986fd5130..0dbcf41a4 100644 --- a/kittens/themes/collection.py +++ b/kittens/themes/collection.py @@ -12,9 +12,7 @@ import sys import tempfile import zipfile from contextlib import suppress -from typing import ( - Any, Callable, Dict, Iterator, Match, Optional, Tuple, Type, Union -) +from typing import Any, Callable, Dict, Iterator, Match, Optional, Tuple, Type, Union from urllib.error import HTTPError from urllib.request import Request, urlopen diff --git a/kittens/themes/main.py b/kittens/themes/main.py index 896960889..44ebf1772 100644 --- a/kittens/themes/main.py +++ b/kittens/themes/main.py @@ -7,9 +7,7 @@ import sys import traceback from enum import Enum, auto from gettext import gettext as _ -from typing import ( - Any, Callable, Dict, Iterable, Iterator, List, Optional, Tuple, Union -) +from typing import Any, Callable, Dict, Iterable, Iterator, List, Optional, Tuple, Union from kitty.cli import CompletionSpec, create_default_opts, parse_args from kitty.cli_stub import ThemesCLIOptions diff --git a/kittens/transfer/librsync.py b/kittens/transfer/librsync.py index e03f52747..0f537970d 100644 --- a/kittens/transfer/librsync.py +++ b/kittens/transfer/librsync.py @@ -5,10 +5,7 @@ import os import tempfile from typing import IO, TYPE_CHECKING, Iterator, Union -from .rsync import ( - IO_BUFFER_SIZE, RsyncError, begin_create_delta, begin_create_signature, - begin_load_signature, begin_patch, build_hash_table, iter_job -) +from .rsync import IO_BUFFER_SIZE, RsyncError, begin_create_delta, begin_create_signature, begin_load_signature, begin_patch, build_hash_table, iter_job if TYPE_CHECKING: from .rsync import JobCapsule, SignatureCapsule diff --git a/kittens/transfer/main.py b/kittens/transfer/main.py index 6a10902f2..8ae10e227 100644 --- a/kittens/transfer/main.py +++ b/kittens/transfer/main.py @@ -12,7 +12,6 @@ from kitty.cli_stub import TransferCLIOptions from .receive import receive_main from .send import send_main - usage = 'source_files_or_directories destination_path' help_text = 'Transfer files over the TTY device' diff --git a/kittens/transfer/receive.py b/kittens/transfer/receive.py index 3a00b2ba4..cd3c1664d 100644 --- a/kittens/transfer/receive.py +++ b/kittens/transfer/receive.py @@ -14,9 +14,16 @@ from typing import IO, Deque, Dict, Iterator, List, Optional, Union from kitty.cli_stub import TransferCLIOptions from kitty.fast_data_types import FILE_TRANSFER_CODE, wcswidth from kitty.file_transmission import ( - Action, Compression, FileTransmissionCommand, FileType, - IdentityDecompressor, NameReprEnum, TransmissionType, ZlibDecompressor, - encode_bypass, split_for_transfer + Action, + Compression, + FileTransmissionCommand, + FileType, + IdentityDecompressor, + NameReprEnum, + TransmissionType, + ZlibDecompressor, + encode_bypass, + split_for_transfer, ) from kitty.typing import KeyEventType, ScreenSize from kitty.utils import sanitize_control_codes @@ -28,10 +35,7 @@ from ..tui.spinners import Spinner from ..tui.utils import human_size from .librsync import PatchFile, signature_of_file from .send import Transfer -from .utils import ( - expand_home, print_rsync_stats, random_id, render_progress_in_width, - safe_divide, should_be_compressed -) +from .utils import expand_home, print_rsync_stats, random_id, render_progress_in_width, safe_divide, should_be_compressed debug file_counter = count(1) diff --git a/kittens/transfer/send.py b/kittens/transfer/send.py index b52357c62..a2c81ccf3 100644 --- a/kittens/transfer/send.py +++ b/kittens/transfer/send.py @@ -9,17 +9,11 @@ from collections import deque from enum import auto from itertools import count from time import monotonic -from typing import ( - IO, Callable, Deque, Dict, Iterable, Iterator, List, Optional, Sequence, - Set, Tuple, Union -) +from typing import IO, Callable, Deque, Dict, Iterable, Iterator, List, Optional, Sequence, Set, Tuple, Union from kitty.cli_stub import TransferCLIOptions from kitty.fast_data_types import FILE_TRANSFER_CODE, wcswidth -from kitty.file_transmission import ( - Action, Compression, FileTransmissionCommand, FileType, NameReprEnum, - TransmissionType, encode_bypass, split_for_transfer -) +from kitty.file_transmission import Action, Compression, FileTransmissionCommand, FileType, NameReprEnum, TransmissionType, encode_bypass, split_for_transfer from kitty.typing import KeyEventType, ScreenSize from kitty.utils import sanitize_control_codes @@ -30,9 +24,16 @@ from ..tui.spinners import Spinner from ..tui.utils import human_size from .librsync import LoadSignature, delta_for_file from .utils import ( - IdentityCompressor, ZlibCompressor, abspath, expand_home, home_path, - print_rsync_stats, random_id, render_progress_in_width, safe_divide, - should_be_compressed + IdentityCompressor, + ZlibCompressor, + abspath, + expand_home, + home_path, + print_rsync_stats, + random_id, + render_progress_in_width, + safe_divide, + should_be_compressed, ) debug diff --git a/kittens/tui/handler.py b/kittens/tui/handler.py index af739174c..e0ff60f50 100644 --- a/kittens/tui/handler.py +++ b/kittens/tui/handler.py @@ -6,16 +6,21 @@ from collections import deque from contextlib import suppress from time import monotonic from types import TracebackType -from typing import ( - TYPE_CHECKING, Any, Callable, ContextManager, Deque, Dict, NamedTuple, - Optional, Sequence, Type, Union, cast -) +from typing import TYPE_CHECKING, Any, Callable, ContextManager, Deque, Dict, NamedTuple, Optional, Sequence, Type, Union, cast from kitty.types import DecoratedFunc, ParsedShortcut from kitty.typing import ( - AbstractEventLoop, BossType, Debug, ImageManagerType, KeyActionType, - KeyEventType, LoopType, MouseButton, MouseEvent, ScreenSize, - TermManagerType + AbstractEventLoop, + BossType, + Debug, + ImageManagerType, + KeyActionType, + KeyEventType, + LoopType, + MouseButton, + MouseEvent, + ScreenSize, + TermManagerType, ) from .operations import MouseTracking, pending_update diff --git a/kittens/tui/images.py b/kittens/tui/images.py index 57b90a6c4..5ef1c5fbb 100644 --- a/kittens/tui/images.py +++ b/kittens/tui/images.py @@ -9,17 +9,11 @@ from collections import defaultdict, deque from contextlib import suppress from enum import IntEnum from itertools import count -from typing import ( - Any, Callable, ClassVar, DefaultDict, Deque, Dict, Generic, Iterator, List, - Optional, Sequence, Tuple, Type, TypeVar, Union, cast -) +from typing import Any, Callable, ClassVar, DefaultDict, Deque, Dict, Generic, Iterator, List, Optional, Sequence, Tuple, Type, TypeVar, Union, cast from kitty.conf.utils import positive_float, positive_int from kitty.fast_data_types import create_canvas -from kitty.typing import ( - GRT_C, CompletedProcess, GRT_a, GRT_d, GRT_f, GRT_m, GRT_o, GRT_t, - HandlerType -) +from kitty.typing import GRT_C, CompletedProcess, GRT_a, GRT_d, GRT_f, GRT_m, GRT_o, GRT_t, HandlerType from kitty.utils import ScreenSize, fit_image, which from .operations import cursor diff --git a/kittens/tui/line_edit.py b/kittens/tui/line_edit.py index 36dda1ccb..7079ecbb8 100644 --- a/kittens/tui/line_edit.py +++ b/kittens/tui/line_edit.py @@ -6,9 +6,7 @@ from typing import Callable, Tuple from kitty.fast_data_types import truncate_point_for_length, wcswidth from kitty.key_encoding import EventType, KeyEvent -from .operations import ( - RESTORE_CURSOR, SAVE_CURSOR, move_cursor_by, set_cursor_shape -) +from .operations import RESTORE_CURSOR, SAVE_CURSOR, move_cursor_by, set_cursor_shape class LineEdit: diff --git a/kittens/tui/loop.py b/kittens/tui/loop.py index faac2f33c..f58d94d0f 100644 --- a/kittens/tui/loop.py +++ b/kittens/tui/loop.py @@ -16,17 +16,10 @@ from functools import partial from typing import Any, Callable, Dict, Generator, List, NamedTuple, Optional from kitty.constants import is_macos -from kitty.fast_data_types import ( - FILE_TRANSFER_CODE, close_tty, normal_tty, open_tty, - parse_input_from_terminal, raw_tty -) -from kitty.key_encoding import ( - ALT, CTRL, SHIFT, backspace_key, decode_key_event, enter_key -) +from kitty.fast_data_types import FILE_TRANSFER_CODE, close_tty, normal_tty, open_tty, parse_input_from_terminal, raw_tty +from kitty.key_encoding import ALT, CTRL, SHIFT, backspace_key, decode_key_event, enter_key from kitty.typing import ImageManagerType, KeyEventType, Protocol -from kitty.utils import ( - ScreenSize, ScreenSizeGetter, screen_size_function, write_all -) +from kitty.utils import ScreenSize, ScreenSizeGetter, screen_size_function, write_all from .handler import Handler from .operations import MouseTracking, init_state, reset_state diff --git a/kittens/tui/operations.py b/kittens/tui/operations.py index b00d04b29..00b740991 100644 --- a/kittens/tui/operations.py +++ b/kittens/tui/operations.py @@ -9,9 +9,7 @@ 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, UnderlineLiteral -) +from kitty.typing import GraphicsCommandType, HandlerType, ScreenSize, UnderlineLiteral from .operations_stub import CMD diff --git a/kittens/tui/progress.py b/kittens/tui/progress.py index ffcca1c42..d04e2feaa 100644 --- a/kittens/tui/progress.py +++ b/kittens/tui/progress.py @@ -2,7 +2,7 @@ # License: GPLv3 Copyright: 2021, Kovid Goyal -from .operations import styled, repeat +from .operations import repeat, styled def render_progress_bar(frac: float, width: int = 80) -> str: diff --git a/kittens/unicode_input/main.py b/kittens/unicode_input/main.py index af67c9b64..72972b602 100644 --- a/kittens/unicode_input/main.py +++ b/kittens/unicode_input/main.py @@ -7,10 +7,7 @@ import sys from contextlib import suppress from functools import lru_cache from gettext import gettext as _ -from typing import ( - Any, Dict, FrozenSet, Generator, Iterable, List, Optional, Sequence, Tuple, - Union -) +from typing import Any, Dict, FrozenSet, Generator, Iterable, List, Optional, Sequence, Tuple, Union from kitty.cli import parse_args from kitty.cli_stub import UnicodeCLIOptions @@ -24,10 +21,7 @@ from kitty.utils import ScreenSize, get_editor from ..tui.handler import Handler, result_handler from ..tui.line_edit import LineEdit from ..tui.loop import Loop -from ..tui.operations import ( - clear_screen, colored, cursor, faint, set_line_wrapping, set_window_title, - sgr, styled -) +from ..tui.operations import clear_screen, colored, cursor, faint, set_line_wrapping, set_window_title, sgr, styled from ..tui.utils import report_unhandled_error HEX, NAME, EMOTICONS, FAVORITES = 'HEX', 'NAME', 'EMOTICONS', 'FAVORITES' diff --git a/kittens/unicode_input/unicode_names.pyi b/kittens/unicode_input/unicode_names.pyi index d85a343d3..f8475d20c 100644 --- a/kittens/unicode_input/unicode_names.pyi +++ b/kittens/unicode_input/unicode_names.pyi @@ -1,5 +1,4 @@ -from typing import Tuple, FrozenSet, Optional - +from typing import FrozenSet, Optional, Tuple def all_words() -> Tuple[str, ...]: pass diff --git a/kitty/borders.py b/kitty/borders.py index 8732626e2..1a603a570 100644 --- a/kitty/borders.py +++ b/kitty/borders.py @@ -2,12 +2,9 @@ # License: GPL v3 Copyright: 2016, Kovid Goyal from enum import IntFlag -from typing import Iterable, Sequence, NamedTuple +from typing import Iterable, NamedTuple, Sequence -from .fast_data_types import ( - BORDERS_PROGRAM, add_borders_rect, compile_program, get_options, - init_borders_program, os_window_has_background_image -) +from .fast_data_types import BORDERS_PROGRAM, add_borders_rect, compile_program, get_options, init_borders_program, os_window_has_background_image from .typing import LayoutType from .utils import load_shaders from .window_list import WindowGroup, WindowList diff --git a/kitty/boss.py b/kitty/boss.py index 0b2b2f693..c09389ea1 100644 --- a/kitty/boss.py +++ b/kitty/boss.py @@ -12,8 +12,18 @@ from functools import partial from gettext import gettext as _ from time import monotonic, sleep from typing import ( - TYPE_CHECKING, Any, Callable, Container, Dict, Iterable, Iterator, List, Optional, - Set, Tuple, Union, + TYPE_CHECKING, + Any, + Callable, + Container, + Dict, + Iterable, + Iterator, + List, + Optional, + Set, + Tuple, + Union, ) from weakref import WeakValueDictionary @@ -21,31 +31,85 @@ from .child import cached_process_data, default_env, set_default_env from .cli import create_opts, parse_args from .cli_stub import CLIOptions from .clipboard import ( - Clipboard, ClipboardType, get_clipboard_string, get_primary_selection, - set_clipboard_string, set_primary_selection, + Clipboard, + ClipboardType, + get_clipboard_string, + get_primary_selection, + set_clipboard_string, + set_primary_selection, ) from .conf.utils import BadLine, KeyAction, to_cmdline from .config import common_opts_as_dict, prepare_config_file_for_editing from .constants import ( - RC_ENCRYPTION_PROTOCOL_VERSION, appname, cache_dir, clear_handled_signals, - config_dir, handled_signals, is_macos, is_wayland, kitty_exe, logo_png_file, - supports_primary_selection, website_url, + RC_ENCRYPTION_PROTOCOL_VERSION, + appname, + cache_dir, + clear_handled_signals, + config_dir, + handled_signals, + is_macos, + is_wayland, + kitty_exe, + logo_png_file, + supports_primary_selection, + website_url, ) from .fast_data_types import ( - CLOSE_BEING_CONFIRMED, GLFW_MOD_ALT, GLFW_MOD_CONTROL, GLFW_MOD_SHIFT, - GLFW_MOD_SUPER, GLFW_MOUSE_BUTTON_LEFT, GLFW_PRESS, GLFW_RELEASE, IMPERATIVE_CLOSE_REQUESTED, - NO_CLOSE_REQUESTED, ChildMonitor, Color, EllipticCurveKey, KeyEvent, SingleKey, - add_timer, apply_options_update, background_opacity_of, change_background_opacity, - change_os_window_state, cocoa_hide_app, cocoa_hide_other_apps, - cocoa_minimize_os_window, cocoa_set_menubar_title, create_os_window, - current_application_quit_request, current_focused_os_window_id, current_os_window, - destroy_global_data, focus_os_window, get_boss, get_options, get_os_window_size, - is_modifier_key, global_font_size, last_focused_os_window_id, mark_os_window_for_close, - os_window_font_size, patch_global_colors, redirect_mouse_handling, ring_bell, - run_with_activation_token, safe_pipe, send_data_to_peer, - set_application_quit_request, set_background_image, set_boss, set_in_sequence_mode, - set_options, set_os_window_size, set_os_window_title, thread_write, - toggle_fullscreen, toggle_maximized, toggle_secure_input, + CLOSE_BEING_CONFIRMED, + GLFW_MOD_ALT, + GLFW_MOD_CONTROL, + GLFW_MOD_SHIFT, + GLFW_MOD_SUPER, + GLFW_MOUSE_BUTTON_LEFT, + GLFW_PRESS, + GLFW_RELEASE, + IMPERATIVE_CLOSE_REQUESTED, + NO_CLOSE_REQUESTED, + ChildMonitor, + Color, + EllipticCurveKey, + KeyEvent, + SingleKey, + add_timer, + apply_options_update, + background_opacity_of, + change_background_opacity, + change_os_window_state, + cocoa_hide_app, + cocoa_hide_other_apps, + cocoa_minimize_os_window, + cocoa_set_menubar_title, + create_os_window, + current_application_quit_request, + current_focused_os_window_id, + current_os_window, + destroy_global_data, + focus_os_window, + get_boss, + get_options, + get_os_window_size, + global_font_size, + is_modifier_key, + last_focused_os_window_id, + mark_os_window_for_close, + os_window_font_size, + patch_global_colors, + redirect_mouse_handling, + ring_bell, + run_with_activation_token, + safe_pipe, + send_data_to_peer, + set_application_quit_request, + set_background_image, + set_boss, + set_in_sequence_mode, + set_options, + set_os_window_size, + set_os_window_title, + thread_write, + toggle_fullscreen, + toggle_maximized, + toggle_secure_input, ) from .key_encoding import get_name_to_functional_number_map from .keys import get_shortcut, shortcut_matches @@ -61,10 +125,24 @@ from .tabs import SpecialWindow, SpecialWindowInstance, Tab, TabDict, TabManager from .types import _T, AsyncResponse, WindowSystemMouseEvent, ac from .typing import PopenType, TypedDict from .utils import ( - cleanup_ssh_control_masters, func_name, get_editor, get_new_os_window_size, - is_path_in_temp_dir, less_version, log_error, macos_version, open_url, - parse_address_spec, parse_uri_list, platform_window_id, remove_socket_file, - safe_print, single_instance, startup_notification_handler, which, sanitize_url_for_dispay_to_user + cleanup_ssh_control_masters, + func_name, + get_editor, + get_new_os_window_size, + is_path_in_temp_dir, + less_version, + log_error, + macos_version, + open_url, + parse_address_spec, + parse_uri_list, + platform_window_id, + remove_socket_file, + safe_print, + sanitize_url_for_dispay_to_user, + single_instance, + startup_notification_handler, + which, ) from .window import CommandOutput, CwdRequest, Window diff --git a/kitty/child.py b/kitty/child.py index b7bcf4c44..e743be3e7 100644 --- a/kitty/child.py +++ b/kitty/child.py @@ -5,17 +5,11 @@ import os import sys from collections import defaultdict from contextlib import contextmanager, suppress -from typing import ( - TYPE_CHECKING, DefaultDict, Dict, Generator, List, Optional, Sequence, - Tuple -) +from typing import TYPE_CHECKING, DefaultDict, Dict, Generator, List, Optional, Sequence, Tuple import kitty.fast_data_types as fast_data_types -from .constants import ( - handled_signals, is_freebsd, is_macos, kitty_base_dir, shell_path, - terminfo_dir -) +from .constants import handled_signals, is_freebsd, is_macos, kitty_base_dir, shell_path, terminfo_dir from .types import run_once from .utils import log_error, which @@ -28,11 +22,10 @@ if TYPE_CHECKING: if is_macos: - from kitty.fast_data_types import ( - cmdline_of_process as cmdline_, cwd_of_process as _cwd, - environ_of_process as _environ_of_process, - process_group_map as _process_group_map - ) + from kitty.fast_data_types import cmdline_of_process as cmdline_ + from kitty.fast_data_types import cwd_of_process as _cwd + from kitty.fast_data_types import environ_of_process as _environ_of_process + from kitty.fast_data_types import process_group_map as _process_group_map def cwd_of_process(pid: int) -> str: return os.path.realpath(_cwd(pid)) diff --git a/kitty/choose_entry.py b/kitty/choose_entry.py index 4fc321ff5..04b8370fb 100644 --- a/kitty/choose_entry.py +++ b/kitty/choose_entry.py @@ -2,8 +2,7 @@ # License: GPLv3 Copyright: 2019, Kovid Goyal import re - -from typing import List, Generator, Any, Type +from typing import Any, Generator, List, Type from .cli_stub import HintsCLIOptions from .typing import MarkType diff --git a/kitty/cli.py b/kitty/cli.py index 8bf50184b..e14254c86 100644 --- a/kitty/cli.py +++ b/kitty/cli.py @@ -6,19 +6,13 @@ import re import shlex import sys from collections import deque -from enum import Enum, auto from dataclasses import dataclass -from typing import ( - Any, Callable, Dict, FrozenSet, Iterator, List, Match, Optional, Sequence, - Tuple, Type, TypeVar, Union, cast -) +from enum import Enum, auto +from typing import Any, Callable, Dict, FrozenSet, Iterator, List, Match, Optional, Sequence, Tuple, Type, TypeVar, Union, cast from .cli_stub import CLIOptions from .conf.utils import resolve_config -from .constants import ( - appname, clear_handled_signals, config_dir, default_pager_for_help, - defconf, is_macos, str_version, website_url -) +from .constants import appname, clear_handled_signals, config_dir, default_pager_for_help, defconf, is_macos, str_version, website_url from .fast_data_types import wcswidth from .options.types import Options as KittyOpts from .types import run_once diff --git a/kitty/cli_stub.py b/kitty/cli_stub.py index d99f294c9..f9dfd88ba 100644 --- a/kitty/cli_stub.py +++ b/kitty/cli_stub.py @@ -17,7 +17,7 @@ ThemesCLIOptions = TransferCLIOptions = CopyCLIOptions = CLIOptions def generate_stub() -> None: - from .cli import parse_option_spec, as_type_stub + from .cli import as_type_stub, parse_option_spec from .conf.utils import save_type_stub text = 'import typing\n\n\n' diff --git a/kitty/client.py b/kitty/client.py index 3417f4ad5..c0dc92b60 100644 --- a/kitty/client.py +++ b/kitty/client.py @@ -11,7 +11,6 @@ import sys from contextlib import suppress from typing import Any - CSI = '\x1b[' OSC = '\x1b]' diff --git a/kitty/clipboard.py b/kitty/clipboard.py index d33538a82..21506c992 100644 --- a/kitty/clipboard.py +++ b/kitty/clipboard.py @@ -11,8 +11,13 @@ from typing import IO, Callable, Dict, List, Mapping, NamedTuple, Optional, Tupl from .conf.utils import uniq from .constants import supports_primary_selection from .fast_data_types import ( - GLFW_CLIPBOARD, GLFW_PRIMARY_SELECTION, OSC, get_boss, get_clipboard_mime, - get_options, set_clipboard_data_types, + GLFW_CLIPBOARD, + GLFW_PRIMARY_SELECTION, + OSC, + get_boss, + get_clipboard_mime, + get_options, + set_clipboard_data_types, ) from .utils import log_error diff --git a/kitty/conf/generate.py b/kitty/conf/generate.py index c57272e60..e40154825 100644 --- a/kitty/conf/generate.py +++ b/kitty/conf/generate.py @@ -7,9 +7,7 @@ import os import pprint import re import textwrap -from typing import ( - Any, Callable, Dict, Iterator, List, Set, Tuple, Union, get_type_hints -) +from typing import Any, Callable, Dict, Iterator, List, Set, Tuple, Union, get_type_hints from kitty.conf.types import Definition, MultiOption, Option, unset from kitty.types import _T diff --git a/kitty/conf/types.py b/kitty/conf/types.py index 7f41a666e..df1c3fcef 100644 --- a/kitty/conf/types.py +++ b/kitty/conf/types.py @@ -7,10 +7,7 @@ import textwrap import typing from functools import lru_cache from importlib import import_module -from typing import ( - Any, Callable, Dict, Iterable, Iterator, List, Match, Optional, Set, Tuple, - Union, cast -) +from typing import Any, Callable, Dict, Iterable, Iterator, List, Match, Optional, Set, Tuple, Union, cast import kitty.conf.utils as generic_parsers from kitty.constants import website_url @@ -47,6 +44,7 @@ def expand_opt_references(conf_name: str, text: str) -> str: @run_once def ref_map() -> Dict[str, Dict[str, str]]: import json + from ..fast_data_types import get_docs_ref_map ans: Dict[str, Dict[str, str]] = json.loads(get_docs_ref_map()) return ans diff --git a/kitty/conf/utils.py b/kitty/conf/utils.py index bb75e4398..bc06c09c7 100644 --- a/kitty/conf/utils.py +++ b/kitty/conf/utils.py @@ -7,8 +7,21 @@ import shlex import sys from contextlib import contextmanager from typing import ( - Any, Callable, Dict, Generator, Generic, Iterable, Iterator, List, NamedTuple, - Optional, Sequence, Set, Tuple, TypeVar, Union, + Any, + Callable, + Dict, + Generator, + Generic, + Iterable, + Iterator, + List, + NamedTuple, + Optional, + Sequence, + Set, + Tuple, + TypeVar, + Union, ) from ..constants import _plat, is_macos diff --git a/kitty/config.py b/kitty/config.py index 745e1c07d..051394470 100644 --- a/kitty/config.py +++ b/kitty/config.py @@ -7,13 +7,11 @@ from contextlib import contextmanager, suppress from functools import partial from typing import Any, Dict, Generator, Iterable, List, Optional, Tuple -from .conf.utils import BadLine, load_config as _load_config, parse_config_base +from .conf.utils import BadLine, parse_config_base +from .conf.utils import load_config as _load_config from .constants import cache_dir, defconf from .options.types import Options, defaults, option_names -from .options.utils import ( - KeyDefinition, KeyMap, MouseMap, MouseMapping, SequenceMap, - build_action_aliases -) +from .options.utils import KeyDefinition, KeyMap, MouseMap, MouseMapping, SequenceMap, build_action_aliases from .typing import TypedDict from .utils import log_error diff --git a/kitty/debug_config.py b/kitty/debug_config.py index 10d5aeeeb..2f9bff82c 100644 --- a/kitty/debug_config.py +++ b/kitty/debug_config.py @@ -15,11 +15,10 @@ from typing import IO, Callable, Dict, Iterator, Optional, Set, TypeVar from kittens.tui.operations import colored, styled from .cli import version -from .constants import ( - extensions_dir, is_macos, is_wayland, kitty_base_dir, kitty_exe, shell_path -) +from .constants import extensions_dir, is_macos, is_wayland, kitty_base_dir, kitty_exe, shell_path from .fast_data_types import Color, num_users -from .options.types import Options as KittyOpts, defaults +from .options.types import Options as KittyOpts +from .options.types import defaults from .options.utils import SequenceMap from .rgb import color_as_sharp from .types import MouseEvent, Shortcut, mod_to_names diff --git a/kitty/entry_points.py b/kitty/entry_points.py index e706176e9..3eff676c9 100644 --- a/kitty/entry_points.py +++ b/kitty/entry_points.py @@ -63,6 +63,7 @@ def launch(args: List[str]) -> None: def edit(args: List[str]) -> None: import shutil + from .constants import is_macos if is_macos: # On macOS vim fails to handle SIGWINCH if it occurs early, so add a small delay. diff --git a/kitty/fast_data_types.pyi b/kitty/fast_data_types.pyi index 104967531..5166df6b7 100644 --- a/kitty/fast_data_types.pyi +++ b/kitty/fast_data_types.pyi @@ -1,7 +1,16 @@ import termios from ctypes import Array, c_ubyte from typing import ( - Any, Callable, Dict, Iterator, List, NewType, Optional, Tuple, TypedDict, Union, + Any, + Callable, + Dict, + Iterator, + List, + NewType, + Optional, + Tuple, + TypedDict, + Union, ) from kitty.boss import Boss diff --git a/kitty/file_transmission.py b/kitty/file_transmission.py index 2b9acfe25..840b4e23f 100644 --- a/kitty/file_transmission.py +++ b/kitty/file_transmission.py @@ -14,20 +14,11 @@ from functools import partial from gettext import gettext as _ from itertools import count from time import monotonic -from typing import ( - IO, Any, Callable, DefaultDict, Deque, Dict, Iterable, Iterator, List, - Optional, Tuple, Union, cast -) +from typing import IO, Any, Callable, DefaultDict, Deque, Dict, Iterable, Iterator, List, Optional, Tuple, Union, cast -from kittens.transfer.librsync import ( - LoadSignature, PatchFile, delta_for_file, signature_of_file -) -from kittens.transfer.utils import ( - IdentityCompressor, ZlibCompressor, abspath, expand_home, home_path -) -from kitty.fast_data_types import ( - FILE_TRANSFER_CODE, OSC, add_timer, get_boss, get_options -) +from kittens.transfer.librsync import LoadSignature, PatchFile, delta_for_file, signature_of_file +from kittens.transfer.utils import IdentityCompressor, ZlibCompressor, abspath, expand_home, home_path +from kitty.fast_data_types import FILE_TRANSFER_CODE, OSC, add_timer, get_boss, get_options from kitty.types import run_once from .utils import log_error, sanitize_control_codes diff --git a/kitty/fonts/__init__.py b/kitty/fonts/__init__.py index 7a5af5ed6..cd468df69 100644 --- a/kitty/fonts/__init__.py +++ b/kitty/fonts/__init__.py @@ -1,5 +1,5 @@ try: - from typing import TypedDict, NamedTuple + from typing import NamedTuple, TypedDict except ImportError: TypedDict = dict from enum import Enum, IntEnum, auto diff --git a/kitty/fonts/box_drawing.py b/kitty/fonts/box_drawing.py index 79fe3931e..9e72b42d1 100644 --- a/kitty/fonts/box_drawing.py +++ b/kitty/fonts/box_drawing.py @@ -7,12 +7,10 @@ # import math -from functools import partial as p, wraps, lru_cache +from functools import lru_cache, wraps +from functools import partial as p from itertools import repeat -from typing import ( - Any, Callable, Dict, Iterable, Iterator, List, MutableSequence, Optional, - Sequence, Tuple -) +from typing import Any, Callable, Dict, Iterable, Iterator, List, MutableSequence, Optional, Sequence, Tuple scale = (0.001, 1., 1.5, 2.) _dpi = 96.0 diff --git a/kitty/fonts/fontconfig.py b/kitty/fonts/fontconfig.py index 7c9f901a9..8529ee2dd 100644 --- a/kitty/fonts/fontconfig.py +++ b/kitty/fonts/fontconfig.py @@ -6,15 +6,23 @@ from functools import lru_cache from typing import Dict, Generator, List, Optional, Tuple, cast from kitty.fast_data_types import ( - FC_DUAL, FC_MONO, FC_SLANT_ITALIC, FC_SLANT_ROMAN, FC_WEIGHT_BOLD, - FC_WEIGHT_REGULAR, FC_WIDTH_NORMAL, fc_list, fc_match as fc_match_impl, - fc_match_postscript_name, parse_font_feature + FC_DUAL, + FC_MONO, + FC_SLANT_ITALIC, + FC_SLANT_ROMAN, + FC_WEIGHT_BOLD, + FC_WEIGHT_REGULAR, + FC_WIDTH_NORMAL, + fc_list, + fc_match_postscript_name, + parse_font_feature, ) +from kitty.fast_data_types import fc_match as fc_match_impl from kitty.options.types import Options from kitty.typing import FontConfigPattern from kitty.utils import log_error -from . import ListedFont, FontFeature +from . import FontFeature, ListedFont attr_map = {(False, False): 'font_family', (True, False): 'bold_font', diff --git a/kitty/fonts/render.py b/kitty/fonts/render.py index 9912e3d9a..fa8c5b78c 100644 --- a/kitty/fonts/render.py +++ b/kitty/fonts/render.py @@ -5,35 +5,35 @@ import ctypes import sys from functools import partial from math import ceil, cos, floor, pi -from typing import ( - TYPE_CHECKING, Any, Callable, Dict, Generator, List, Optional, Tuple, - Union, cast -) +from typing import TYPE_CHECKING, Any, Callable, Dict, Generator, List, Optional, Tuple, Union, cast from kitty.constants import is_macos from kitty.fast_data_types import ( - Screen, create_test_font_group, get_fallback_font, set_font_data, - set_options, set_send_sprite_to_gpu, sprite_map_set_limits, - test_render_line, test_shape, NUM_UNDERLINE_STYLES -) -from kitty.fonts.box_drawing import ( - BufType, distribute_dots, render_box_char, render_missing_glyph + NUM_UNDERLINE_STYLES, + Screen, + create_test_font_group, + get_fallback_font, + set_font_data, + set_options, + set_send_sprite_to_gpu, + sprite_map_set_limits, + test_render_line, + test_shape, ) +from kitty.fonts.box_drawing import BufType, distribute_dots, render_box_char, render_missing_glyph from kitty.options.types import Options, defaults -from kitty.typing import CoreTextFont, FontConfigPattern from kitty.types import _T +from kitty.typing import CoreTextFont, FontConfigPattern from kitty.utils import log_error if is_macos: - from .core_text import ( - find_font_features, font_for_family as font_for_family_macos, - get_font_files as get_font_files_coretext - ) + from .core_text import find_font_features + from .core_text import font_for_family as font_for_family_macos + from .core_text import get_font_files as get_font_files_coretext else: - from .fontconfig import ( - find_font_features, font_for_family as font_for_family_fontconfig, - get_font_files as get_font_files_fontconfig - ) + from .fontconfig import find_font_features + from .fontconfig import font_for_family as font_for_family_fontconfig + from .fontconfig import get_font_files as get_font_files_fontconfig FontObject = Union[CoreTextFont, FontConfigPattern] current_faces: List[Tuple[FontObject, bool, bool]] = [] @@ -483,8 +483,9 @@ def shape_string( def show(outfile: str, width: int, height: int, fmt: int) -> None: import os - from kittens.tui.images import GraphicsCommand from base64 import standard_b64encode + + from kittens.tui.images import GraphicsCommand cmd = GraphicsCommand() cmd.a = 'T' cmd.f = fmt diff --git a/kitty/keys.py b/kitty/keys.py index 2663adcab..45bfd073e 100644 --- a/kitty/keys.py +++ b/kitty/keys.py @@ -3,10 +3,7 @@ from typing import Union -from .fast_data_types import ( - GLFW_MOD_ALT, GLFW_MOD_CONTROL, GLFW_MOD_HYPER, GLFW_MOD_META, - GLFW_MOD_SHIFT, GLFW_MOD_SUPER, KeyEvent, SingleKey -) +from .fast_data_types import GLFW_MOD_ALT, GLFW_MOD_CONTROL, GLFW_MOD_HYPER, GLFW_MOD_META, GLFW_MOD_SHIFT, GLFW_MOD_SUPER, KeyEvent, SingleKey from .options.utils import KeyMap, SequenceMap, SubSequenceMap from .typing import ScreenType diff --git a/kitty/launch.py b/kitty/launch.py index 8261b3bc9..4a9365c30 100644 --- a/kitty/launch.py +++ b/kitty/launch.py @@ -5,10 +5,7 @@ import os import shutil from contextlib import suppress -from typing import ( - Any, Container, Dict, FrozenSet, Iterable, Iterator, List, NamedTuple, - Optional, Sequence, Tuple -) +from typing import Any, Container, Dict, FrozenSet, Iterable, Iterator, List, NamedTuple, Optional, Sequence, Tuple from .boss import Boss from .child import Child @@ -16,9 +13,7 @@ from .cli import parse_args from .cli_stub import LaunchCLIOptions from .clipboard import set_clipboard_string, set_primary_selection from .constants import kitty_tool_exe, shell_path -from .fast_data_types import ( - add_timer, get_boss, get_options, get_os_window_title, patch_color_profiles -) +from .fast_data_types import add_timer, get_boss, get_options, get_os_window_title, patch_color_profiles from .options.utils import env as parse_env from .tabs import Tab, TabManager from .types import OverlayType, run_once @@ -833,9 +828,7 @@ def clone_and_launch(msg: str, window: Window) -> None: is_clone_launch = serialize_env(c.shell, env_to_serialize) ssh_kitten_cmdline = window.ssh_kitten_cmdline() if ssh_kitten_cmdline: - from kittens.ssh.utils import ( - patch_cmdline, set_cwd_in_cmdline, set_env_in_cmdline - ) + from kittens.ssh.utils import patch_cmdline, set_cwd_in_cmdline, set_env_in_cmdline cmdline = ssh_kitten_cmdline if c.opts.cwd: set_cwd_in_cmdline(c.opts.cwd, cmdline) diff --git a/kitty/layout/base.py b/kitty/layout/base.py index 7e035034e..39ba3922d 100644 --- a/kitty/layout/base.py +++ b/kitty/layout/base.py @@ -3,15 +3,10 @@ from functools import partial from itertools import repeat -from typing import ( - Any, Dict, Generator, Iterable, Iterator, List, NamedTuple, Optional, - Sequence, Tuple, Union -) +from typing import Any, Dict, Generator, Iterable, Iterator, List, NamedTuple, Optional, Sequence, Tuple, Union from kitty.borders import BorderColor -from kitty.fast_data_types import ( - Region, set_active_window, viewport_for_window -) +from kitty.fast_data_types import Region, set_active_window, viewport_for_window from kitty.options.types import Options from kitty.types import Edges, WindowGeometry from kitty.typing import TypedDict, WindowType diff --git a/kitty/layout/grid.py b/kitty/layout/grid.py index 943eecba5..ebc0a8194 100644 --- a/kitty/layout/grid.py +++ b/kitty/layout/grid.py @@ -4,19 +4,14 @@ from functools import lru_cache from itertools import repeat from math import ceil, floor -from typing import ( - Any, Callable, Dict, Generator, List, Optional, Sequence, Set, Tuple -) +from typing import Any, Callable, Dict, Generator, List, Optional, Sequence, Set, Tuple from kitty.borders import BorderColor from kitty.types import Edges from kitty.typing import WindowType from kitty.window_list import WindowGroup, WindowList -from .base import ( - BorderLine, Layout, LayoutData, LayoutDimension, ListOfWindows, - NeighborsMap, layout_dimension, lgd -) +from .base import BorderLine, Layout, LayoutData, LayoutDimension, ListOfWindows, NeighborsMap, layout_dimension, lgd from .tall import neighbors_for_tall_window diff --git a/kitty/layout/splits.py b/kitty/layout/splits.py index e089c066d..71062552a 100644 --- a/kitty/layout/splits.py +++ b/kitty/layout/splits.py @@ -1,20 +1,14 @@ #!/usr/bin/env python # License: GPLv3 Copyright: 2020, Kovid Goyal -from typing import ( - Any, Collection, Dict, Generator, List, NamedTuple, Optional, Sequence, Tuple, - Union -) +from typing import Any, Collection, Dict, Generator, List, NamedTuple, Optional, Sequence, Tuple, Union from kitty.borders import BorderColor from kitty.types import Edges, WindowGeometry from kitty.typing import EdgeLiteral, WindowType from kitty.window_list import WindowGroup, WindowList -from .base import ( - BorderLine, Layout, LayoutOpts, NeighborsMap, blank_rects_for_window, lgd, - window_geometry_from_layouts -) +from .base import BorderLine, Layout, LayoutOpts, NeighborsMap, blank_rects_for_window, lgd, window_geometry_from_layouts class Extent(NamedTuple): diff --git a/kitty/layout/tall.py b/kitty/layout/tall.py index 672621171..3833d765f 100644 --- a/kitty/layout/tall.py +++ b/kitty/layout/tall.py @@ -10,10 +10,7 @@ from kitty.types import Edges from kitty.typing import EdgeLiteral, WindowType from kitty.window_list import WindowGroup, WindowList -from .base import ( - BorderLine, Layout, LayoutData, LayoutDimension, LayoutOpts, NeighborsMap, - lgd, normalize_biases, safe_increment_bias -) +from .base import BorderLine, Layout, LayoutData, LayoutDimension, LayoutOpts, NeighborsMap, lgd, normalize_biases, safe_increment_bias from .vertical import borders diff --git a/kitty/layout/vertical.py b/kitty/layout/vertical.py index 1e96d696e..417cfeb4d 100644 --- a/kitty/layout/vertical.py +++ b/kitty/layout/vertical.py @@ -8,10 +8,7 @@ from kitty.types import Edges from kitty.typing import WindowType from kitty.window_list import WindowGroup, WindowList -from .base import ( - BorderLine, Layout, LayoutData, LayoutDimension, NeighborsMap, - lgd -) +from .base import BorderLine, Layout, LayoutData, LayoutDimension, NeighborsMap, lgd def borders( diff --git a/kitty/main.py b/kitty/main.py index 1a4b589d2..753290398 100644 --- a/kitty/main.py +++ b/kitty/main.py @@ -16,13 +16,31 @@ from .cli_stub import CLIOptions from .conf.utils import BadLine from .config import cached_values_for from .constants import ( - appname, beam_cursor_data_file, clear_handled_signals, config_dir, glfw_path, - is_macos, is_wayland, kitty_exe, logo_png_file, running_in_kitty, website_url, + appname, + beam_cursor_data_file, + clear_handled_signals, + config_dir, + glfw_path, + is_macos, + is_wayland, + kitty_exe, + logo_png_file, + running_in_kitty, + website_url, ) from .fast_data_types import ( - GLFW_IBEAM_CURSOR, GLFW_MOD_ALT, GLFW_MOD_SHIFT, SingleKey, create_os_window, - free_font_data, glfw_init, glfw_terminate, load_png_data, - mask_kitty_signals_process_wide, set_custom_cursor, set_default_window_icon, + GLFW_IBEAM_CURSOR, + GLFW_MOD_ALT, + GLFW_MOD_SHIFT, + SingleKey, + create_os_window, + free_font_data, + glfw_init, + glfw_terminate, + load_png_data, + mask_kitty_signals_process_wide, + set_custom_cursor, + set_default_window_icon, set_options, ) from .fonts.box_drawing import set_scale @@ -33,8 +51,13 @@ from .os_window_size import initial_window_size_func from .prewarm import PrewarmProcess, fork_prewarm_process from .session import create_sessions, get_os_window_sizing_data from .utils import ( - cleanup_ssh_control_masters, detach, expandvars, log_error, single_instance, - startup_notification_handler, unix_socket_paths, + cleanup_ssh_control_masters, + detach, + expandvars, + log_error, + single_instance, + startup_notification_handler, + unix_socket_paths, ) from .window import load_shader_programs diff --git a/kitty/marks.py b/kitty/marks.py index b6c174103..4b3620735 100644 --- a/kitty/marks.py +++ b/kitty/marks.py @@ -3,7 +3,7 @@ import re from ctypes import POINTER, c_uint, c_void_p, cast -from typing import Callable, Generator, Iterable, Pattern, Tuple, Union, Sequence +from typing import Callable, Generator, Iterable, Pattern, Sequence, Tuple, Union from .utils import resolve_custom_file diff --git a/kitty/multiprocessing.py b/kitty/multiprocessing.py index 292689e9c..60061d48c 100644 --- a/kitty/multiprocessing.py +++ b/kitty/multiprocessing.py @@ -7,9 +7,8 @@ import os from concurrent.futures import ProcessPoolExecutor -from multiprocessing import util -from multiprocessing import context, get_all_start_methods, get_context, spawn -from typing import Any, Callable, Sequence, Optional, Tuple, Union, TYPE_CHECKING +from multiprocessing import context, get_all_start_methods, get_context, spawn, util +from typing import TYPE_CHECKING, Any, Callable, Optional, Sequence, Tuple, Union from .constants import kitty_exe @@ -17,11 +16,11 @@ orig_spawn_passfds = util.spawnv_passfds orig_executable = spawn.get_executable() if TYPE_CHECKING: - from pickle import PickleBuffer from array import array - from mmap import mmap from ctypes import _CData - from typing import SupportsInt, SupportsIndex, Protocol + from mmap import mmap + from pickle import PickleBuffer + from typing import Protocol, SupportsIndex, SupportsInt class SupportsTrunc(Protocol): def __trunc__(self) -> int: ... diff --git a/kitty/open_actions.py b/kitty/open_actions.py index 304a53fe0..2b09ee04f 100644 --- a/kitty/open_actions.py +++ b/kitty/open_actions.py @@ -6,20 +6,17 @@ import os import posixpath import shlex from contextlib import suppress -from typing import ( - Any, Dict, Iterable, Iterator, List, NamedTuple, Optional, Tuple, cast -) +from typing import Any, Dict, Iterable, Iterator, List, NamedTuple, Optional, Tuple, cast from urllib.parse import ParseResult, unquote, urlparse from .conf.utils import KeyAction, to_cmdline_implementation from .constants import config_dir +from .fast_data_types import get_options from .guess_mime_type import guess_type from .options.utils import ActionAlias, resolve_aliases_and_parse_actions from .types import run_once from .typing import MatchType from .utils import expandvars, get_editor, log_error, resolved_shell -from .fast_data_types import get_options - if not hasattr(shlex, 'join'): shlex.join = lambda a: ' '.join(map(shlex.quote, a)) diff --git a/kitty/options/definition.py b/kitty/options/definition.py index 864ff7df9..257566d87 100644 --- a/kitty/options/definition.py +++ b/kitty/options/definition.py @@ -4,10 +4,10 @@ # After editing this file run ./gen-config.py to apply the changes import string + from kitty.conf.types import Action, Definition from kitty.constants import website_url - definition = Definition( 'kitty', Action('map', 'parse_map', {'keymap': 'KeyMap', 'sequence_map': 'SequenceMap', 'alias_map': 'AliasMap'}, diff --git a/kitty/options/parse.py b/kitty/options/parse.py index a6ff1e1d7..4f1acda37 100644 --- a/kitty/options/parse.py +++ b/kitty/options/parse.py @@ -1,23 +1,63 @@ # generated by gen-config.py DO NOT edit import typing -from kitty.conf.utils import ( - merge_dicts, positive_float, positive_int, to_bool, to_cmdline, to_color, to_color_or_none, - unit_float -) + +from kitty.conf.utils import merge_dicts, positive_float, positive_int, to_bool, to_cmdline, to_color, to_color_or_none, unit_float from kitty.options.utils import ( - action_alias, active_tab_title_template, allow_hyperlinks, bell_on_tab, box_drawing_scale, - clear_all_mouse_actions, clear_all_shortcuts, clipboard_control, clone_source_strategies, - config_or_absolute_path, copy_on_select, cursor_text_color, deprecated_adjust_line_height, - deprecated_hide_window_decorations_aliases, deprecated_macos_show_window_title_in_menubar_alias, - deprecated_send_text, disable_ligatures, edge_width, env, font_features, hide_window_decorations, - macos_option_as_alt, macos_titlebar_color, modify_font, narrow_symbols, optional_edge_width, - parse_map, parse_mouse_map, paste_actions, remote_control_password, resize_draw_strategy, - scrollback_lines, scrollback_pager_history_size, shell_integration, store_multiple, symbol_map, - tab_activity_symbol, tab_bar_edge, tab_bar_margin_height, tab_bar_min_tabs, tab_fade, - tab_font_style, tab_separator, tab_title_template, titlebar_color, to_cursor_shape, to_font_size, - to_layout_names, to_modifiers, url_prefixes, url_style, visual_window_select_characters, - window_border_width, window_size + action_alias, + active_tab_title_template, + allow_hyperlinks, + bell_on_tab, + box_drawing_scale, + clear_all_mouse_actions, + clear_all_shortcuts, + clipboard_control, + clone_source_strategies, + config_or_absolute_path, + copy_on_select, + cursor_text_color, + deprecated_adjust_line_height, + deprecated_hide_window_decorations_aliases, + deprecated_macos_show_window_title_in_menubar_alias, + deprecated_send_text, + disable_ligatures, + edge_width, + env, + font_features, + hide_window_decorations, + macos_option_as_alt, + macos_titlebar_color, + modify_font, + narrow_symbols, + optional_edge_width, + parse_map, + parse_mouse_map, + paste_actions, + remote_control_password, + resize_draw_strategy, + scrollback_lines, + scrollback_pager_history_size, + shell_integration, + store_multiple, + symbol_map, + tab_activity_symbol, + tab_bar_edge, + tab_bar_margin_height, + tab_bar_min_tabs, + tab_fade, + tab_font_style, + tab_separator, + tab_title_template, + titlebar_color, + to_cursor_shape, + to_font_size, + to_layout_names, + to_modifiers, + url_prefixes, + url_style, + visual_window_select_characters, + window_border_width, + window_size, ) diff --git a/kitty/options/utils.py b/kitty/options/utils.py index f078be96f..4df2f1dff 100644 --- a/kitty/options/utils.py +++ b/kitty/options/utils.py @@ -5,29 +5,27 @@ import re import sys from functools import lru_cache -from typing import ( - Any, Callable, Container, Dict, FrozenSet, Iterable, Iterator, List, - NamedTuple, Optional, Sequence, Tuple, Union -) +from typing import Any, Callable, Container, Dict, FrozenSet, Iterable, Iterator, List, NamedTuple, Optional, Sequence, Tuple, Union import kitty.fast_data_types as defines from kitty.conf.utils import ( - CurrentlyParsing, KeyAction, KeyFuncWrapper, currently_parsing, - positive_float, positive_int, python_string, to_bool, to_cmdline, to_color, - uniq, unit_float + CurrentlyParsing, + KeyAction, + KeyFuncWrapper, + currently_parsing, + positive_float, + positive_int, + python_string, + to_bool, + to_cmdline, + to_color, + uniq, + unit_float, ) from kitty.constants import is_macos -from kitty.fast_data_types import ( - CURSOR_BEAM, CURSOR_BLOCK, CURSOR_UNDERLINE, Color, SingleKey -) -from kitty.fonts import ( - FontFeature, FontModification, ModificationType, ModificationUnit, - ModificationValue -) -from kitty.key_names import ( - character_key_name_aliases, functional_key_name_aliases, - get_key_name_lookup -) +from kitty.fast_data_types import CURSOR_BEAM, CURSOR_BLOCK, CURSOR_UNDERLINE, Color, SingleKey +from kitty.fonts import FontFeature, FontModification, ModificationType, ModificationUnit, ModificationValue +from kitty.key_names import character_key_name_aliases, functional_key_name_aliases, get_key_name_lookup from kitty.rgb import color_as_int from kitty.types import FloatEdges, MouseEvent from kitty.utils import expandvars, log_error, resolve_abs_or_config_path diff --git a/kitty/prewarm.py b/kitty/prewarm.py index 95356b4b2..4868b1d0f 100644 --- a/kitty/prewarm.py +++ b/kitty/prewarm.py @@ -16,17 +16,22 @@ from contextlib import suppress from dataclasses import dataclass from importlib import import_module from itertools import count -from typing import ( - IO, TYPE_CHECKING, Any, Callable, Dict, Iterator, List, NoReturn, Optional, - Tuple, TypeVar, Union, cast -) +from typing import IO, TYPE_CHECKING, Any, Callable, Dict, Iterator, List, NoReturn, Optional, Tuple, TypeVar, Union, cast from kitty.constants import kitty_exe, running_in_kitty from kitty.entry_points import main as main_entry_point from kitty.fast_data_types import ( - CLD_EXITED, CLD_KILLED, CLD_STOPPED, clearenv, get_options, - install_signal_handlers, read_signals, remove_signal_handlers, safe_pipe, - set_options, set_use_os_log + CLD_EXITED, + CLD_KILLED, + CLD_STOPPED, + clearenv, + get_options, + install_signal_handlers, + read_signals, + remove_signal_handlers, + safe_pipe, + set_options, + set_use_os_log, ) from kitty.options.types import Options from kitty.shm import SharedMemory diff --git a/kitty/rc/base.py b/kitty/rc/base.py index 89dcfa4da..e3041b889 100644 --- a/kitty/rc/base.py +++ b/kitty/rc/base.py @@ -4,12 +4,9 @@ import tempfile from contextlib import suppress from dataclasses import dataclass, field -from typing import ( - TYPE_CHECKING, Any, Callable, Dict, FrozenSet, Iterable, Iterator, - List, NoReturn, Optional, Set, Tuple, Type, Union, cast -) +from typing import TYPE_CHECKING, Any, Callable, Dict, FrozenSet, Iterable, Iterator, List, NoReturn, Optional, Set, Tuple, Type, Union, cast -from kitty.cli import get_defaults_from_seq, parse_args, parse_option_spec, CompletionSpec +from kitty.cli import CompletionSpec, get_defaults_from_seq, parse_args, parse_option_spec from kitty.cli_stub import RCOptions as R from kitty.constants import appname, list_kitty_resources, running_in_kitty from kitty.types import AsyncResponse diff --git a/kitty/rc/close_tab.py b/kitty/rc/close_tab.py index fae321ecf..c45d2991c 100644 --- a/kitty/rc/close_tab.py +++ b/kitty/rc/close_tab.py @@ -4,10 +4,7 @@ from typing import TYPE_CHECKING, Optional -from .base import ( - MATCH_TAB_OPTION, ArgsType, Boss, MatchError, PayloadGetType, PayloadType, - RCOptions, RemoteCommand, ResponseType, Window -) +from .base import MATCH_TAB_OPTION, ArgsType, Boss, MatchError, PayloadGetType, PayloadType, RCOptions, RemoteCommand, ResponseType, Window if TYPE_CHECKING: from kitty.cli_stub import CloseTabRCOptions as CLIOptions diff --git a/kitty/rc/close_window.py b/kitty/rc/close_window.py index 30567d528..dd99e2127 100644 --- a/kitty/rc/close_window.py +++ b/kitty/rc/close_window.py @@ -4,10 +4,7 @@ from typing import TYPE_CHECKING, Optional -from .base import ( - MATCH_WINDOW_OPTION, ArgsType, Boss, PayloadGetType, PayloadType, - RCOptions, RemoteCommand, ResponseType, Window, MatchError -) +from .base import MATCH_WINDOW_OPTION, ArgsType, Boss, MatchError, PayloadGetType, PayloadType, RCOptions, RemoteCommand, ResponseType, Window if TYPE_CHECKING: from kitty.cli_stub import CloseWindowRCOptions as CLIOptions diff --git a/kitty/rc/create_marker.py b/kitty/rc/create_marker.py index 63ee3ab3d..4391c0ddb 100644 --- a/kitty/rc/create_marker.py +++ b/kitty/rc/create_marker.py @@ -5,10 +5,7 @@ from typing import TYPE_CHECKING, Optional from kitty.options.utils import parse_marker_spec -from .base import ( - MATCH_WINDOW_OPTION, ArgsType, Boss, PayloadGetType, - PayloadType, RCOptions, RemoteCommand, ResponseType, Window -) +from .base import MATCH_WINDOW_OPTION, ArgsType, Boss, PayloadGetType, PayloadType, RCOptions, RemoteCommand, ResponseType, Window if TYPE_CHECKING: from kitty.cli_stub import CreateMarkerRCOptions as CLIOptions diff --git a/kitty/rc/detach_tab.py b/kitty/rc/detach_tab.py index 6308abdbb..53b7025d0 100644 --- a/kitty/rc/detach_tab.py +++ b/kitty/rc/detach_tab.py @@ -3,10 +3,7 @@ from typing import TYPE_CHECKING, Optional -from .base import ( - MATCH_TAB_OPTION, ArgsType, Boss, MatchError, PayloadGetType, - PayloadType, RCOptions, RemoteCommand, ResponseType, Window -) +from .base import MATCH_TAB_OPTION, ArgsType, Boss, MatchError, PayloadGetType, PayloadType, RCOptions, RemoteCommand, ResponseType, Window if TYPE_CHECKING: from kitty.cli_stub import DetachTabRCOptions as CLIOptions diff --git a/kitty/rc/detach_window.py b/kitty/rc/detach_window.py index 6c58b8315..f0a59c8c1 100644 --- a/kitty/rc/detach_window.py +++ b/kitty/rc/detach_window.py @@ -3,11 +3,7 @@ from typing import TYPE_CHECKING, Optional, Union -from .base import ( - MATCH_TAB_OPTION, MATCH_WINDOW_OPTION, ArgsType, Boss, MatchError, - PayloadGetType, PayloadType, RCOptions, RemoteCommand, ResponseType, - Window -) +from .base import MATCH_TAB_OPTION, MATCH_WINDOW_OPTION, ArgsType, Boss, MatchError, PayloadGetType, PayloadType, RCOptions, RemoteCommand, ResponseType, Window if TYPE_CHECKING: from kitty.cli_stub import DetachWindowRCOptions as CLIOptions diff --git a/kitty/rc/disable_ligatures.py b/kitty/rc/disable_ligatures.py index 080fe68bc..acda8741b 100644 --- a/kitty/rc/disable_ligatures.py +++ b/kitty/rc/disable_ligatures.py @@ -4,10 +4,7 @@ from typing import TYPE_CHECKING, Optional -from .base import ( - MATCH_TAB_OPTION, MATCH_WINDOW_OPTION, ArgsType, Boss, PayloadGetType, - PayloadType, RCOptions, RemoteCommand, ResponseType, Window -) +from .base import MATCH_TAB_OPTION, MATCH_WINDOW_OPTION, ArgsType, Boss, PayloadGetType, PayloadType, RCOptions, RemoteCommand, ResponseType, Window if TYPE_CHECKING: from kitty.cli_stub import DisableLigaturesRCOptions as CLIOptions diff --git a/kitty/rc/env.py b/kitty/rc/env.py index 6176aece6..b61c65fdc 100644 --- a/kitty/rc/env.py +++ b/kitty/rc/env.py @@ -3,10 +3,7 @@ from typing import Any, Optional -from .base import ( - ArgsType, Boss, PayloadGetType, PayloadType, RCOptions, RemoteCommand, - ResponseType, Window -) +from .base import ArgsType, Boss, PayloadGetType, PayloadType, RCOptions, RemoteCommand, ResponseType, Window class Env(RemoteCommand): diff --git a/kitty/rc/focus_tab.py b/kitty/rc/focus_tab.py index d9a401577..d235689a4 100644 --- a/kitty/rc/focus_tab.py +++ b/kitty/rc/focus_tab.py @@ -4,10 +4,7 @@ from typing import TYPE_CHECKING, Optional -from .base import ( - MATCH_TAB_OPTION, ArgsType, Boss, PayloadGetType, PayloadType, RCOptions, - RemoteCommand, ResponseType, Window -) +from .base import MATCH_TAB_OPTION, ArgsType, Boss, PayloadGetType, PayloadType, RCOptions, RemoteCommand, ResponseType, Window if TYPE_CHECKING: from kitty.cli_stub import FocusTabRCOptions as CLIOptions diff --git a/kitty/rc/focus_window.py b/kitty/rc/focus_window.py index 12b8dbef4..8bd07944c 100644 --- a/kitty/rc/focus_window.py +++ b/kitty/rc/focus_window.py @@ -6,10 +6,7 @@ from typing import TYPE_CHECKING, Optional from kitty.fast_data_types import focus_os_window -from .base import ( - MATCH_WINDOW_OPTION, ArgsType, Boss, PayloadGetType, PayloadType, - RCOptions, RemoteCommand, ResponseType, Window -) +from .base import MATCH_WINDOW_OPTION, ArgsType, Boss, PayloadGetType, PayloadType, RCOptions, RemoteCommand, ResponseType, Window if TYPE_CHECKING: from kitty.cli_stub import FocusWindowRCOptions as CLIOptions diff --git a/kitty/rc/get_colors.py b/kitty/rc/get_colors.py index ff421994b..32cd3b721 100644 --- a/kitty/rc/get_colors.py +++ b/kitty/rc/get_colors.py @@ -7,10 +7,7 @@ from kitty.fast_data_types import Color from kitty.rgb import color_as_sharp, color_from_int from kitty.utils import natsort_ints -from .base import ( - MATCH_WINDOW_OPTION, ArgsType, Boss, PayloadGetType, PayloadType, - RCOptions, RemoteCommand, ResponseType, Window -) +from .base import MATCH_WINDOW_OPTION, ArgsType, Boss, PayloadGetType, PayloadType, RCOptions, RemoteCommand, ResponseType, Window if TYPE_CHECKING: from kitty.cli_stub import GetColorsRCOptions as CLIOptions diff --git a/kitty/rc/get_text.py b/kitty/rc/get_text.py index 4c016a921..f10f8e8a3 100644 --- a/kitty/rc/get_text.py +++ b/kitty/rc/get_text.py @@ -4,10 +4,7 @@ from typing import TYPE_CHECKING, Optional -from .base import ( - MATCH_WINDOW_OPTION, ArgsType, Boss, PayloadGetType, PayloadType, - RCOptions, RemoteCommand, ResponseType, Window -) +from .base import MATCH_WINDOW_OPTION, ArgsType, Boss, PayloadGetType, PayloadType, RCOptions, RemoteCommand, ResponseType, Window if TYPE_CHECKING: from kitty.cli_stub import GetTextRCOptions as CLIOptions diff --git a/kitty/rc/goto_layout.py b/kitty/rc/goto_layout.py index e5141a3a7..e184e3dac 100644 --- a/kitty/rc/goto_layout.py +++ b/kitty/rc/goto_layout.py @@ -1,12 +1,9 @@ #!/usr/bin/env python # License: GPLv3 Copyright: 2020, Kovid Goyal -from typing import TYPE_CHECKING, Optional, Iterable +from typing import TYPE_CHECKING, Iterable, Optional -from .base import ( - MATCH_TAB_OPTION, ArgsType, Boss, PayloadGetType, PayloadType, RCOptions, - RemoteCommand, ResponseType, UnknownLayout, Window -) +from .base import MATCH_TAB_OPTION, ArgsType, Boss, PayloadGetType, PayloadType, RCOptions, RemoteCommand, ResponseType, UnknownLayout, Window if TYPE_CHECKING: from kitty.cli_stub import GotoLayoutRCOptions as CLIOptions diff --git a/kitty/rc/kitten.py b/kitty/rc/kitten.py index 78d33d893..c22a0888d 100644 --- a/kitty/rc/kitten.py +++ b/kitty/rc/kitten.py @@ -3,10 +3,7 @@ from typing import TYPE_CHECKING, Optional -from .base import ( - MATCH_WINDOW_OPTION, ArgsType, Boss, PayloadGetType, PayloadType, RCOptions, - RemoteCommand, ResponseType, Window -) +from .base import MATCH_WINDOW_OPTION, ArgsType, Boss, PayloadGetType, PayloadType, RCOptions, RemoteCommand, ResponseType, Window if TYPE_CHECKING: from kitty.cli_stub import KittenRCOptions as CLIOptions diff --git a/kitty/rc/last_used_layout.py b/kitty/rc/last_used_layout.py index 99999cb02..3c942ce8a 100644 --- a/kitty/rc/last_used_layout.py +++ b/kitty/rc/last_used_layout.py @@ -4,10 +4,7 @@ from typing import TYPE_CHECKING, Optional -from .base import ( - MATCH_TAB_OPTION, ArgsType, Boss, PayloadGetType, PayloadType, RCOptions, - RemoteCommand, ResponseType, Window -) +from .base import MATCH_TAB_OPTION, ArgsType, Boss, PayloadGetType, PayloadType, RCOptions, RemoteCommand, ResponseType, Window if TYPE_CHECKING: from kitty.cli_stub import LastUsedLayoutRCOptions as CLIOptions diff --git a/kitty/rc/launch.py b/kitty/rc/launch.py index 929fad65a..0f673da43 100644 --- a/kitty/rc/launch.py +++ b/kitty/rc/launch.py @@ -5,15 +5,11 @@ from typing import TYPE_CHECKING, Optional from kitty.cli_stub import LaunchCLIOptions -from kitty.launch import ( - launch as do_launch, options_spec as launch_options_spec, - parse_launch_args -) +from kitty.launch import launch as do_launch +from kitty.launch import options_spec as launch_options_spec +from kitty.launch import parse_launch_args -from .base import ( - MATCH_TAB_OPTION, ArgsType, Boss, PayloadGetType, PayloadType, RCOptions, - RemoteCommand, ResponseType, Window -) +from .base import MATCH_TAB_OPTION, ArgsType, Boss, PayloadGetType, PayloadType, RCOptions, RemoteCommand, ResponseType, Window if TYPE_CHECKING: from kitty.cli_stub import LaunchRCOptions as CLIOptions diff --git a/kitty/rc/ls.py b/kitty/rc/ls.py index 6e68aac3f..bbc9bf7d0 100644 --- a/kitty/rc/ls.py +++ b/kitty/rc/ls.py @@ -6,10 +6,7 @@ from typing import TYPE_CHECKING, Dict, List, Optional, Set, Tuple from kitty.constants import appname -from .base import ( - ArgsType, Boss, PayloadGetType, PayloadType, RCOptions, RemoteCommand, - ResponseType, Window -) +from .base import ArgsType, Boss, PayloadGetType, PayloadType, RCOptions, RemoteCommand, ResponseType, Window if TYPE_CHECKING: from kitty.cli_stub import LSRCOptions as CLIOptions diff --git a/kitty/rc/new_window.py b/kitty/rc/new_window.py index db5b1f887..2a0ea2cb5 100644 --- a/kitty/rc/new_window.py +++ b/kitty/rc/new_window.py @@ -3,10 +3,7 @@ from typing import TYPE_CHECKING, Optional -from .base import ( - MATCH_TAB_OPTION, ArgsType, Boss, PayloadGetType, PayloadType, RCOptions, - RemoteCommand, ResponseType, Window -) +from .base import MATCH_TAB_OPTION, ArgsType, Boss, PayloadGetType, PayloadType, RCOptions, RemoteCommand, ResponseType, Window if TYPE_CHECKING: from kitty.cli_stub import NewWindowRCOptions as CLIOptions diff --git a/kitty/rc/remove_marker.py b/kitty/rc/remove_marker.py index 86eee1a8f..51a787849 100644 --- a/kitty/rc/remove_marker.py +++ b/kitty/rc/remove_marker.py @@ -4,10 +4,7 @@ from typing import TYPE_CHECKING, Optional -from .base import ( - MATCH_WINDOW_OPTION, ArgsType, Boss, PayloadGetType, PayloadType, - RCOptions, RemoteCommand, ResponseType, Window -) +from .base import MATCH_WINDOW_OPTION, ArgsType, Boss, PayloadGetType, PayloadType, RCOptions, RemoteCommand, ResponseType, Window if TYPE_CHECKING: from kitty.cli_stub import RemoveMarkerRCOptions as CLIOptions diff --git a/kitty/rc/resize_os_window.py b/kitty/rc/resize_os_window.py index 3c3fbf65b..599055394 100644 --- a/kitty/rc/resize_os_window.py +++ b/kitty/rc/resize_os_window.py @@ -3,10 +3,7 @@ from typing import TYPE_CHECKING, Optional -from .base import ( - MATCH_WINDOW_OPTION, ArgsType, Boss, PayloadGetType, - PayloadType, RCOptions, RemoteCommand, ResponseType, Window -) +from .base import MATCH_WINDOW_OPTION, ArgsType, Boss, PayloadGetType, PayloadType, RCOptions, RemoteCommand, ResponseType, Window if TYPE_CHECKING: from kitty.cli_stub import ResizeOSWindowRCOptions as CLIOptions diff --git a/kitty/rc/resize_window.py b/kitty/rc/resize_window.py index 345dafdaa..58c378852 100644 --- a/kitty/rc/resize_window.py +++ b/kitty/rc/resize_window.py @@ -3,10 +3,7 @@ from typing import TYPE_CHECKING, Optional, Union -from .base import ( - MATCH_WINDOW_OPTION, ArgsType, Boss, PayloadGetType, - PayloadType, RCOptions, RemoteCommand, ResponseType, Window -) +from .base import MATCH_WINDOW_OPTION, ArgsType, Boss, PayloadGetType, PayloadType, RCOptions, RemoteCommand, ResponseType, Window if TYPE_CHECKING: from kitty.cli_stub import ResizeWindowRCOptions as CLIOptions diff --git a/kitty/rc/scroll_window.py b/kitty/rc/scroll_window.py index 24543b747..98dbf76cf 100644 --- a/kitty/rc/scroll_window.py +++ b/kitty/rc/scroll_window.py @@ -4,10 +4,7 @@ from typing import TYPE_CHECKING, Optional, Tuple, Union -from .base import ( - MATCH_WINDOW_OPTION, ArgsType, Boss, PayloadGetType, PayloadType, RCOptions, - RemoteCommand, ResponseType, Window -) +from .base import MATCH_WINDOW_OPTION, ArgsType, Boss, PayloadGetType, PayloadType, RCOptions, RemoteCommand, ResponseType, Window if TYPE_CHECKING: from kitty.cli_stub import ScrollWindowRCOptions as CLIOptions diff --git a/kitty/rc/select_window.py b/kitty/rc/select_window.py index 9f3ae9e4d..2d594cda9 100644 --- a/kitty/rc/select_window.py +++ b/kitty/rc/select_window.py @@ -5,10 +5,7 @@ from typing import TYPE_CHECKING, Optional from kitty.types import AsyncResponse -from .base import ( - MATCH_TAB_OPTION, ArgsType, Boss, PayloadGetType, PayloadType, RCOptions, - RemoteCommand, ResponseType, Window -) +from .base import MATCH_TAB_OPTION, ArgsType, Boss, PayloadGetType, PayloadType, RCOptions, RemoteCommand, ResponseType, Window if TYPE_CHECKING: from kitty.cli_stub import SelectWindowRCOptions as CLIOptions diff --git a/kitty/rc/send_text.py b/kitty/rc/send_text.py index bdc2e511f..91eb848d2 100644 --- a/kitty/rc/send_text.py +++ b/kitty/rc/send_text.py @@ -5,14 +5,24 @@ import base64 import sys from typing import TYPE_CHECKING, Any, Dict, List, Optional, Set, Union -from kitty.fast_data_types import KeyEvent as WindowSystemKeyEvent, get_boss +from kitty.fast_data_types import KeyEvent as WindowSystemKeyEvent +from kitty.fast_data_types import get_boss from kitty.key_encoding import decode_key_event_as_window_system_key from kitty.options.utils import parse_send_text_bytes from .base import ( - MATCH_TAB_OPTION, MATCH_WINDOW_OPTION, ArgsType, Boss, CmdGenerator, - MatchError, PayloadGetType, PayloadType, RCOptions, RemoteCommand, - ResponseType, Window + MATCH_TAB_OPTION, + MATCH_WINDOW_OPTION, + ArgsType, + Boss, + CmdGenerator, + MatchError, + PayloadGetType, + PayloadType, + RCOptions, + RemoteCommand, + ResponseType, + Window, ) if TYPE_CHECKING: diff --git a/kitty/rc/set_background_image.py b/kitty/rc/set_background_image.py index 100882ec8..db461532d 100644 --- a/kitty/rc/set_background_image.py +++ b/kitty/rc/set_background_image.py @@ -9,9 +9,18 @@ from typing import TYPE_CHECKING, Optional from kitty.types import AsyncResponse from .base import ( - MATCH_WINDOW_OPTION, ArgsType, Boss, CmdGenerator, ImageCompletion, - NamedTemporaryFile, PayloadGetType, PayloadType, RCOptions, RemoteCommand, - ResponseType, Window + MATCH_WINDOW_OPTION, + ArgsType, + Boss, + CmdGenerator, + ImageCompletion, + NamedTemporaryFile, + PayloadGetType, + PayloadType, + RCOptions, + RemoteCommand, + ResponseType, + Window, ) if TYPE_CHECKING: diff --git a/kitty/rc/set_background_opacity.py b/kitty/rc/set_background_opacity.py index e00968ef7..c07b34fe9 100644 --- a/kitty/rc/set_background_opacity.py +++ b/kitty/rc/set_background_opacity.py @@ -5,9 +5,17 @@ from typing import TYPE_CHECKING, Optional from .base import ( - MATCH_TAB_OPTION, MATCH_WINDOW_OPTION, ArgsType, Boss, OpacityError, - PayloadGetType, PayloadType, RCOptions, RemoteCommand, ResponseType, - Window + MATCH_TAB_OPTION, + MATCH_WINDOW_OPTION, + ArgsType, + Boss, + OpacityError, + PayloadGetType, + PayloadType, + RCOptions, + RemoteCommand, + ResponseType, + Window, ) if TYPE_CHECKING: diff --git a/kitty/rc/set_colors.py b/kitty/rc/set_colors.py index ceb3ed4b0..4367b74b9 100644 --- a/kitty/rc/set_colors.py +++ b/kitty/rc/set_colors.py @@ -7,11 +7,20 @@ from typing import TYPE_CHECKING, Dict, Iterable, Optional from kitty.cli import emph from kitty.config import parse_config -from kitty.fast_data_types import patch_color_profiles, Color +from kitty.fast_data_types import Color, patch_color_profiles from .base import ( - MATCH_TAB_OPTION, MATCH_WINDOW_OPTION, ArgsType, Boss, ParsingOfArgsFailed, - PayloadGetType, PayloadType, RCOptions, RemoteCommand, ResponseType, Window + MATCH_TAB_OPTION, + MATCH_WINDOW_OPTION, + ArgsType, + Boss, + ParsingOfArgsFailed, + PayloadGetType, + PayloadType, + RCOptions, + RemoteCommand, + ResponseType, + Window, ) if TYPE_CHECKING: diff --git a/kitty/rc/set_enabled_layouts.py b/kitty/rc/set_enabled_layouts.py index 7f45a0fce..439727ad1 100644 --- a/kitty/rc/set_enabled_layouts.py +++ b/kitty/rc/set_enabled_layouts.py @@ -6,10 +6,7 @@ from typing import TYPE_CHECKING, Iterable, List, Optional from kitty.fast_data_types import get_options from kitty.options.utils import parse_layout_names -from .base import ( - MATCH_TAB_OPTION, ArgsType, Boss, PayloadGetType, PayloadType, RCOptions, - RemoteCommand, ResponseType, Window -) +from .base import MATCH_TAB_OPTION, ArgsType, Boss, PayloadGetType, PayloadType, RCOptions, RemoteCommand, ResponseType, Window if TYPE_CHECKING: from kitty.cli_stub import SetEnabledLayoutsRCOptions as CLIOptions diff --git a/kitty/rc/set_font_size.py b/kitty/rc/set_font_size.py index 649059a93..ecfd8c723 100644 --- a/kitty/rc/set_font_size.py +++ b/kitty/rc/set_font_size.py @@ -3,10 +3,7 @@ from typing import TYPE_CHECKING, Optional -from .base import ( - ArgsType, Boss, PayloadGetType, PayloadType, RCOptions, RemoteCommand, - ResponseType, Window -) +from .base import ArgsType, Boss, PayloadGetType, PayloadType, RCOptions, RemoteCommand, ResponseType, Window if TYPE_CHECKING: from kitty.cli_stub import SetFontSizeRCOptions as CLIOptions diff --git a/kitty/rc/set_spacing.py b/kitty/rc/set_spacing.py index 4573adc71..caa2e624f 100644 --- a/kitty/rc/set_spacing.py +++ b/kitty/rc/set_spacing.py @@ -4,10 +4,7 @@ from typing import TYPE_CHECKING, Dict, Iterable, List, Optional -from .base import ( - MATCH_TAB_OPTION, MATCH_WINDOW_OPTION, ArgsType, Boss, PayloadGetType, - PayloadType, RCOptions, RemoteCommand, ResponseType, Window -) +from .base import MATCH_TAB_OPTION, MATCH_WINDOW_OPTION, ArgsType, Boss, PayloadGetType, PayloadType, RCOptions, RemoteCommand, ResponseType, Window if TYPE_CHECKING: from kitty.cli_stub import SetSpacingRCOptions as CLIOptions diff --git a/kitty/rc/set_tab_color.py b/kitty/rc/set_tab_color.py index 5b7ace8bf..4e2ae3019 100644 --- a/kitty/rc/set_tab_color.py +++ b/kitty/rc/set_tab_color.py @@ -6,10 +6,7 @@ from typing import TYPE_CHECKING, Dict, Optional from kitty.rgb import to_color -from .base import ( - MATCH_TAB_OPTION, ArgsType, Boss, ParsingOfArgsFailed, PayloadGetType, - PayloadType, RCOptions, RemoteCommand, ResponseType, Window -) +from .base import MATCH_TAB_OPTION, ArgsType, Boss, ParsingOfArgsFailed, PayloadGetType, PayloadType, RCOptions, RemoteCommand, ResponseType, Window if TYPE_CHECKING: from kitty.cli_stub import SetTabColorRCOptions as CLIOptions diff --git a/kitty/rc/set_tab_title.py b/kitty/rc/set_tab_title.py index 969cd711d..52895efcc 100644 --- a/kitty/rc/set_tab_title.py +++ b/kitty/rc/set_tab_title.py @@ -4,10 +4,7 @@ from typing import TYPE_CHECKING, Optional -from .base import ( - MATCH_TAB_OPTION, ArgsType, Boss, PayloadGetType, PayloadType, RCOptions, - RemoteCommand, ResponseType, Window -) +from .base import MATCH_TAB_OPTION, ArgsType, Boss, PayloadGetType, PayloadType, RCOptions, RemoteCommand, ResponseType, Window if TYPE_CHECKING: from kitty.cli_stub import SetTabTitleRCOptions as CLIOptions diff --git a/kitty/rc/set_window_logo.py b/kitty/rc/set_window_logo.py index 41bb1c95b..2a5e6b2ec 100644 --- a/kitty/rc/set_window_logo.py +++ b/kitty/rc/set_window_logo.py @@ -10,9 +10,18 @@ from typing import TYPE_CHECKING, Optional from kitty.types import AsyncResponse from .base import ( - MATCH_WINDOW_OPTION, ArgsType, Boss, CmdGenerator, ImageCompletion, - NamedTemporaryFile, PayloadGetType, PayloadType, RCOptions, RemoteCommand, - ResponseType, Window + MATCH_WINDOW_OPTION, + ArgsType, + Boss, + CmdGenerator, + ImageCompletion, + NamedTemporaryFile, + PayloadGetType, + PayloadType, + RCOptions, + RemoteCommand, + ResponseType, + Window, ) if TYPE_CHECKING: diff --git a/kitty/rc/set_window_title.py b/kitty/rc/set_window_title.py index 4e319ad78..1683be412 100644 --- a/kitty/rc/set_window_title.py +++ b/kitty/rc/set_window_title.py @@ -3,10 +3,7 @@ from typing import TYPE_CHECKING, Optional -from .base import ( - MATCH_WINDOW_OPTION, ArgsType, Boss, PayloadGetType, PayloadType, RCOptions, - RemoteCommand, ResponseType, Window -) +from .base import MATCH_WINDOW_OPTION, ArgsType, Boss, PayloadGetType, PayloadType, RCOptions, RemoteCommand, ResponseType, Window if TYPE_CHECKING: from kitty.cli_stub import SetWindowTitleRCOptions as CLIOptions diff --git a/kitty/rc/signal_child.py b/kitty/rc/signal_child.py index 9648b0cd6..b601f57c1 100644 --- a/kitty/rc/signal_child.py +++ b/kitty/rc/signal_child.py @@ -3,10 +3,7 @@ from typing import TYPE_CHECKING, Optional -from .base import ( - MATCH_WINDOW_OPTION, ArgsType, Boss, PayloadGetType, PayloadType, RCOptions, - RemoteCommand, ResponseType, Window -) +from .base import MATCH_WINDOW_OPTION, ArgsType, Boss, PayloadGetType, PayloadType, RCOptions, RemoteCommand, ResponseType, Window if TYPE_CHECKING: from kitty.cli_stub import SignalChildRCOptions as CLIOptions diff --git a/kitty/remote_control.py b/kitty/remote_control.py index 4d63842fe..3768ec711 100644 --- a/kitty/remote_control.py +++ b/kitty/remote_control.py @@ -11,16 +11,30 @@ from functools import lru_cache, partial from time import monotonic, time_ns from types import GeneratorType from typing import ( - TYPE_CHECKING, Any, Dict, FrozenSet, Iterable, Iterator, List, Optional, Tuple, - Union, cast, + TYPE_CHECKING, + Any, + Dict, + FrozenSet, + Iterable, + Iterator, + List, + Optional, + Tuple, + Union, + cast, ) from .cli import parse_args from .cli_stub import RCOptions from .constants import RC_ENCRYPTION_PROTOCOL_VERSION, appname, version from .fast_data_types import ( - AES256GCMDecrypt, AES256GCMEncrypt, EllipticCurveKey, get_boss, get_options, - read_command_response, send_data_to_peer, + AES256GCMDecrypt, + AES256GCMEncrypt, + EllipticCurveKey, + get_boss, + get_options, + read_command_response, + send_data_to_peer, ) from .rc.base import NoResponse, PayloadGetter, all_command_names, command_for_name from .types import AsyncResponse diff --git a/kitty/rgb.py b/kitty/rgb.py index 6dffad49e..dc170ea1c 100644 --- a/kitty/rgb.py +++ b/kitty/rgb.py @@ -4,6 +4,7 @@ import re from contextlib import suppress from typing import Optional + from .fast_data_types import Color diff --git a/kitty/search_query_parser.py b/kitty/search_query_parser.py index 3a3259572..34947c54d 100644 --- a/kitty/search_query_parser.py +++ b/kitty/search_query_parser.py @@ -4,10 +4,7 @@ import re from enum import Enum from functools import lru_cache from gettext import gettext as _ -from typing import ( - Callable, Iterator, List, NamedTuple, Optional, Sequence, Set, Tuple, - TypeVar, Union -) +from typing import Callable, Iterator, List, NamedTuple, Optional, Sequence, Set, Tuple, TypeVar, Union class ParseException(Exception): diff --git a/kitty/session.py b/kitty/session.py index 58948df40..7cf934aac 100644 --- a/kitty/session.py +++ b/kitty/session.py @@ -3,9 +3,7 @@ import shlex import sys -from typing import ( - TYPE_CHECKING, Generator, Iterator, List, Optional, Tuple, Union -) +from typing import TYPE_CHECKING, Generator, Iterator, List, Optional, Tuple, Union from .cli_stub import CLIOptions from .constants import kitty_tool_exe @@ -14,7 +12,7 @@ from .options.types import Options from .options.utils import resize_window, to_layout_names, window_size from .os_window_size import WindowSize, WindowSizeData, WindowSizes from .typing import SpecialWindowInstance -from .utils import log_error, resolved_shell, resolve_custom_file +from .utils import log_error, resolve_custom_file, resolved_shell if TYPE_CHECKING: from .launch import LaunchSpec diff --git a/kitty/tab_bar.py b/kitty/tab_bar.py index 210115a32..8e3b494c4 100644 --- a/kitty/tab_bar.py +++ b/kitty/tab_bar.py @@ -6,15 +6,32 @@ import re from functools import lru_cache, partial, wraps from string import Formatter as StringFormatter from typing import ( - Any, Callable, Dict, List, NamedTuple, Optional, Sequence, Tuple, Union, + Any, + Callable, + Dict, + List, + NamedTuple, + Optional, + Sequence, + Tuple, + Union, ) from .borders import Border, BorderColor from .config import build_ansi_color_table from .constants import config_dir from .fast_data_types import ( - DECAWM, Color, Region, Screen, cell_size_for_window, get_boss, get_options, - pt_to_px, set_tab_bar_render_data, update_tab_bar_edge_colors, viewport_for_window, + DECAWM, + Color, + Region, + Screen, + cell_size_for_window, + get_boss, + get_options, + pt_to_px, + set_tab_bar_render_data, + update_tab_bar_edge_colors, + viewport_for_window, ) from .rgb import alpha_blend, color_as_sgr, color_from_int, to_color from .types import WindowGeometry, run_once diff --git a/kitty/tabs.py b/kitty/tabs.py index 266896630..6b4e5f975 100644 --- a/kitty/tabs.py +++ b/kitty/tabs.py @@ -10,8 +10,19 @@ from contextlib import suppress from operator import attrgetter from time import monotonic from typing import ( - Any, Deque, Dict, Generator, Iterable, Iterator, List, NamedTuple, Optional, - Sequence, Set, Tuple, Union, + Any, + Deque, + Dict, + Generator, + Iterable, + Iterator, + List, + NamedTuple, + Optional, + Sequence, + Set, + Tuple, + Union, ) from .borders import Border, Borders @@ -19,11 +30,27 @@ from .child import Child from .cli_stub import CLIOptions from .constants import appname, kitty_tool_exe from .fast_data_types import ( - GLFW_MOUSE_BUTTON_LEFT, GLFW_MOUSE_BUTTON_MIDDLE, GLFW_PRESS, GLFW_RELEASE, add_tab, - attach_window, current_focused_os_window_id, detach_window, get_boss, - get_click_interval, get_options, last_focused_os_window_id, mark_tab_bar_dirty, - next_window_id, remove_tab, remove_window, ring_bell, set_active_tab, - set_active_window, swap_tabs, sync_os_window_title, + GLFW_MOUSE_BUTTON_LEFT, + GLFW_MOUSE_BUTTON_MIDDLE, + GLFW_PRESS, + GLFW_RELEASE, + add_tab, + attach_window, + current_focused_os_window_id, + detach_window, + get_boss, + get_click_interval, + get_options, + last_focused_os_window_id, + mark_tab_bar_dirty, + next_window_id, + remove_tab, + remove_window, + ring_bell, + set_active_tab, + set_active_window, + swap_tabs, + sync_os_window_title, ) from .layout.base import Layout from .layout.interface import create_layout_object_for, evict_cached_layouts diff --git a/kitty/types.py b/kitty/types.py index 3c12f82b0..250c5d151 100644 --- a/kitty/types.py +++ b/kitty/types.py @@ -3,10 +3,7 @@ from enum import Enum from functools import update_wrapper -from typing import ( - TYPE_CHECKING, Any, Callable, Dict, Generic, Iterator, NamedTuple, Tuple, - TypeVar, Union -) +from typing import TYPE_CHECKING, Any, Callable, Dict, Generic, Iterator, NamedTuple, Tuple, TypeVar, Union if TYPE_CHECKING: from kitty.fast_data_types import SingleKey @@ -170,8 +167,14 @@ def run_once(f: Callable[[], _T]) -> 'RunOnce[_T]': def modmap() -> Dict[str, int]: from .constants import is_macos from .fast_data_types import ( - GLFW_MOD_ALT, GLFW_MOD_CAPS_LOCK, GLFW_MOD_CONTROL, GLFW_MOD_HYPER, - GLFW_MOD_META, GLFW_MOD_NUM_LOCK, GLFW_MOD_SHIFT, GLFW_MOD_SUPER + GLFW_MOD_ALT, + GLFW_MOD_CAPS_LOCK, + GLFW_MOD_CONTROL, + GLFW_MOD_HYPER, + GLFW_MOD_META, + GLFW_MOD_NUM_LOCK, + GLFW_MOD_SHIFT, + GLFW_MOD_SUPER, ) return {'ctrl': GLFW_MOD_CONTROL, 'shift': GLFW_MOD_SHIFT, ('opt' if is_macos else 'alt'): GLFW_MOD_ALT, diff --git a/kitty/typing.py b/kitty/typing.py index 86d9ec696..e0d0ce0e2 100644 --- a/kitty/typing.py +++ b/kitty/typing.py @@ -3,7 +3,6 @@ from typing import Tuple - BossType = ChildType = TabType = WindowType = ScreenType = None BadLineType = SequenceMap = KeyActionType = AliasMap = None AddressFamily = PopenType = Socket = StartupCtx = None diff --git a/kitty/typing.pyi b/kitty/typing.pyi index 9f7c3bf20..59b45966e 100644 --- a/kitty/typing.pyi +++ b/kitty/typing.pyi @@ -1,34 +1,41 @@ from asyncio import AbstractEventLoop as AbstractEventLoop -from socket import AddressFamily as AddressFamily, socket as Socket -from subprocess import CompletedProcess as CompletedProcess, Popen as PopenType -from typing import Literal, Protocol as Protocol, TypedDict as TypedDict +from socket import AddressFamily as AddressFamily +from socket import socket as Socket +from subprocess import CompletedProcess as CompletedProcess +from subprocess import Popen as PopenType +from typing import Literal +from typing import Protocol as Protocol +from typing import TypedDict as TypedDict from kittens.hints.main import Mark as MarkType from kittens.tui.handler import Handler as HandlerType -from kittens.tui.images import ( - GraphicsCommand as GraphicsCommandType, ImageManager as ImageManagerType -) -from kittens.tui.loop import ( - Debug as Debug, Loop as LoopType, MouseButton as MouseButton, - MouseEvent as MouseEvent, TermManager as TermManagerType -) +from kittens.tui.images import GraphicsCommand as GraphicsCommandType +from kittens.tui.images import ImageManager as ImageManagerType +from kittens.tui.loop import Debug as Debug +from kittens.tui.loop import Loop as LoopType +from kittens.tui.loop import MouseButton as MouseButton +from kittens.tui.loop import MouseEvent as MouseEvent +from kittens.tui.loop import TermManager as TermManagerType from .boss import Boss as BossType from .child import Child as ChildType -from .conf.utils import BadLine as BadLineType, KeyAction as KeyActionType +from .conf.utils import BadLine as BadLineType +from .conf.utils import KeyAction as KeyActionType from .config import KittyCommonOpts -from .fast_data_types import ( - CoreTextFont as CoreTextFont, FontConfigPattern as FontConfigPattern, - Screen as ScreenType, StartupCtx as StartupCtx -) +from .fast_data_types import CoreTextFont as CoreTextFont +from .fast_data_types import FontConfigPattern as FontConfigPattern +from .fast_data_types import Screen as ScreenType +from .fast_data_types import StartupCtx as StartupCtx from .key_encoding import KeyEvent as KeyEventType from .layout.base import Layout as LayoutType -from .options.utils import KeyMap as KeyMap, SequenceMap as SequenceMap, AliasMap as AliasMap +from .options.utils import AliasMap as AliasMap +from .options.utils import KeyMap as KeyMap +from .options.utils import SequenceMap as SequenceMap from .rc.base import RemoteCommand as RemoteCommandType -from .session import Session as SessionType, Tab as SessionTab -from .tabs import ( - SpecialWindowInstance as SpecialWindowInstance, Tab as TabType -) +from .session import Session as SessionType +from .session import Tab as SessionTab +from .tabs import SpecialWindowInstance as SpecialWindowInstance +from .tabs import Tab as TabType from .utils import ScreenSize as ScreenSize from .window import Window as WindowType diff --git a/kitty/update_check.py b/kitty/update_check.py index da5bfcbe6..12a218257 100644 --- a/kitty/update_check.py +++ b/kitty/update_check.py @@ -9,9 +9,7 @@ from typing import Dict, NamedTuple, Optional, Tuple from urllib.request import urlopen from .config import atomic_save -from .constants import ( - Version, cache_dir, clear_handled_signals, kitty_exe, version, website_url -) +from .constants import Version, cache_dir, clear_handled_signals, kitty_exe, version, website_url from .fast_data_types import add_timer, get_boss, monitor_pid from .notify import notify from .utils import log_error, open_url diff --git a/kitty/utils.py b/kitty/utils.py index fdf4fcd90..88b762cdb 100644 --- a/kitty/utils.py +++ b/kitty/utils.py @@ -12,14 +12,18 @@ import sys from contextlib import contextmanager, suppress from functools import lru_cache from time import monotonic -from typing import ( - TYPE_CHECKING, Any, Callable, Dict, Generator, Iterable, Iterator, List, - Mapping, Match, NamedTuple, Optional, Pattern, Tuple, Union, cast -) +from typing import TYPE_CHECKING, Any, Callable, Dict, Generator, Iterable, Iterator, List, Mapping, Match, NamedTuple, Optional, Pattern, Tuple, Union, cast from .constants import ( - appname, clear_handled_signals, config_dir, is_macos, is_wayland, - read_kitty_resource, runtime_dir, shell_path, ssh_control_master_template + appname, + clear_handled_signals, + config_dir, + is_macos, + is_wayland, + read_kitty_resource, + runtime_dir, + shell_path, + ssh_control_master_template, ) from .fast_data_types import Color, open_tty from .rgb import to_color @@ -27,9 +31,10 @@ from .types import run_once from .typing import AddressFamily, PopenType, Socket, StartupCtx if TYPE_CHECKING: + import tarfile + from .fast_data_types import OSWindowSize from .options.types import Options - import tarfile else: Options = object @@ -978,8 +983,9 @@ def sanitize_control_codes(text: str, replace_with: str = '') -> str: def hold_till_enter() -> None: - from .constants import kitty_tool_exe import subprocess + + from .constants import kitty_tool_exe subprocess.Popen([kitty_tool_exe(), '__hold_till_enter__']).wait() @@ -1056,8 +1062,9 @@ def safer_fork() -> int: def docs_url(which: str = '', local_docs_root: Optional[str] = '') -> str: from urllib.parse import quote - from .constants import local_docs, website_url + from .conf.types import resolve_ref + from .constants import local_docs, website_url if local_docs_root is None: ld = '' else: @@ -1093,7 +1100,7 @@ def sanitize_for_bracketed_paste(text: bytes) -> bytes: @lru_cache(maxsize=64) def sanitize_url_for_dispay_to_user(url: str) -> str: - from urllib.parse import urlparse, urlunparse, unquote + from urllib.parse import unquote, urlparse, urlunparse try: purl = urlparse(url) if purl.netloc: diff --git a/kitty/window.py b/kitty/window.py index 096b89139..911691476 100644 --- a/kitty/window.py +++ b/kitty/window.py @@ -14,8 +14,19 @@ from gettext import gettext as _ from itertools import chain from time import monotonic from typing import ( - TYPE_CHECKING, Any, Callable, Deque, Dict, Iterable, List, NamedTuple, Optional, - Pattern, Sequence, Tuple, Union, + TYPE_CHECKING, + Any, + Callable, + Deque, + Dict, + Iterable, + List, + NamedTuple, + Optional, + Pattern, + Sequence, + Tuple, + Union, ) from .child import ProcessDesc @@ -23,26 +34,75 @@ from .cli_stub import CLIOptions from .clipboard import ClipboardRequestManager, set_clipboard_string from .config import build_ansi_color_table from .constants import ( - appname, clear_handled_signals, config_dir, is_macos, wakeup_io_loop, + appname, + clear_handled_signals, + config_dir, + is_macos, + wakeup_io_loop, ) from .fast_data_types import ( - BGIMAGE_PROGRAM, BLIT_PROGRAM, CELL_BG_PROGRAM, CELL_FG_PROGRAM, CELL_PROGRAM, - CELL_SPECIAL_PROGRAM, CURSOR_BEAM, CURSOR_BLOCK, CURSOR_UNDERLINE, DCS, DECORATION, - DECORATION_MASK, DIM, GLFW_MOD_CONTROL, GRAPHICS_ALPHA_MASK_PROGRAM, - GRAPHICS_PREMULT_PROGRAM, GRAPHICS_PROGRAM, MARK, MARK_MASK, NO_CURSOR_SHAPE, - NUM_UNDERLINE_STYLES, OSC, REVERSE, SCROLL_FULL, SCROLL_LINE, SCROLL_PAGE, - STRIKETHROUGH, TINT_PROGRAM, Color, KeyEvent, Screen, add_timer, add_window, - cell_size_for_window, click_mouse_cmd_output, click_mouse_url, compile_program, - current_focused_os_window_id, encode_key_for_tty, get_boss, get_click_interval, - get_options, init_cell_program, last_focused_os_window_id, mark_os_window_dirty, - mouse_selection, move_cursor_to_mouse_if_in_prompt, pt_to_px, set_titlebar_color, - set_window_logo, set_window_padding, set_window_render_data, - update_ime_position_for_window, update_window_title, update_window_visibility, + BGIMAGE_PROGRAM, + BLIT_PROGRAM, + CELL_BG_PROGRAM, + CELL_FG_PROGRAM, + CELL_PROGRAM, + CELL_SPECIAL_PROGRAM, + CURSOR_BEAM, + CURSOR_BLOCK, + CURSOR_UNDERLINE, + DCS, + DECORATION, + DECORATION_MASK, + DIM, + GLFW_MOD_CONTROL, + GRAPHICS_ALPHA_MASK_PROGRAM, + GRAPHICS_PREMULT_PROGRAM, + GRAPHICS_PROGRAM, + MARK, + MARK_MASK, + NO_CURSOR_SHAPE, + NUM_UNDERLINE_STYLES, + OSC, + REVERSE, + SCROLL_FULL, + SCROLL_LINE, + SCROLL_PAGE, + STRIKETHROUGH, + TINT_PROGRAM, + Color, + KeyEvent, + Screen, + add_timer, + add_window, + cell_size_for_window, + click_mouse_cmd_output, + click_mouse_url, + compile_program, + current_focused_os_window_id, + encode_key_for_tty, + get_boss, + get_click_interval, + get_options, + init_cell_program, + last_focused_os_window_id, + mark_os_window_dirty, + mouse_selection, + move_cursor_to_mouse_if_in_prompt, + pt_to_px, + set_titlebar_color, + set_window_logo, + set_window_padding, + set_window_render_data, + update_ime_position_for_window, + update_window_title, + update_window_visibility, wakeup_main_loop, ) from .keys import keyboard_mode_name, mod_mask from .notify import ( - NotificationCommand, handle_notification_cmd, sanitize_identifier_pat, + NotificationCommand, + handle_notification_cmd, + sanitize_identifier_pat, ) from .options.types import Options from .rgb import to_color @@ -50,9 +110,19 @@ from .terminfo import get_capabilities from .types import MouseEvent, OverlayType, WindowGeometry, ac, run_once from .typing import BossType, ChildType, EdgeLiteral, TabType, TypedDict from .utils import ( - docs_url, kitty_ansi_sanitizer_pat, load_shaders, log_error, open_cmd, open_url, - parse_color_set, path_from_osc7_url, resolve_custom_file, resolved_shell, - sanitize_for_bracketed_paste, sanitize_title, sanitize_url_for_dispay_to_user, + docs_url, + kitty_ansi_sanitizer_pat, + load_shaders, + log_error, + open_cmd, + open_url, + parse_color_set, + path_from_osc7_url, + resolve_custom_file, + resolved_shell, + sanitize_for_bracketed_paste, + sanitize_title, + sanitize_url_for_dispay_to_user, ) MatchPatternType = Union[Pattern[str], Tuple[Pattern[str], Optional[Pattern[str]]]] diff --git a/kitty_tests/__init__.py b/kitty_tests/__init__.py index f01b514c7..5737cad56 100644 --- a/kitty_tests/__init__.py +++ b/kitty_tests/__init__.py @@ -15,9 +15,7 @@ from pty import CHILD, STDIN_FILENO, STDOUT_FILENO, fork from unittest import TestCase from kitty.config import finalize_keys, finalize_mouse_mappings -from kitty.fast_data_types import ( - Cursor, HistoryBuf, LineBuf, Screen, get_options, parse_bytes, set_options -) +from kitty.fast_data_types import Cursor, HistoryBuf, LineBuf, Screen, get_options, parse_bytes, set_options from kitty.options.parse import merge_result_dicts from kitty.options.types import Options, defaults from kitty.types import MouseEvent diff --git a/kitty_tests/bench_scrollback.py b/kitty_tests/bench_scrollback.py index 5130b7eea..b8a266eab 100755 --- a/kitty_tests/bench_scrollback.py +++ b/kitty_tests/bench_scrollback.py @@ -1,10 +1,10 @@ #!/usr/bin/env python3 -from time import clock_gettime, CLOCK_MONOTONIC, sleep +import sys from argparse import ArgumentParser from random import Random from string import printable -import sys +from time import CLOCK_MONOTONIC, clock_gettime, sleep def main(): diff --git a/kitty_tests/check_build.py b/kitty_tests/check_build.py index 817e2c1e6..4aade0f40 100644 --- a/kitty_tests/check_build.py +++ b/kitty_tests/check_build.py @@ -57,9 +57,7 @@ class TestBuild(BaseTest): self.assertGreater(len(names), 8) def test_filesystem_locations(self) -> None: - from kitty.constants import ( - local_docs, logo_png_file, shell_integration_dir, terminfo_dir - ) + from kitty.constants import local_docs, logo_png_file, shell_integration_dir, terminfo_dir zsh = os.path.join(shell_integration_dir, 'zsh') self.assertTrue(os.path.isdir(terminfo_dir), f'Terminfo dir: {terminfo_dir}') self.assertTrue(os.path.exists(logo_png_file), f'Logo file: {logo_png_file}') @@ -113,8 +111,9 @@ class TestBuild(BaseTest): self.ae(docs_url('#ref=issues-123'), 'https://github.com/kovidgoyal/kitty/issues/123') def test_launcher_ensures_stdio(self): - from kitty.constants import kitty_exe import subprocess + + from kitty.constants import kitty_exe exe = kitty_exe() cp = subprocess.run([exe, '+runpy', f'''\ import os, sys diff --git a/kitty_tests/clipboard.py b/kitty_tests/clipboard.py index 72562e036..a0b6edf3b 100644 --- a/kitty_tests/clipboard.py +++ b/kitty_tests/clipboard.py @@ -2,10 +2,10 @@ # License: GPLv3 Copyright: 2022, Kovid Goyal -from . import BaseTest - from kitty.clipboard import WriteRequest +from . import BaseTest + class TestClipboard(BaseTest): diff --git a/kitty_tests/crypto.py b/kitty_tests/crypto.py index bfbe2cb56..5f4501cac 100644 --- a/kitty_tests/crypto.py +++ b/kitty_tests/crypto.py @@ -10,9 +10,7 @@ from . import BaseTest class TestCrypto(BaseTest): def test_elliptic_curve_data_exchange(self): - from kitty.fast_data_types import ( - AES256GCMDecrypt, AES256GCMEncrypt, CryptoError, EllipticCurveKey - ) + from kitty.fast_data_types import AES256GCMDecrypt, AES256GCMEncrypt, CryptoError, EllipticCurveKey alice = EllipticCurveKey() bob = EllipticCurveKey() alice_secret = alice.derive_secret(bob.public) diff --git a/kitty_tests/datatypes.py b/kitty_tests/datatypes.py index 9b6f12e81..e5f13933b 100644 --- a/kitty_tests/datatypes.py +++ b/kitty_tests/datatypes.py @@ -7,10 +7,18 @@ import tempfile from kitty.config import build_ansi_color_table, defaults from kitty.fast_data_types import ( - Color, ColorProfile, Cursor as C, HistoryBuf, LineBuf, - parse_input_from_terminal, strip_csi, truncate_point_for_length, wcswidth, - wcwidth, expand_ansi_c_escapes + Color, + ColorProfile, + HistoryBuf, + LineBuf, + expand_ansi_c_escapes, + parse_input_from_terminal, + strip_csi, + truncate_point_for_length, + wcswidth, + wcwidth, ) +from kitty.fast_data_types import Cursor as C from kitty.rgb import to_color from kitty.utils import is_path_in_temp_dir, sanitize_title, sanitize_url_for_dispay_to_user @@ -538,9 +546,7 @@ class TestDataTypes(BaseTest): q('a\x1b[12;34:43mbc', 'abc') def test_single_key(self): - from kitty.fast_data_types import ( - GLFW_MOD_KITTY, GLFW_MOD_SHIFT, SingleKey - ) + from kitty.fast_data_types import GLFW_MOD_KITTY, GLFW_MOD_SHIFT, SingleKey for m in (GLFW_MOD_KITTY, GLFW_MOD_SHIFT): s = SingleKey(mods=m) self.ae(s.mods, m) diff --git a/kitty_tests/diff.py b/kitty_tests/diff.py index 7578854e2..b99b9f8dd 100644 --- a/kitty_tests/diff.py +++ b/kitty_tests/diff.py @@ -22,7 +22,7 @@ class TestDiff(BaseTest): self.assertEqual((prefix, suffix), (src[:pc], src[-sc:] if sc else '')) def test_split_with_highlights(self): - from kittens.diff.render import split_with_highlights, Segment, truncate_points + from kittens.diff.render import Segment, split_with_highlights, truncate_points self.ae(list(truncate_points('1234567890ab', 3)), [3, 6, 9]) for line, width, prefix_count, suffix_count, expected in [ ('abcdefgh', 20, 2, 3, ('abSScdeEEfgh',)), @@ -45,8 +45,9 @@ class TestDiff(BaseTest): self.ae(['S1SaE1ES2SbcE2Ed'], split_with_highlights('abcd', 10, highlights)) def test_walk(self): - from pathlib import Path import tempfile + from pathlib import Path + from kittens.diff.collect import walk with tempfile.TemporaryDirectory() as tmpdir: diff --git a/kitty_tests/file_transmission.py b/kitty_tests/file_transmission.py index 4ddeb6c47..25c46ddc7 100644 --- a/kitty_tests/file_transmission.py +++ b/kitty_tests/file_transmission.py @@ -9,19 +9,14 @@ import tempfile import zlib from pathlib import Path -from kittens.transfer.librsync import ( - LoadSignature, PatchFile, delta_for_file, signature_of_file -) +from kittens.transfer.librsync import LoadSignature, PatchFile, delta_for_file, signature_of_file from kittens.transfer.main import parse_transfer_args from kittens.transfer.receive import File, files_for_receive from kittens.transfer.rsync import decode_utf8_buffer, parse_ftc from kittens.transfer.send import files_for_send from kittens.transfer.utils import cwd_path, expand_home, home_path, set_paths -from kitty.file_transmission import ( - Action, Compression, FileTransmissionCommand, FileType, - TestFileTransmission as FileTransmission, TransmissionType, - ZlibDecompressor, iter_file_metadata -) +from kitty.file_transmission import Action, Compression, FileTransmissionCommand, FileType, TransmissionType, ZlibDecompressor, iter_file_metadata +from kitty.file_transmission import TestFileTransmission as FileTransmission from . import BaseTest diff --git a/kitty_tests/fonts.py b/kitty_tests/fonts.py index 65f40d373..4231f16ff 100644 --- a/kitty_tests/fonts.py +++ b/kitty_tests/fonts.py @@ -9,14 +9,9 @@ import unittest from functools import partial from kitty.constants import is_macos, read_kitty_resource -from kitty.fast_data_types import ( - DECAWM, get_fallback_font, sprite_map_set_layout, sprite_map_set_limits, - test_render_line, test_sprite_position_for, wcwidth -) +from kitty.fast_data_types import DECAWM, get_fallback_font, sprite_map_set_layout, sprite_map_set_limits, test_render_line, test_sprite_position_for, wcwidth from kitty.fonts.box_drawing import box_chars -from kitty.fonts.render import ( - coalesce_symbol_maps, render_string, setup_for_testing, shape_string -) +from kitty.fonts.render import coalesce_symbol_maps, render_string, setup_for_testing, shape_string from . import BaseTest diff --git a/kitty_tests/glfw.py b/kitty_tests/glfw.py index d0e292071..38d908e1a 100644 --- a/kitty_tests/glfw.py +++ b/kitty_tests/glfw.py @@ -3,6 +3,7 @@ import sys import unittest + from . import BaseTest _plat = sys.platform.lower() @@ -42,6 +43,7 @@ class TestGLFW(BaseTest): @unittest.skipIf(is_macos, 'Skipping test on macOS because glfw-cocoa.so is not built with backend_utils') def test_utf_8_strndup(self): import ctypes + from kitty.constants import glfw_path backend_utils = glfw_path('x11') diff --git a/kitty_tests/graphics.py b/kitty_tests/graphics.py index f66e99e00..52b41f893 100644 --- a/kitty_tests/graphics.py +++ b/kitty_tests/graphics.py @@ -12,9 +12,7 @@ from dataclasses import dataclass from io import BytesIO from itertools import cycle -from kitty.fast_data_types import ( - load_png_data, parse_bytes, shm_unlink, shm_write, xor_data -) +from kitty.fast_data_types import load_png_data, parse_bytes, shm_unlink, shm_write, xor_data from . import BaseTest diff --git a/kitty_tests/hints.py b/kitty_tests/hints.py index 0811fd23a..6e56f76d5 100644 --- a/kitty_tests/hints.py +++ b/kitty_tests/hints.py @@ -2,16 +2,14 @@ # License: GPL v3 Copyright: 2018, Kovid Goyal import os + from . import BaseTest class TestHints(BaseTest): def test_url_hints(self): - from kittens.hints.main import ( - Mark, convert_text, functions_for, linenum_marks, - linenum_process_result, mark, parse_hints_args, process_escape_codes - ) + from kittens.hints.main import Mark, convert_text, functions_for, linenum_marks, linenum_process_result, mark, parse_hints_args, process_escape_codes args = parse_hints_args([])[0] pattern, post_processors = functions_for(args) @@ -54,9 +52,7 @@ class TestHints(BaseTest): m('~/file.c:23:32', os.path.expanduser('~/file.c'), 23) def test_ip_hints(self): - from kittens.hints.main import ( - convert_text, functions_for, mark, parse_hints_args - ) + from kittens.hints.main import convert_text, functions_for, mark, parse_hints_args args = parse_hints_args(['--type', 'ip'])[0] pattern, post_processors = functions_for(args) diff --git a/kitty_tests/keys.py b/kitty_tests/keys.py index 14a5ae2f8..e7ede0e81 100644 --- a/kitty_tests/keys.py +++ b/kitty_tests/keys.py @@ -4,9 +4,7 @@ from functools import partial import kitty.fast_data_types as defines -from kitty.key_encoding import ( - EventType, KeyEvent, decode_key_event, encode_key_event -) +from kitty.key_encoding import EventType, KeyEvent, decode_key_event, encode_key_event from . import BaseTest diff --git a/kitty_tests/layout.py b/kitty_tests/layout.py index 63972c22d..cff3feb78 100644 --- a/kitty_tests/layout.py +++ b/kitty_tests/layout.py @@ -2,8 +2,8 @@ # License: GPL v3 Copyright: 2018, Kovid Goyal from kitty.config import defaults -from kitty.types import WindowGeometry from kitty.layout.interface import Grid, Horizontal, Splits, Stack, Tall +from kitty.types import WindowGeometry from kitty.window import EdgeWidths from kitty.window_list import WindowList, reset_group_id_counter diff --git a/kitty_tests/main.py b/kitty_tests/main.py index 5f393c425..9806580f5 100644 --- a/kitty_tests/main.py +++ b/kitty_tests/main.py @@ -13,7 +13,16 @@ from contextlib import contextmanager from functools import lru_cache from tempfile import TemporaryDirectory from typing import ( - Any, Callable, Dict, Generator, Iterator, List, NoReturn, Optional, Sequence, Set, + Any, + Callable, + Dict, + Generator, + Iterator, + List, + NoReturn, + Optional, + Sequence, + Set, Tuple, ) diff --git a/kitty_tests/mouse.py b/kitty_tests/mouse.py index 36c74bc8e..e62ba7321 100644 --- a/kitty_tests/mouse.py +++ b/kitty_tests/mouse.py @@ -4,9 +4,13 @@ from functools import partial from kitty.fast_data_types import ( - GLFW_MOD_ALT, GLFW_MOD_CONTROL, GLFW_MOUSE_BUTTON_LEFT, - GLFW_MOUSE_BUTTON_RIGHT, create_mock_window, mock_mouse_selection, - send_mock_mouse_event_to_window + GLFW_MOD_ALT, + GLFW_MOD_CONTROL, + GLFW_MOUSE_BUTTON_LEFT, + GLFW_MOUSE_BUTTON_RIGHT, + create_mock_window, + mock_mouse_selection, + send_mock_mouse_event_to_window, ) from . import BaseTest diff --git a/kitty_tests/open_actions.py b/kitty_tests/open_actions.py index fadc8288c..aa6383b10 100644 --- a/kitty_tests/open_actions.py +++ b/kitty_tests/open_actions.py @@ -5,9 +5,10 @@ import os from contextlib import contextmanager -from . import BaseTest from kitty.utils import get_editor +from . import BaseTest + @contextmanager def patch_env(**kw): @@ -25,7 +26,7 @@ def patch_env(**kw): class TestOpenActions(BaseTest): def test_parsing_of_open_actions(self): - from kitty.open_actions import actions_for_url, KeyAction + from kitty.open_actions import KeyAction, actions_for_url self.set_options() spec = ''' protocol file diff --git a/kitty_tests/options.py b/kitty_tests/options.py index 58c02dfc7..3d535939c 100644 --- a/kitty_tests/options.py +++ b/kitty_tests/options.py @@ -2,10 +2,11 @@ # License: GPL v3 Copyright: 2018, Kovid Goyal -from . import BaseTest -from kitty.utils import log_error -from kitty.options.utils import DELETE_ENV_VAR from kitty.fast_data_types import Color +from kitty.options.utils import DELETE_ENV_VAR +from kitty.utils import log_error + +from . import BaseTest class TestConfParsing(BaseTest): @@ -20,10 +21,10 @@ class TestConfParsing(BaseTest): super().tearDown() def test_conf_parsing(self): - from kitty.config import load_config, defaults + from kitty.config import defaults, load_config from kitty.constants import is_macos + from kitty.fonts import FontModification, ModificationType, ModificationUnit, ModificationValue from kitty.options.utils import to_modifiers - from kitty.fonts import FontModification, ModificationType, ModificationValue, ModificationUnit bad_lines = [] def p(*lines, bad_line_num=0): diff --git a/kitty_tests/parser.py b/kitty_tests/parser.py index e2b600c67..6a5130b0f 100644 --- a/kitty_tests/parser.py +++ b/kitty_tests/parser.py @@ -7,10 +7,7 @@ from binascii import hexlify from functools import partial from kitty.fast_data_types import CURSOR_BLOCK, parse_bytes, parse_bytes_dump -from kitty.notify import ( - NotificationCommand, handle_notification_cmd, notification_activated, - reset_registry -) +from kitty.notify import NotificationCommand, handle_notification_cmd, notification_activated, reset_registry from . import BaseTest diff --git a/kitty_tests/prewarm.py b/kitty_tests/prewarm.py index fb9f2b961..a6b5e404b 100644 --- a/kitty_tests/prewarm.py +++ b/kitty_tests/prewarm.py @@ -11,10 +11,7 @@ import tempfile import time from kitty.constants import kitty_exe -from kitty.fast_data_types import ( - CLD_EXITED, CLD_KILLED, CLD_STOPPED, get_options, has_sigqueue, install_signal_handlers, - read_signals, sigqueue -) +from kitty.fast_data_types import CLD_EXITED, CLD_KILLED, CLD_STOPPED, get_options, has_sigqueue, install_signal_handlers, read_signals, sigqueue from . import BaseTest diff --git a/kitty_tests/screen.py b/kitty_tests/screen.py index cdea86244..d7935ad91 100644 --- a/kitty_tests/screen.py +++ b/kitty_tests/screen.py @@ -1,9 +1,7 @@ #!/usr/bin/env python3 # License: GPL v3 Copyright: 2016, Kovid Goyal -from kitty.fast_data_types import ( - DECAWM, DECCOLM, DECOM, IRM, Cursor, parse_bytes -) +from kitty.fast_data_types import DECAWM, DECCOLM, DECOM, IRM, Cursor, parse_bytes from kitty.marks import marker_from_function, marker_from_regex from kitty.window import pagerhist diff --git a/kitty_tests/search_query_parser.py b/kitty_tests/search_query_parser.py index 9e93a012d..fda28db8c 100644 --- a/kitty_tests/search_query_parser.py +++ b/kitty_tests/search_query_parser.py @@ -8,7 +8,7 @@ from . import BaseTest class TestSQP(BaseTest): def test_search_query_parser(self): - from kitty.search_query_parser import search, ParseException + from kitty.search_query_parser import ParseException, search locations = 'id' universal_set = {1, 2, 3, 4, 5} diff --git a/kitty_tests/shell_integration.py b/kitty_tests/shell_integration.py index a871160c4..3c4c3dd49 100644 --- a/kitty_tests/shell_integration.py +++ b/kitty_tests/shell_integration.py @@ -11,12 +11,10 @@ import unittest from contextlib import contextmanager from functools import lru_cache, partial -from kitty.constants import kitty_base_dir, terminfo_dir, shell_integration_dir -from kitty.fast_data_types import CURSOR_BEAM, CURSOR_BLOCK, CURSOR_UNDERLINE -from kitty.shell_integration import ( - setup_bash_env, setup_fish_env, setup_zsh_env -) from kitty.bash import decode_ansi_c_quoted_string +from kitty.constants import kitty_base_dir, shell_integration_dir, terminfo_dir +from kitty.fast_data_types import CURSOR_BEAM, CURSOR_BLOCK, CURSOR_UNDERLINE +from kitty.shell_integration import setup_bash_env, setup_fish_env, setup_zsh_env from . import BaseTest diff --git a/kitty_tests/ssh.py b/kitty_tests/ssh.py index f8380b094..1b2b1d213 100644 --- a/kitty_tests/ssh.py +++ b/kitty_tests/ssh.py @@ -6,13 +6,11 @@ import glob import os import shutil import tempfile -from functools import lru_cache from contextlib import suppress +from functools import lru_cache from kittens.ssh.config import load_config -from kittens.ssh.main import ( - bootstrap_script, get_connection_data, wrap_bootstrap_script -) +from kittens.ssh.main import bootstrap_script, get_connection_data, wrap_bootstrap_script from kittens.ssh.options.types import Options as SSHOptions from kittens.ssh.options.utils import DELETE_ENV_VAR from kittens.transfer.utils import set_paths diff --git a/logo/make.py b/logo/make.py index 27270952c..7d627f987 100755 --- a/logo/make.py +++ b/logo/make.py @@ -3,8 +3,8 @@ # License: GPL v3 Copyright: 2017, Kovid Goyal import os -import subprocess import shutil +import subprocess base = os.path.dirname(os.path.abspath(__file__)) unframed_src = os.path.join(base, 'kitty.svg') diff --git a/pyproject.toml b/pyproject.toml index 6a6c9390a..637193b7b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -19,4 +19,9 @@ no_implicit_reexport = true [tool.ruff] line-length = 160 target-version = 'py38' -select = ['E', 'F'] +select = ['E', 'F', 'I'] + +[tool.black] +line-length = 160 +target-version = ['py38'] +skip-string-normalization = true diff --git a/setup.py b/setup.py index 041d01b42..ee238281a 100755 --- a/setup.py +++ b/setup.py @@ -19,10 +19,7 @@ import time from contextlib import suppress from functools import lru_cache, partial from pathlib import Path -from typing import ( - Callable, Dict, FrozenSet, Iterable, List, Optional, Sequence, Set, Tuple, - Union, cast -) +from typing import Callable, Dict, FrozenSet, Iterable, List, Optional, Sequence, Set, Tuple, Union, cast from glfw import glfw from glfw.glfw import Command, CompileKey