[ create a new paste ] login | about

Link: http://codepad.org/AYjzrZys    [ raw code | output | fork | 1 comment ]

RogerPate - Python, pasted on Jan 8:
def expandtabs_in_line(line, tabstops, default, space):
  result = ""
  for c in line:
    if c != "\t":
      result += c
    else:
      for stop in tabstops:
        if stop > len(result):
          result += space * (stop - len(result))
          break
      else:
        result += space * (default - (len(result) % default))
  return result

def expandtabs(lines, tabstops=[], default=8):
  for line in lines:
    yield expandtabs_in_line(line, tabstops, default, " ")

print "\n".join(expandtabs("""
\tzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
zzzzz\tzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
zzzzzzzz\tzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
\t\t\tzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
zzzzzzzzzzzzzzzzzz\tzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
z\tz\tz\tz\tzz\tz\tzzzzzzzzzzzzzzzzzzzzzz
""".split("\n"), [5, 8, 10], 8))


Output:
1
2
3
4
5
6
7
8

     zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
zzzzz   zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
zzzzzzzz  zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
          zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
zzzzzzzzzzzzzzzzzz      zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
z    z  z z     zz      z       zzzzzzzzzzzzzzzzzzzzzz



Create a new paste based on this one


Comments:
posted by RogerPate on Jan 8
reply