Example #1
0
def _logical_start(lines, lineno, check_prev=False):
    logical_finder = LogicalLineFinder(ArrayLinesAdapter(lines))
    if check_prev:
        prev = lineno - 1
        while prev > 0:
            start, end = logical_finder.logical_line_in(prev)
            if end is None or start <= lineno < end:
                return start
            if start <= prev:
                break
            prev -= 1
    return logical_finder.logical_line_in(lineno)[0]
Example #2
0
def _logical_start(lines, lineno, check_prev=False):
    logical_finder = LogicalLineFinder(ArrayLinesAdapter(lines))
    if check_prev:
        prev = lineno - 1
        while prev > 0:
            start, end = logical_finder.logical_line_in(prev)
            if end is None or start <= lineno < end:
                return start
            if start <= prev:
                break
            prev -= 1
    return logical_finder.logical_line_in(lineno)[0]
Example #3
0
 def test_generating_line_starts3(self):
     code = 'a = 1\na = 2\n\na = \\ 3\n'
     line_finder = LogicalLineFinder(SourceLinesAdapter(code))
     self.assertEquals([2], list(line_finder.generate_starts(2, 3)))
Example #4
0
 def _logical_finder(self, code):
     return LogicalLineFinder(SourceLinesAdapter(code))
Example #5
0
 def test_generating_line_starts3(self):
     code = 'a = 1\na = 2\n\na = \\ 3\n'
     line_finder = LogicalLineFinder(SourceLinesAdapter(code))
     self.assertEquals([2], list(line_finder.generate_starts(2, 3)))