示例#1
0
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]
示例#2
0
文件: utils.py 项目: phongnh/kitty
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, )
示例#3
0
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()
示例#4
0
def parse_send_text_bytes(text: str) -> bytes:
    return python_string(text).encode('utf-8')
示例#5
0
文件: parse.py 项目: Luflosi/kitty
 def replace_tab_by(self, val: str, ans: typing.Dict[str,
                                                     typing.Any]) -> None:
     ans['replace_tab_by'] = python_string(val)