diff options
author | Nate Sesti <sestinj@gmail.com> | 2023-07-14 11:01:06 -0700 |
---|---|---|
committer | Nate Sesti <sestinj@gmail.com> | 2023-07-14 11:01:06 -0700 |
commit | b19076ddb6d11acb5ffd54046d9e5cad549c00c1 (patch) | |
tree | 7861b4a6919d670147eaebedf940d9c77e09682e /extension/src/diffs.ts | |
parent | 39cd2ef27d6ed439b00a9edec4a487343ff1c2c9 (diff) | |
download | sncontinue-b19076ddb6d11acb5ffd54046d9e5cad549c00c1.tar.gz sncontinue-b19076ddb6d11acb5ffd54046d9e5cad549c00c1.tar.bz2 sncontinue-b19076ddb6d11acb5ffd54046d9e5cad549c00c1.zip |
command m reliable toggle
Diffstat (limited to 'extension/src/diffs.ts')
-rw-r--r-- | extension/src/diffs.ts | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/extension/src/diffs.ts b/extension/src/diffs.ts index 910c30f2..37943de4 100644 --- a/extension/src/diffs.ts +++ b/extension/src/diffs.ts @@ -104,6 +104,17 @@ class DiffManager { return editor; } + private _findFirstDifferentLine(contentA: string, contentB: string): number { + const linesA = contentA.split("\n"); + const linesB = contentB.split("\n"); + for (let i = 0; i < linesA.length && i < linesB.length; i++) { + if (linesA[i] !== linesB[i]) { + return i; + } + } + return 0; + } + writeDiff( originalFilepath: string, newContent: string, @@ -119,15 +130,7 @@ class DiffManager { if (!this.diffs.has(newFilepath)) { // Figure out the first line that is different const oldContent = fs.readFileSync(originalFilepath).toString("utf-8"); - let line = 0; - const newLines = newContent.split("\n"); - const oldLines = oldContent.split("\n"); - for (let i = 0; i < newLines.length && i < oldLines.length; i++) { - if (newLines[i] !== oldLines[i]) { - line = i; - break; - } - } + const line = this._findFirstDifferentLine(oldContent, newContent); const diffInfo: DiffInfo = { originalFilepath, |