def run(self, edit, line_range=None): if not line_range['text_range']: # No-op: user issued ":". return ranges, _ = ex_range.new_calculate_range(self.view, line_range) a, b = ranges[0] self.view.run_command('vi_go_to_line', {'line': b}) self.view.show(self.view.sel()[0])
def testCalculateCorrectRange(self): values = ( (new_calculate_range(g_test_view, '0'), [(0, 0)]), (new_calculate_range(g_test_view, '1'), [(1, 1)]), (new_calculate_range(g_test_view, '1,1'), [(1, 1)]), (new_calculate_range(g_test_view, '%,1'), [(1, 538)]), (new_calculate_range(g_test_view, '1,%'), [(1, 538)]), (new_calculate_range(g_test_view, '1+99,160-10'), [(100, 150)]), (new_calculate_range(g_test_view, '/THIRTY/+10,100'), [(40, 100)]), ) select_line(g_test_view, 31) values += ( (new_calculate_range(g_test_view, '10,/THIRTY/'), [(10, 31)]), (new_calculate_range(g_test_view, '10;/THIRTY/'), [(10, 30)]), ) for actual, expected in values: self.assertEquals(actual, expected)