def set_repeat_data(view, data: tuple) -> None: # The structure of {data}: # # ( # {type}, # {command_data}, # {mode}, # {visual_data} # ) # # arg | type | description # ---------------|---------------|------------ # {type} | str | "vi" or "native". # {command_data} | str or tuple | e.g. "x" or ("insert", {"characters": "hello"}) # {mode} | str | e.g. "mode_insert" # {visual_data} | None or tuple | e.g. (0, 4, "mode_visual") # # * {command_data} can be a string key sequence or a command with args. # * {visual_data} can be a tuple ({start_pt}, {end_pt}, {mode}). # # Examples: # # ( "native", ("insert", {"characters": "fizz"}), "mode_insert", None ) # ( "vi", "x", "mode_normal", (0, 4, "mode_visual") ) # ( "native", ("sequence", {"commands": [["insert", {"characters": "fizz"}], ["left_delete", None]]}), "mode_insert", None ) # noqa: 501 # assert isinstance(data, tuple) or isinstance( data, list), 'bad call' # TODO remove assertion assert len(data) == 4, 'bad call' # TODO remove assertion set_session_view_value(view, 'repeat_data', data)
def set_motion(view, value) -> None: serialized = value.serialize() if value else None set_session_view_value(view, 'motion', serialized)
def set_action_count(view, value: str) -> None: assert value == '' or value.isdigit(), 'bad call' # TODO Remove assertion set_session_view_value(view, 'action_count', value)
def set_glue_until_normal_mode(view, value: bool) -> None: set_session_view_value(view, 'glue_until_normal_mode', value)
def set_sequence(view, value: str) -> None: set_session_view_value(view, 'sequence', value)
def set_must_capture_register_name(view, value: bool) -> None: set_session_view_value(view, 'must_capture_register_name', value)
def set_register(view, value: str) -> None: assert len(str( value)) == 1, '`value` must be a character' # TODO Remove assertion set_session_view_value(view, 'register', value) set_must_capture_register_name(view, False)
def set_xpos(view, value: int) -> None: assert isinstance(value, int), '`value` must be an int' # TODO Remove assertion set_session_view_value(view, 'xpos', value)
def set_processing_notation(view, value: bool) -> None: return set_session_view_value(view, 'processing_notation', value)
def set_interactive(view, value: bool) -> None: # Indicate if prompts should be interactive or suppressed (non-interactive). # For example, cmdline and search input collecting: :ls<CR> and /foo<CR>. set_session_view_value(view, 'interactive', value)
def set_normal_insert_count(view, value: int) -> None: set_session_view_value(view, 'normal_insert_count', value)
def set_mode(view, value: str) -> None: set_session_view_value(view, 'mode', value)
def set_action_count(view, value: str) -> None: # TODO Is this check necessary; this was an assertion which are disabled in <4000 which is good if value != '' and not value.isdigit(): raise ValueError() set_session_view_value(view, 'action_count', value)