mirror of
https://github.com/Aider-AI/aider.git
synced 2025-05-30 09:14:59 +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 sys
|
||||
|
||||
from .dump import dump
|
||||
|
||||
|
||||
def main():
|
||||
if len(sys.argv) != 3:
|
||||
print("Usage: python diffs.py file1 file2")
|
||||
print("Usage: python diffs.py file1 file")
|
||||
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:
|
||||
content1 = f1.readlines()
|
||||
with open(file_orig, "r") as f:
|
||||
lines_orig = f.readlines()
|
||||
|
||||
with open(file2, 'r') as f2:
|
||||
content2 = f2.readlines()
|
||||
with open(file_updated, "r") as f:
|
||||
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__":
|
||||
main()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue