diff --git a/src/core/Cline.ts b/src/core/Cline.ts index 03b2fcc..4320d58 100644 --- a/src/core/Cline.ts +++ b/src/core/Cline.ts @@ -1075,8 +1075,7 @@ export class Cline { await this.diffViewProvider.update(newContent, true) await delay(300) // wait for diff view to update this.diffViewProvider.scrollToFirstDiff() - - showOmissionWarning(newContent) + showOmissionWarning(this.diffViewProvider.originalContent || "", newContent) const completeMessage = JSON.stringify({ ...sharedMessageProps, diff --git a/src/integrations/editor/detect-omission.ts b/src/integrations/editor/detect-omission.ts index cb5c51d..76e788a 100644 --- a/src/integrations/editor/detect-omission.ts +++ b/src/integrations/editor/detect-omission.ts @@ -2,12 +2,14 @@ import * as vscode from "vscode" /** * Detects potential AI-generated code omissions in the given file content. - * @param fileContent The content of the file to check. + * @param originalFileContent The original content of the file. + * @param newFileContent The new content of the file to check. * @returns True if a potential omission is detected, false otherwise. */ -function detectCodeOmission(fileContent: string): boolean { - const lines = fileContent.split("\n") - const omissionKeywords = ["remain", "remains", "unchanged", "rest", "previous", "..."] +function detectCodeOmission(originalFileContent: string, newFileContent: string): boolean { + const originalLines = originalFileContent.split("\n") + const newLines = newFileContent.split("\n") + const omissionKeywords = ["remain", "remains", "unchanged", "rest", "previous", "existing", "..."] const commentPatterns = [ /^\s*\/\//, // Single-line comment for most languages @@ -16,11 +18,13 @@ function detectCodeOmission(fileContent: string): boolean { /^\s*