コード例 #1
0
ファイル: utils.py プロジェクト: justin-roche/spacemacs-talon
def range_select(m):
    i = -1
    if m._words[2] == "to":
        i = 2
    if m._words[3] == "to":
        i = 3
    line_number_1 = parse_words_as_integer(m._words[1:i])
    line_number_2 = parse_words_as_integer(m._words[i:])
    Str(str(line_number_1))(None)
コード例 #2
0
def select_lines_function(m):
    divider = 0
    for word in m._words:
        if str(word) == 'until':
            break
        divider += 1
    line_number_from = int(str(parse_words_as_integer(m._words[2:divider])))
    line_number_until = int(str(parse_words_as_integer(m._words[divider +
                                                                1:])))
    number_of_lines = line_number_until - line_number_from

    press('cmd-l')
    Str(str(line_number_from))(None)
    press('enter')
    for i in range(0, number_of_lines + 1):
        press('shift-down')
コード例 #3
0
def repeat(m):
    repeat_count = parse_words_as_integer(m._words[1:])

    if repeat_count != None and repeat_count >= 2:
        repeater = Rep(repeat_count - 1)
        repeater.ctx = talon
        return repeater(None)
コード例 #4
0
def jump_to_line(m):
    line_number = parse_words_as_integer(m._words[1:])

    if line_number == None:
        return

    # Zeroth line should go to first line
    if line_number == 0:
        line_number = 1

    # TODO: Directly interface with VSCode to accomplish the following

    # Open the jump to line input
    press('ctrl-g')

    # TODO: If requesting line that is beyond the end of the focused document, jump to last line instead

    # Enter whole line number data as if from keyboard
    Str(str(line_number))(None)

    # Confirm the navigation
    press('enter')

    # Position cursor at the beginning of meaningful text on the current line (Mac OS X)
    press('cmd-right')
    press('cmd-left')
コード例 #5
0
    def scroll(m):
        numberOfTimes = parse_words_as_integer(m._words)
        if numberOfTimes == None:
            numberOfTimes = 1

        for i in range(0, numberOfTimes):
            ctrl.mouse_scroll(direction * distanceY, direction * distanceX)
コード例 #6
0
def close_tab(m, tab_number=None):
    if tab_number is None:
        tab_number = parse_words_as_integer(m._words[2:])

    if tab_number != None and tab_number > 0 and tab_number < 10:
        press('cmd-%s' % tab_number)
        press('cmd-w')
コード例 #7
0
def repeat(m):
    repeat_count = parse_words_as_integer(m._words[1:])
    print(talon.last)

    if repeat_count is not None and repeat_count >= 2:
        repeater = Rep(repeat_count - 1)
        repeater.ctx = talon
        return repeater(None)
コード例 #8
0
def jump_tabs(m):
    line_number = parse_words_as_integer(m._words[1:])

    if line_number == None:
        return

    for i in range(0, line_number):
        press('cmd-alt-right')
コード例 #9
0
def jump_to_line(m):
    line_number = parse_words_as_integer(m._words[1:])

    if line_number == None:
        return

    # Zeroth line should go to first line
    if line_number == 0:
        line_number = 1

    press('cmd-l')
    Str(str(line_number))(None)
    press('enter')
コード例 #10
0
    def scroll(m):
        total_time = 0.11
        interval = 0.007
        depth = int(total_time // interval)
        split = amount / depth
        numberOfTimes = parse_words_as_integer(m._words)
        if numberOfTimes == None:
            numberOfTimes = 1

        for i in range(0, numberOfTimes):
            for x in range(depth):
                ctrl.mouse_scroll(y=split)
                time.sleep(interval)
コード例 #11
0
ファイル: ch.py プロジェクト: christianhultin/Talon-Scripts
def go_direction(m):
    direction_type = m._words[0].word

    if (direction_type == 'left') or (direction_type == 'right'):
        direction_type = 'alt-' + direction_type

    line_number = parse_words_as_integer(m._words[1:])

    if line_number == None:
        line_number = 1

    for i in range(0, line_number):
        press(direction_type)
コード例 #12
0
def move_mouse_relative(m):
    direction_type = m._words[1].word
    multiplier = 100
    pixels_to_travel = parse_words_as_integer(m._words[2:]) * multiplier
    if pixels_to_travel == None:
        return
    direction_vector = {
        'up': (0, -1),
        'right': (1, 0),
        'down': (0, 1),
        'left': (-1, 0)
    }[direction_type]
    (x, y) = ctrl.mouse_pos()
    ctrl.mouse_move(x + direction_vector[0] * pixels_to_travel,
                    y + direction_vector[1] * pixels_to_travel)
コード例 #13
0
def fold_level(m):
    line_number = parse_words_as_integer(m._words)
    if line_number > 9:
        return
    press('cmd-k')
    press('cmd-' + str(line_number))
コード例 #14
0
def jump_tab(m):
    tab_number = parse_words_as_integer(m._words[1:])
    if tab_number != None and tab_number > 0 and tab_number < 10:
        command = 'cmd-' + str(tab_number)
        press(command)
コード例 #15
0
def jump_tab(m):
    tab_number = parse_words_as_integer(m._words[1:])
    if tab_number != None and tab_number > 0 and tab_number < 9:
        press('cmd-%s' % tab_number)
コード例 #16
0
ファイル: utils.py プロジェクト: justin-roche/spacemacs-talon
def del_action(m):
    line_number = parse_words_as_integer(m._words[1:])
    for a in range(0, line_number):
        press('backspace')