git.fiddlerwoaroof.com
Raw Blame History
#!/usr/bin/env python3
'''Note, defualt is haskell mode'''

import sys

lines = []
for line in sys.stdin:
    line = line.split()
    if line == []: continue
    elif line[0] == 'import':
        qualified = line[1] == 'qualified'
        module = line[1]
        if qualified: module = line[2]
        lines.append(((1 if qualified else 0), module, len(module.split('.')), line))
    else:
        raise ValueError('Can\'t handle lines without import statements')

otoplevel = lines[0][1].split('.',1)[0]
for line in sorted(lines):
    toplevel = line[1].split('.',1)[0]
    if toplevel != otoplevel:
        print()
    print(' '.join(line[-1]))
    otoplevel = toplevel