Skip to content

Commit 3f3ae13

Browse files
author
whitequark
committedSep 2, 2015
source.Range.column_range: clamp to first line.
1 parent d2e0d1b commit 3f3ae13

File tree

2 files changed

+7
-2
lines changed

2 files changed

+7
-2
lines changed
 

Diff for: ‎pythonparser/source.py

+6-2
Original file line numberDiff line numberDiff line change
@@ -125,9 +125,13 @@ def column(self):
125125
def column_range(self):
126126
"""
127127
Returns a [*begin*, *end*) tuple describing the range of columns spanned
128-
by this range.
128+
by this range. If range spans more than one line, returned *end* is
129+
the last column of the line.
129130
"""
130-
return self.begin().column(), self.end().column()
131+
if self.begin().line() == self.end().line():
132+
return self.begin().column(), self.end().column()
133+
else:
134+
return self.begin().column(), len(self.begin().source_line()) - 1
131135

132136
def line(self):
133137
"""

Diff for: ‎pythonparser/test/test_source.py

+1
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@ def test_column_range(self):
6161
self.assertEqual((2,2), self.range(2, 2).column_range())
6262
self.assertEqual((0,2), self.range(9, 11).column_range())
6363
self.assertEqual((2,2), self.range(11, 11).column_range())
64+
self.assertEqual((0,8), self.range(0, 11).column_range())
6465

6566
def test_line(self):
6667
self.assertEqual(1, self.range(2, 2).line())

0 commit comments

Comments
 (0)
Please sign in to comment.