mirror of
https://github.com/Aider-AI/aider.git
synced 2025-05-31 17:55:01 +00:00
initial
This commit is contained in:
parent
efb903303f
commit
33d1a43845
1 changed files with 35 additions and 10 deletions
|
@ -1,23 +1,48 @@
|
||||||
import sys
|
|
||||||
import difflib
|
import difflib
|
||||||
|
import sys
|
||||||
|
|
||||||
|
from .dump import dump
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
if len(sys.argv) != 3:
|
if len(sys.argv) != 3:
|
||||||
print("Usage: python diffs.py file1 file2")
|
print("Usage: python diffs.py file1 file")
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
file1, file2 = sys.argv[1], sys.argv[2]
|
file_orig, file_updated = sys.argv[1], sys.argv[2]
|
||||||
|
|
||||||
with open(file1, 'r') as f1:
|
with open(file_orig, "r") as f:
|
||||||
content1 = f1.readlines()
|
lines_orig = f.readlines()
|
||||||
|
|
||||||
with open(file2, 'r') as f2:
|
with open(file_updated, "r") as f:
|
||||||
content2 = f2.readlines()
|
lines_updated = f.readlines()
|
||||||
|
|
||||||
differences = list(difflib.unified_diff(content1, content2, fromfile=file1, tofile=file2))
|
diff = list(difflib.ndiff(lines_orig, lines_updated))
|
||||||
|
|
||||||
|
# Mapping between the line numbers
|
||||||
|
mapping = {}
|
||||||
|
|
||||||
|
num_orig, num_updated = 0, 0
|
||||||
|
last_non_deleted_orig = 0
|
||||||
|
|
||||||
|
for line in diff:
|
||||||
|
print(f"{num_orig:2d} {num_updated:2d} {line}", end="")
|
||||||
|
code = line[0]
|
||||||
|
if code == " ":
|
||||||
|
# lines are the same in both files
|
||||||
|
mapping[num_orig] = num_updated
|
||||||
|
num_orig += 1
|
||||||
|
num_updated += 1
|
||||||
|
last_non_deleted_orig = num_orig
|
||||||
|
elif code == "-":
|
||||||
|
# line only in file_orig
|
||||||
|
num_orig += 1
|
||||||
|
elif code == "+":
|
||||||
|
# line only in file_updated
|
||||||
|
num_updated += 1
|
||||||
|
|
||||||
|
dump(last_non_deleted_orig)
|
||||||
|
|
||||||
for line in differences:
|
|
||||||
sys.stdout.write(line)
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
main()
|
main()
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue