Skip to content

Commit

Permalink
fix(agent): fix computing codelens for a inline edit preview that is …
Browse files Browse the repository at this point in the history
…just an insertion. (#3878)
  • Loading branch information
icycodes authored Feb 19, 2025
1 parent 97ec20f commit df2dd80
Showing 1 changed file with 33 additions and 28 deletions.
61 changes: 33 additions & 28 deletions clients/tabby-agent/src/codeLens.ts
Original file line number Diff line number Diff line change
Expand Up @@ -242,37 +242,42 @@ export class CodeLensProvider implements Feature {
}
}

const { originRanges, modifiedRanges } = codeDiff(
originLines,
originCodeLenses.map((item) => item.range),
modifiedLines,
modifiedCodeLenses.map((item) => item.range),
);
const deletionDecorations = originRanges.map((range) => {
return {
range,
data: {
type: codeLensType,
text: "deleted" as const,
},
};
});
// if origin and modified lines are not empty, compute the char diffs.
// otherwise, it is just an insertion or deletion, skipping char diffs.
if (originLines.length > 0 && modifiedLines.length > 0) {
const { originRanges, modifiedRanges } = codeDiff(
originLines,
originCodeLenses.map((item) => item.range),
modifiedLines,
modifiedCodeLenses.map((item) => item.range),
);
const deletionDecorations = originRanges.map((range) => {
return {
range,
data: {
type: codeLensType,
text: "deleted" as const,
},
};
});

const insertionDecorations = modifiedRanges.map((range) => {
return {
range,
data: {
type: codeLensType,
text: "inserted" as const,
},
};
});
const insertionDecorations = modifiedRanges.map((range) => {
return {
range,
data: {
type: codeLensType,
text: "inserted" as const,
},
};
});

if (resultProgress) {
resultProgress.report([...deletionDecorations, ...insertionDecorations]);
} else {
codeLenses.push(...deletionDecorations, ...insertionDecorations);
if (resultProgress) {
resultProgress.report([...deletionDecorations, ...insertionDecorations]);
} else {
codeLenses.push(...deletionDecorations, ...insertionDecorations);
}
}

logger.debug(`codeLenses: ${JSON.stringify(codeLenses)}`);

workDoneProgress?.done();
Expand Down

0 comments on commit df2dd80

Please sign in to comment.