Example #1
0
def rel_pos(abs_pos, source):
    """Return relative position (line, character) in source based."""
    lines = StringIO(source).readlines()
    assert len(''.join(lines)) >= abs_pos
    while len(''.join(lines)) > abs_pos:
        assert len(''.join(lines)) >= abs_pos
        lines.pop()
    return len(lines) + 1, abs_pos - len(''.join(lines))
Example #2
0
def rel_pos(abs_pos, source):
    """Return relative position (line, character) in source based."""
    lines = StringIO(source).readlines()
    assert len(''.join(lines)) >= abs_pos
    while len(''.join(lines)) > abs_pos:
        assert len(''.join(lines)) >= abs_pos
        lines.pop()
    return len(lines) + 1, abs_pos - len(''.join(lines))
Example #3
0
def rel_pos(abs_pos, source):
    """Given absolute position, return relative (line, character) in source."""
    lines = StringIO(source).readlines()
    nchars = len(source)
    assert nchars >= abs_pos
    while nchars > abs_pos:
        assert nchars >= abs_pos
        nchars -= len(lines[-1])
        lines.pop()
    return len(lines) + 1, abs_pos - len(''.join(lines))
Example #4
0
def rel_pos(abs_pos, source):
    """Given absolute position, return relative (line, character) in source."""
    lines = StringIO(source).readlines()
    nchars = len(source)
    assert nchars >= abs_pos
    while nchars > abs_pos:
        assert nchars >= abs_pos
        nchars -= len(lines[-1])
        lines.pop()
    return len(lines) + 1, abs_pos - len(''.join(lines))