def paste_parse(func: str, rest: str) -> FuncArgsType: text = '' try: text = python_string(rest) except Exception: log_error('Ignoring invalid paste string: ' + rest) return func, [text]
def open_url_parse(func: str, rest: str) -> FuncArgsType: from urllib.parse import urlparse url = '' try: url = python_string(rest) tokens = urlparse(url) if not all(( tokens.scheme, tokens.netloc, )): raise ValueError('Invalid URL') except Exception: log_error('Ignoring invalid URL string: ' + rest) return func, (url, )
def handle_result(args: List[str], answer: str, target_window_id: int, boss: Boss) -> None: window = boss.window_id_map.get(target_window_id) operation = args[1] direction = "" if len(args) > 2: direction = args[2] key_mapping = "" if len(args) > 3: key_mapping = args[3] if key_mapping == "": key_mapping = direction vim_id = "n?vim" if len(args) > 4 and key_mapping != 'send_text': vim_id = args[4] if window is None: return if is_window_vim(window, vim_id): if len(args) > 4 and key_mapping == 'send_text': mode, text = args[4:][-2:] window.send_text(mode, python_string(text).encode('utf-8')) else: encoded = encode_key_mapping(window, key_mapping) window.write_to_child(encoded) elif operation == 'neighboring_window': if boss.active_tab.neighboring_group_id(direction): boss.active_tab.neighboring_window(direction) else: encoded = encode_key_mapping(window, key_mapping) window.write_to_child(encoded) elif operation == 'resize_window': boss.active_tab.resize_window(direction, 1) elif operation == 'paste_from_clipboard': boss.paste_from_clipboard()
def parse_send_text_bytes(text: str) -> bytes: return python_string(text).encode('utf-8')
def replace_tab_by(self, val: str, ans: typing.Dict[str, typing.Any]) -> None: ans['replace_tab_by'] = python_string(val)