@@ -302,23 +302,41 @@
302 302 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
fromfile=f"a/{f['name']}",
303 303 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
tofile=f"b/{f['name']}",
304 304 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
lineterm="",
305 305 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
n=3,
306 306 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
)
307 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ old_line = 0
308 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ new_line = 0
307 309 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
for line in diff:
308 310 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
line_type = "context"
311 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ old_num = ""
312 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ new_num = ""
309 313 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if line.startswith("+++") or line.startswith("---"):
310 314 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
line_type = "header"
311 315 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
elif line.startswith("@@"):
312 316 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
line_type = "hunk"
317 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # Parse @@ -old_start,old_count +new_start,new_count @@
318 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ hunk_match = re.match(r"@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@", line)
319 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if hunk_match:
320 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ old_line = int(hunk_match.group(1))
321 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ new_line = int(hunk_match.group(2))
313 322 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
elif line.startswith("+"):
314 323 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
line_type = "add"
315 324 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
additions += 1
325 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ new_num = new_line
326 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ new_line += 1
316 327 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
elif line.startswith("-"):
317 328 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
line_type = "del"
318 329 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
deletions += 1
319 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- diff_lines.append({"text": line, "type": line_type})
330 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ old_num = old_line
331 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ old_line += 1
332 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ else:
333 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ old_num = old_line
334 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ new_num = new_line
335 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ old_line += 1
336 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ new_line += 1
337 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ diff_lines.append({"text": line, "type": line_type, "old_num": old_num, "new_num": new_num})
320 338 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
321 339 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
ext = f["name"].rsplit(".", 1)[-1] if "." in f["name"] else ""
322 340 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
file_diffs.append(
323 341 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
{
324 342 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"name": f["name"],
325 343 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!