Skip to content

Commit

Permalink
Change horizontal position to match indent offset
Browse files Browse the repository at this point in the history
  • Loading branch information
mwean committed Aug 14, 2014
1 parent e2b2c8f commit c2c9681
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 7 deletions.
2 changes: 1 addition & 1 deletion jump_along_indent.py
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ def deselect(self):
def target_point(self, matched_row=None):
matched_row = matched_row or self.scanner.scan(self.direction, self.indent_offset)
matched_point_bol = self.view.text_point(matched_row, 0)
return self.view.text_point(matched_row, self.view_helper.target_column(matched_point_bol))
return self.view.text_point(matched_row, self.view_helper.target_column(matched_point_bol, self.indent_offset))


class JumpNextIndentCommand(JumpIndentCommand, sublime_plugin.TextCommand):
Expand Down
6 changes: 3 additions & 3 deletions tests/test_jump_offset_indent.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ def test_positive_indent_offset(self):
'Lorem ipsum dolor sit amet'
]
starting_selection = [57, 57]
ending_selection = [0, 0]
ending_selection = [2, 2]

self.check_command(lines, starting_selection, ending_selection, indent_offset = 1)

Expand All @@ -24,7 +24,7 @@ def test_negative_indent_offset(self):
' Lorem ipsum dolor sit amet'
]
starting_selection = [59, 59]
ending_selection = [32, 32]
ending_selection = [30, 30]

self.check_command(lines, starting_selection, ending_selection, indent_offset = -1)

Expand All @@ -37,6 +37,6 @@ def test_block_skip(self):
' Lorem ipsum dolor sit amet'
]
starting_selection = [57, 57]
ending_selection = [30, 30]
ending_selection = [28, 28]

self.check_command(lines, starting_selection, ending_selection, indent_offset = -1)
8 changes: 5 additions & 3 deletions view_helper.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,13 +33,15 @@ def cursor_at_top_of_selection(self):
def cursor_at_bottom_of_selection(self):
return self.initial_selection().b > self.initial_selection().a

def target_column(self, target):
def target_column(self, target, indent_offset):
tab_size = self.view.settings().get("tab_size")
offset_column = self.initial_column() + tab_size * indent_offset
end_of_line = self.view.rowcol(self.find_eol(target))[1]

if self.initial_column() > end_of_line:
if offset_column > end_of_line:
return end_of_line
else:
return self.initial_column()
return offset_column

def find_eol(self, point):
return self.view.line(point).end()
Expand Down

0 comments on commit c2c9681

Please sign in to comment.