We define a "diff" as a single green/red pair that denotes a change.
We create diffs by using the function getDiffedLines, which takes in an old string and the new string and outputs an array of diffs (like the range of the diff, or the original text of the diff).
There are two bugs inside of ApprovalCodeLensProvider.ts:
If a diff is "pure" deletion, then startLine > endLine, which causes new vscode.Range() to break. We need to deal with this case instead of just skipping it.
If a diff is inserted at the top of a file, then startLine=-1, which causes new vscode.Range() to break.
We define a "diff" as a single green/red pair that denotes a change.
We create diffs by using the function
getDiffedLines
, which takes in an old string and the new string and outputs an array of diffs (like the range of the diff, or the original text of the diff).There are two bugs inside of
ApprovalCodeLensProvider.ts
: