#!/usr/bin/env python3
import sys
import re

pattern = re.compile(r"^#\s*Slide\s+(\d+)(.*)$")

def main():
    if len(sys.argv) < 2:
        print("Usage: renumber_slides.py <filename>")
        sys.exit(1)

    path = sys.argv[1]

    print()
    print(f"Open {path}")
    with open(path, "r", encoding="utf-8") as f:
        lines = f.readlines()

    slide_no = 1
    new_lines = []
    for line in lines:
        m = pattern.match(line)
        if m:
            # 先頭の # Slide N ... を連番に振り直す
            rest = m.group(2)
            new_line = f"# Slide {slide_no}{rest}\n"
            print(f"{line.strip()} => {new_line.strip()}")
            slide_no += 1
            new_lines.append(new_line)
        else:
            new_lines.append(line)

    with open(path, "w", encoding="utf-8") as f:
        f.writelines(new_lines)
    print(f"{path} has been updated")

if __name__ == "__main__":
    main()
