def run(self, edit, repeat=1, extend=False): repeat = int(repeat) if repeat > 1: for i in range(repeat - 1): self.view.run_command("move", {"by": "lines", "extend": extend, "forward": True}) transform_selection(self.view, lambda pt: self.view.line(pt).b, extend=extend, clip_to_line=False)
def run(self, edit, repeat, extend=True): line_nr = self.view.rowcol(self.view.sel()[0].a)[0] if \ int(repeat) == 1 else int(repeat) - 1 point = self.view.line(self.view.text_point(line_nr, 0)).a point = advance_while_white_space_character(self.view, point) transform_selection(self.view, lambda pt: point, extend) self.view.run_command('show_at_center')
def run(self, edit, forward=True, extend=False, visual=False): delta = 1 if forward else -1 transform_selection(self.view, lambda pt: pt + delta, extend=extend, clip_to_line=(not visual))
def run(self, edit, repeat = 1, extend = False, register = '"'): # According to Vim's help, _ moves count - 1 lines downward. for i in range(repeat - 1): self.view.run_command('move', {'by': 'lines', 'forward': True, 'extend': extend}) transform_selection(self.view, lambda pt: self.first_character(pt), extend=extend)
def run(self, edit, repeat, extend=False): bos = self.view.visible_region().a caret = self.view.line(self.view.sel()[0].begin()).a offset = self.view.rowcol(caret)[0] - self.view.rowcol(bos)[0] caret = advance_while_white_space_character(self.view, caret) transform_selection(self.view, lambda pt: caret, extend) self.view.run_command('scroll_lines', {'amount': -offset})
def move_by_percent(self, percent): destination = int( self.view.rowcol(self.view.size())[0] * (percent / 100.0)) destination = self.view.line(self.view.text_point(destination, 0)).a destination = advance_while_white_space_character( self.view, destination) transform_selection(self.view, lambda pt: destination)
def run(self, edit, repeat = 1, extend = False): repeat = int(repeat) if repeat > 1: for i in range(repeat - 1): self.view.run_command('move', {'by': 'lines', 'extend': extend, 'forward': True}) transform_selection(self.view, lambda pt: self.view.line(pt).b, extend=extend, clip_to_line=False)
def run(self, edit, character, extend = False, forward = True, before = False, record = True): if record: global g_last_move_command g_last_move_command = {'character': character, 'extend': extend, 'forward':forward, 'before':before} transform_selection(self.view, lambda pt: self.find_next(forward, character, before, pt), extend=extend)
def run(self, edit, repeat=1, explicit_repeat=True, extend=False, ending="eof"): # G or gg if not explicit_repeat: self.view.run_command("move_to", {"to": ending, "extend": extend}) # <count>G or <count>gg else: new_address = int(repeat) - 1 target_pt = self.view.text_point(new_address, 0) transform_selection(self.view, lambda pt: target_pt, extend=extend)
def run(self, edit, extend = True): screenful = self.view.visible_region() row_a = self.view.rowcol(screenful.a)[0] row_b = self.view.rowcol(screenful.b)[0] middle_row = (row_a + row_b) / 2 middle_point = self.view.text_point(middle_row, 0) middle_point = advance_while_white_space_character(self.view, middle_point) transform_selection(self.view, lambda pt: middle_point, extend=extend)
def run(self, edit, repeat=1, explicit_repeat=True, extend=False, ending='eof'): # G or gg if not explicit_repeat: self.view.run_command('move_to', {'to': ending, 'extend':extend}) # <count>G or <count>gg else: new_address = int(repeat) - 1 target_pt = self.view.text_point(new_address, 0) transform_selection(self.view, lambda pt: target_pt, extend=extend)
def run(self, edit, repeat, extend = True): # Don't modify offset so not fully visible regions have a lower chance # of scrolling the screen. # lines_offset = int(repeat) - 1 lines_offset = int(repeat) screenful = self.view.visible_region() target = screenful.begin() for x in range(lines_offset): current_line = self.view.line(target) target = current_line.b + 1 target = advance_while_white_space_character(self.view, target) transform_selection(self.view, lambda pt: target, extend=extend)
def run(self, edit, repeat=1): repeat = int(repeat) if repeat == 1: re_brackets = re.compile(r"([(\[{])|([)}\])])") def move_to_next_bracket(pt): line = self.view.line(pt) remaining_line = self.view.substr(sublime.Region(pt, line.b)) match = re_brackets.search(remaining_line) if match: return pt + match.start() + (1 if match.group(2) else 0) else: return pt transform_selection(self.view, move_to_next_bracket, extend=True) self.view.run_command("move_to", {"to": "brackets", "extend": True, "force_outer": True}) else: self.move_by_percent(repeat)
def run(self, edit, repeat=1, extend=False, register='"'): # According to Vim's help, _ moves count - 1 lines downward. for i in range(repeat - 1): self.view.run_command("move", {"by": "lines", "forward": True, "extend": extend}) transform_selection(self.view, lambda pt: self.first_character(pt), extend=extend)
def run(self, edit, character, extend=False, forward=True, before=False, record=True): if record: global g_last_move_command g_last_move_command = {"character": character, "extend": extend, "forward": forward, "before": before} transform_selection(self.view, lambda pt: self.find_next(forward, character, before, pt), extend=extend)
def run(self, edit, forward = True, extend = False, visual = False): delta = 1 if forward else -1 transform_selection(self.view, lambda pt: pt + delta, extend=extend, clip_to_line=(not visual))
def run(self, edit, forward = True, extend = False, visual = False): delta = 1 if forward else -1 transform_selection(self.view, lambda pt: self.advance(delta, visual, pt), extend=extend)
def move_by_percent(self, percent): destination = int(self.view.rowcol(self.view.size())[0] * (percent / 100.0)) destination = self.view.line(self.view.text_point(destination, 0)).a destination = advance_while_white_space_character(self.view, destination) transform_selection(self.view, lambda pt: destination)