#! /usr/bin/env python3

import os
import sys


# for name in os.environ.keys():
#     print("key " + name + " = " + os.environ[name])


def print_output(cmd: str, prefix: str) -> None:
    pipe_out = os.popen(cmd, mode='br')

    for line in pipe_out:
        term = "/" if os.path.isdir(line.strip()) else ""
        print(f"{prefix}{line.strip()}{term}")

    pipe_out.close()


def main() -> int:
    if "COMMAND_LINE" not in os.environ:
        print("Fancy completion is not supported by your version of tcsh.")
        return 1

    cmd_line = os.environ["COMMAND_LINE"]

    url = cmd_line.split()[2]
    directory = "/" + url.split('/', 3)[3]

    prefix = "file:/"

    if directory[-1] != "/":
        directory = directory.rpartition("/")[0] + "/"

    print_output(f"svn ls file://{directory}", f"{prefix}/{directory}")
    print_output(f"ls -d /{directory}*", prefix)
    return 0


if __name__ == '__main__':
    sys.exit(main())
