No top level typing issues for kittens
This commit is contained in:
parent
c9ce2f47dc
commit
36eb52424f
@ -4,12 +4,13 @@
|
|||||||
|
|
||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
|
from contextlib import suppress
|
||||||
from functools import lru_cache
|
from functools import lru_cache
|
||||||
from hashlib import md5
|
from hashlib import md5
|
||||||
from mimetypes import guess_type
|
from mimetypes import guess_type
|
||||||
from contextlib import suppress
|
from typing import Dict
|
||||||
|
|
||||||
path_name_map = {}
|
path_name_map: Dict[str, str] = {}
|
||||||
|
|
||||||
|
|
||||||
class Segment:
|
class Segment:
|
||||||
@ -146,13 +147,17 @@ def data_for_path(path):
|
|||||||
return ans
|
return ans
|
||||||
|
|
||||||
|
|
||||||
|
class LinesForPath:
|
||||||
|
|
||||||
|
replace_tab_by = ' ' * 4
|
||||||
|
|
||||||
@lru_cache(maxsize=1024)
|
@lru_cache(maxsize=1024)
|
||||||
def lines_for_path(path):
|
def __call__(self, path):
|
||||||
data = data_for_path(path).replace('\t', lines_for_path.replace_tab_by)
|
data = data_for_path(path).replace('\t', self.replace_tab_by)
|
||||||
return tuple(sanitize(data).splitlines())
|
return tuple(sanitize(data).splitlines())
|
||||||
|
|
||||||
|
|
||||||
lines_for_path.replace_tab_by = ' ' * 4
|
lines_for_path = LinesForPath()
|
||||||
|
|
||||||
|
|
||||||
@lru_cache(maxsize=1024)
|
@lru_cache(maxsize=1024)
|
||||||
|
|||||||
@ -3,18 +3,17 @@
|
|||||||
# License: GPL v3 Copyright: 2018, Kovid Goyal <kovid at kovidgoyal.net>
|
# License: GPL v3 Copyright: 2018, Kovid Goyal <kovid at kovidgoyal.net>
|
||||||
|
|
||||||
|
|
||||||
|
from functools import partial
|
||||||
# Utils {{{
|
# Utils {{{
|
||||||
from gettext import gettext as _
|
from gettext import gettext as _
|
||||||
from functools import partial
|
from typing import Dict, Union
|
||||||
|
|
||||||
from kitty.conf.definition import option_func
|
from kitty.conf.definition import Option, Shortcut, option_func
|
||||||
from kitty.conf.utils import (
|
from kitty.conf.utils import positive_int, python_string, to_color
|
||||||
positive_int, python_string, to_color
|
|
||||||
)
|
|
||||||
|
|
||||||
# }}}
|
# }}}
|
||||||
|
|
||||||
all_options = {}
|
all_options: Dict[str, Union[Option, Shortcut]] = {}
|
||||||
o, k, g, all_groups = option_func(all_options, {
|
o, k, g, all_groups = option_func(all_options, {
|
||||||
'colors': [_('Colors')],
|
'colors': [_('Colors')],
|
||||||
'diff': [_('Diffing'), ],
|
'diff': [_('Diffing'), ],
|
||||||
@ -121,4 +120,4 @@ k('prev_match', '<', 'scroll_to prev-match', _('Scroll to previous search match'
|
|||||||
k('search_forward_simple', 'f', 'start_search substring forward', _('Search forward (no regex)'))
|
k('search_forward_simple', 'f', 'start_search substring forward', _('Search forward (no regex)'))
|
||||||
k('search_backward_simple', 'b', 'start_search substring backward', _('Search backward (no regex)'))
|
k('search_backward_simple', 'b', 'start_search substring backward', _('Search backward (no regex)'))
|
||||||
|
|
||||||
type_map = {o.name: o.option_type for o in all_options.values() if hasattr(o, 'option_type')}
|
type_map = {o.name: o.option_type for o in all_options.values() if isinstance(o, Option)}
|
||||||
|
|||||||
14
kittens/diff/diff_speedup.pyi
Normal file
14
kittens/diff/diff_speedup.pyi
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
from typing import List, Optional, Tuple
|
||||||
|
|
||||||
|
from .collect import Segment
|
||||||
|
|
||||||
|
|
||||||
|
def split_with_highlights(
|
||||||
|
line: str, truncate_points: List[int], fg_highlights: List,
|
||||||
|
bg_highlight: Optional[Segment]
|
||||||
|
) -> List:
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
def changed_center(left_prefix: str, right_postfix: str) -> Tuple[int, int]:
|
||||||
|
pass
|
||||||
@ -6,10 +6,10 @@ import concurrent
|
|||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
|
|
||||||
from pygments import highlight
|
from pygments import highlight # type: ignore
|
||||||
from pygments.formatter import Formatter
|
from pygments.formatter import Formatter # type: ignore
|
||||||
from pygments.lexers import get_lexer_for_filename
|
from pygments.lexers import get_lexer_for_filename # type: ignore
|
||||||
from pygments.util import ClassNotFound
|
from pygments.util import ClassNotFound # type: ignore
|
||||||
|
|
||||||
from kitty.rgb import color_as_sgr, parse_sharp
|
from kitty.rgb import color_as_sgr, parse_sharp
|
||||||
|
|
||||||
|
|||||||
@ -71,7 +71,7 @@ def set_line_wrapping(yes_or_no: bool) -> str:
|
|||||||
|
|
||||||
|
|
||||||
def set_cursor_visible(yes_or_no: bool) -> str:
|
def set_cursor_visible(yes_or_no: bool) -> str:
|
||||||
return set_mode('DECTEM') if yes_or_no else reset_mode('DECTCEM')
|
return set_mode('DECTCEM') if yes_or_no else reset_mode('DECTCEM')
|
||||||
|
|
||||||
|
|
||||||
def set_cursor_position(x, y) -> str: # (0, 0) is top left
|
def set_cursor_position(x, y) -> str: # (0, 0) is top left
|
||||||
|
|||||||
@ -719,6 +719,10 @@ def set_window_render_data(
|
|||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
def truncate_point_for_length(text: str, num_cells: int, start_pos: int = 0) -> int:
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
class ChildMonitor:
|
class ChildMonitor:
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
|
|||||||
@ -1866,7 +1866,7 @@ screen_wcswidth(PyObject UNUSED *self, PyObject *str) {
|
|||||||
static PyObject*
|
static PyObject*
|
||||||
screen_truncate_point_for_length(PyObject UNUSED *self, PyObject *args) {
|
screen_truncate_point_for_length(PyObject UNUSED *self, PyObject *args) {
|
||||||
PyObject *str; unsigned int num_cells, start_pos = 0;
|
PyObject *str; unsigned int num_cells, start_pos = 0;
|
||||||
if (!PyArg_ParseTuple(args, "OI|I", &str, &num_cells, &start_pos)) return NULL;
|
if (!PyArg_ParseTuple(args, "UI|I", &str, &num_cells, &start_pos)) return NULL;
|
||||||
if (PyUnicode_READY(str) != 0) return NULL;
|
if (PyUnicode_READY(str) != 0) return NULL;
|
||||||
int kind = PyUnicode_KIND(str);
|
int kind = PyUnicode_KIND(str);
|
||||||
void *data = PyUnicode_DATA(str);
|
void *data = PyUnicode_DATA(str);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user