/
githubmirror
/
nbs
Обзор
Документация
Войти
/
githubmirror
/
nbs
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
contrib/python/prompt-toolkit/py3/prompt_toolkit/selection.py
58 строк
1 KB
Anton Myagkov
Update ydb version to 24.4 (#4579)
07 фев 2026, 11:59
Не верифицирован
07 фев 2026, 11:59
2c21cae
Код
Авторство
О чём код?
""" Data structures for the selection. """ from __future__ import annotations from enum import Enum __all__ = [ "SelectionType", "PasteMode", "SelectionState", ] class SelectionType(Enum): """ Type of selection. """ #: Characters. (Visual in Vi.) CHARACTERS = "CHARACTERS" #: Whole lines. (Visual-Line in Vi.) LINES = "LINES" #: A block selection. (Visual-Block in Vi.) BLOCK = "BLOCK" class PasteMode(Enum): EMACS = "EMACS" # Yank like emacs. VI_AFTER = "VI_AFTER" # When pressing 'p' in Vi. VI_BEFORE = "VI_BEFORE" # When pressing 'P' in Vi. class SelectionState: """ State of the current selection. :param original_cursor_position: int :param type: :class:`~.SelectionType` """ def __init__( self, original_cursor_position: int = 0, type: SelectionType = SelectionType.CHARACTERS, ) -> None: self.original_cursor_position = original_cursor_position self.type = type self.shift_mode = False def enter_shift_mode(self) -> None: self.shift_mode = True def __repr__(self) -> str: return f"{self.__class__.__name__}(original_cursor_position={self.original_cursor_position!r}, type={self.type!r})"