mirror of
https://github.com/Aider-AI/aider.git
synced 2025-05-19 20:05:00 +00:00

The following files had unused imports removed: - `scripts/30k-image.py` - `scripts/dl_icons.py` - `scripts/redact-cast.py`
62 lines
1.7 KiB
Python
Executable file
62 lines
1.7 KiB
Python
Executable file
#!/usr/bin/env python3
|
|
import json
|
|
import sys
|
|
|
|
import pyte
|
|
from tqdm import tqdm
|
|
|
|
from aider.dump import dump # noqa
|
|
|
|
|
|
def main():
|
|
if len(sys.argv) != 3:
|
|
print(f"Usage: {sys.argv[0]} input_cast_file output_cast_file")
|
|
sys.exit(1)
|
|
|
|
input_file = sys.argv[1]
|
|
output_file = sys.argv[2]
|
|
|
|
# Count total lines for progress bar
|
|
total_lines = sum(1 for _ in open(input_file, "r"))
|
|
|
|
with open(input_file, "r") as fin, open(output_file, "w") as fout:
|
|
# Process header
|
|
header = fin.readline().strip()
|
|
fout.write(header + "\n")
|
|
|
|
# Parse header for terminal dimensions
|
|
header_data = json.loads(header)
|
|
width = header_data.get("width", 80)
|
|
height = header_data.get("height", 24)
|
|
print(f"Terminal dimensions: {width}x{height}")
|
|
|
|
screen = pyte.Screen(width, height)
|
|
stream = pyte.Stream(screen)
|
|
|
|
# Process events line by line
|
|
for line in tqdm(fin, desc="Processing events", total=total_lines - 1):
|
|
if not line.strip():
|
|
continue
|
|
|
|
event = json.loads(line)
|
|
|
|
if not (len(event) >= 3 and event[1] == "o"):
|
|
fout.write(line)
|
|
continue
|
|
|
|
output_text = event[2]
|
|
stream.feed(output_text)
|
|
|
|
# Check if "Atuin" is visible on screen
|
|
atuin_visible = False
|
|
for display_line in screen.display:
|
|
if "Atuin" in display_line or "[ GLOBAL ]" in display_line:
|
|
atuin_visible = True
|
|
break
|
|
|
|
if not atuin_visible:
|
|
fout.write(line)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|