diff.ts ×13
Frontier kind: Code frontier
unlabeled · c_afd43db2a92a
105 tests · 5976 LOC · 31 files · introduces 0 tests · 48 LOC · 1 file
Introduces — evidence that enters the hierarchy at this concept
- Code
- 13 ranges48 lines · 1 files
- Tests
- 0 tests
Contains — complete concept membership
- All code (extent)
- 870 ranges5976 lines · 31 files · Browse complete extent
- All tests (intent)
- 105 testsBrowse complete intent
Neighbourhood graph
The orange circle is the focus. Violet and green circles are every ancestor and descendant, broader and narrower, at any distance; blue squares and pink diamonds are the introduced files and exact introduced tests of every visible concept, not only the focus's. Arrows point from broader to narrower concepts and bridge only concepts omitted from this view. Undirected links show source or test introduction. Concept and file size follows LOC; exact test nodes use test-count units.
- Focus concept
- Ancestors (broader)
- Descendants (narrower)
- Introduced files
- Introduced tests
Introduced files, introduced tests, and structurally relevant concept specialization
In the embedded map, ordinary wheel input scrolls the page; use the visible controls to zoom and drag to pan. Open the full-screen map for canvas navigation: wheel pans, Ctrl/Command plus wheel zooms, and arrow keys pan when this region is focused. On touch screens, open the full-screen map to pan or pinch. If JavaScript or WebGL is unavailable, use the native relationship evidence on this page.
Graph controls are ready.
Interactive rendering requires JavaScript and WebGL. Use the native relationship evidence on this page while the interactive map is unavailable.
Native relationship evidence
Every exact file and test below is linked only from the concept that introduces it.
- diff.ts ×13 — Focused concept Introduced files:
- diffComputer.test|title=Editor Diff - DiffComputer big change part 2|occurrence=1 — Ancestor (broader) Introduced tests:
- diffComputer.test|title=Editor Diff - DiffComputer big change part 1|occurrence=1 — Ancestor (broader) Introduced tests:
- diffComputer.test|title=Editor Diff - DiffComputer two lines changed 4|occurrence=1 — Ancestor (broader) Introduced tests:
- diffComputer.test|title=Editor Diff - DiffComputer issue #43922|occurrence=1 — Ancestor (broader) Introduced tests:
- diffComputer.test|title=Editor Diff - DiffComputer two lines changed 3|occurrence=1 — Ancestor (broader) Introduced tests:
- diffComputer.test|title=Editor Diff - DiffComputer issue #121436: Diff chunk contains an unchanged line part 2|occurrence=1 — Ancestor (broader) Introduced tests:
- diffComputer.test|title=Editor Diff - DiffComputer three lines changed|occurrence=1 — Ancestor (broader) Introduced tests:
- diffComputer.test|title=Editor Diff - DiffComputer one line changed: chars inserted in the middle (two spots)|occurrence=1 — Ancestor (broader) Introduced tests:
- diffComputer.test|title=Editor Diff - DiffComputer gives preference to matching longer lines|occurrence=1 — Ancestor (broader) Introduced tests:
- diffComputer.test|title=Editor Diff - DiffComputer issue #44422: Less than ideal diff results|occurrence=1 — Ancestor (broader) Introduced tests:
- diffComputer.test|title=Editor Diff - DiffComputer one line changed: chars deleted 2|occurrence=1 — Ancestor (broader) Introduced tests:
- diffComputer.test|title=Editor Diff - DiffComputer char change postprocessing merges|occurrence=1 — Ancestor (broader) Introduced tests:
- diffComputer.test|title=Editor Diff - DiffComputer issue #119051: gives preference to fewer diff hunks|occurrence=1 — Ancestor (broader) Introduced tests:
- diffComputer.test|title=Editor Diff - DiffComputer two inserted lines in middle interrupted|occurrence=1 — Ancestor (broader) Introduced tests:
- diffComputer.test|title=Editor Diff - DiffComputer one line changed: chars inserted in the middle|occurrence=1 — Ancestor (broader) Introduced tests:
- diffComputer.test|title=Editor Diff - DiffComputer two lines changed 2|occurrence=1 — Ancestor (broader) Introduced tests:
- diffComputer.test|title=Editor Diff - DiffComputer two lines changed 1|occurrence=1 — Ancestor (broader) Introduced tests:
- diffComputer.test|title=Editor Diff - DiffComputer issue #23636|occurrence=1 — Ancestor (broader) Introduced tests:
- diffComputer.test|title=Editor Diff - DiffComputer issue #42751|occurrence=1 — Ancestor (broader) Introduced tests:
- diffComputer.test|title=Editor Diff - DiffComputer empty original sequence in char diff|occurrence=1 — Ancestor (broader) Introduced tests:
- diffComputer.test|title=Editor Diff - DiffComputer one line changed: chars inserted at the end|occurrence=1 — Ancestor (broader) Introduced tests:
- diffComputer.test|title=Editor Diff - DiffComputer one line changed: chars deleted 1|occurrence=1 — Ancestor (broader) Introduced tests:
- diffComputer.test|title=Editor Diff - DiffComputer one line changed: chars inserted at the beginning|occurrence=1 — Ancestor (broader) Introduced tests:
- diffComputer.test|title=Editor Diff - DiffComputer two deleted lines in middle interrupted|occurrence=1 — Ancestor (broader) Introduced tests:
- legacyLinesDiffComputer.ts ×1 — Ancestor (broader) Introduced files: Introduced tests:
- diffComputer.test|title=Editor Diff - DiffComputer does not give character changes|occurrence=1 — Ancestor (broader) Introduced tests:
-
diffComputer.test|title=Editor Diff - DiffComputer one inserted line in middle|occurrence=1, diffComputer.test|title=Editor Diff - DiffComputer two inserted lines in middle|occurrence=1 — Ancestor (broader)
Introduced tests:
mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/editor/test/common/diff/diffComputer.test|title=Editor Diff - DiffComputer one inserted line in middle|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/editor/test/common/diff/diffComputer.test|title=Editor Diff - DiffComputer two inserted lines in middle|occurrence=1
-
diffComputer.test|title=Editor Diff - DiffComputer one inserted line above|occurrence=1, diffComputer.test|title=Editor Diff - DiffComputer two inserted lines above|occurrence=1 — Ancestor (broader)
Introduced tests:
mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/editor/test/common/diff/diffComputer.test|title=Editor Diff - DiffComputer one inserted line above|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/editor/test/common/diff/diffComputer.test|title=Editor Diff - DiffComputer two inserted lines above|occurrence=1
- diffComputer.test|title=Editor Diff - DiffComputer two inserted lines below|occurrence=1 — Ancestor (broader) Introduced tests:
-
diffComputer.test|title=Editor Diff - DiffComputer one inserted line below|occurrence=1, diffComputer.test|title=Editor Diff - DiffComputer issue #12122 r.hasOwnProperty is not a function|occurrence=1 — Ancestor (broader)
Introduced tests:
mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/editor/test/common/diff/diffComputer.test|title=Editor Diff - DiffComputer issue #12122 r.hasOwnProperty is not a function|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/editor/test/common/diff/diffComputer.test|title=Editor Diff - DiffComputer one inserted line below|occurrence=1
- diffComputer.test|title=Editor Diff - DiffComputer one deleted line in middle|occurrence=1 — Ancestor (broader) Introduced tests:
- diffComputer.test|title=Editor Diff - DiffComputer two deleted lines in middle|occurrence=1 — Ancestor (broader) Introduced tests:
- diffComputer.test|title=Editor Diff - DiffComputer two deleted lines below|occurrence=1 — Ancestor (broader) Introduced tests:
- diffComputer.test|title=Editor Diff - DiffComputer one deleted line below|occurrence=1 — Ancestor (broader) Introduced tests:
- diffComputer.test|title=Editor Diff - DiffComputer one deleted lines above|occurrence=1 — Ancestor (broader) Introduced tests:
- diffComputer.test|title=Editor Diff - DiffComputer two deleted lines above|occurrence=1 — Ancestor (broader) Introduced tests:
- diffComputer.test|title=Editor Diff - DiffComputer ignore trim whitespace|occurrence=1 — Ancestor (broader) Introduced tests:
- diffComputer.test|title=Editor Diff - DiffComputer pretty diff 2|occurrence=1 — Ancestor (broader) Introduced tests:
- diffComputer.test|title=Editor Diff - DiffComputer pretty diff 1|occurrence=1 — Ancestor (broader) Introduced tests:
- diffComputer.test|title=Editor Diff - DiffComputer issue #121436: Diff chunk contains an unchanged line part 1|occurrence=1 — Ancestor (broader) Introduced tests:
- diffComputer.test|title=Editor Diff - DiffComputer pretty diff 3|occurrence=1 — Ancestor (broader) Introduced tests:
- editorWebWorker.test|title=EditorWebWorker MoreMinimal, issue #15385 newline changes and other|occurrence=1 — Ancestor (broader) Introduced tests:
- editorWebWorker.test|title=EditorWebWorker MoreMinimal|occurrence=1 — Ancestor (broader) Introduced tests:
- 2|occurrence=1 — Ancestor (broader) Introduced tests:
- editorWebWorker.ts ×2 — Ancestor (broader) Introduced files:
- fixtures.test|title=diffing fixtures noisy-move1-legacy|occurrence=1 — Ancestor (broader) Introduced tests:
- fixtures.test|title=diffing fixtures ts-confusing-2-legacy|occurrence=1 — Ancestor (broader) Introduced tests:
- fixtures.test|title=diffing fixtures sorted-offsets-legacy|occurrence=1 — Ancestor (broader) Introduced tests:
- fixtures.test|title=diffing fixtures ts-advanced-bug-legacy|occurrence=1 — Ancestor (broader) Introduced tests:
- fixtures.test|title=diffing fixtures method-splitting-legacy|occurrence=1 — Ancestor (broader) Introduced tests:
- fixtures.test|title=diffing fixtures word-shared-letters-legacy|occurrence=1 — Ancestor (broader) Introduced tests:
- fixtures.test|title=diffing fixtures ts-fragmented-eager-diffing3-legacy|occurrence=1 — Ancestor (broader) Introduced tests:
- fixtures.test|title=diffing fixtures invalid-diff-bug-legacy|occurrence=1 — Ancestor (broader) Introduced tests:
- fixtures.test|title=diffing fixtures ts-class-legacy|occurrence=1 — Ancestor (broader) Introduced tests:
- fixtures.test|title=diffing fixtures issue-201713-legacy|occurrence=1 — Ancestor (broader) Introduced tests:
- fixtures.test|title=diffing fixtures issue-131091-legacy|occurrence=1 — Ancestor (broader) Introduced tests:
- fixtures.test|title=diffing fixtures ts-fragmented-eager-diffing-legacy|occurrence=1 — Ancestor (broader) Introduced tests:
- fixtures.test|title=diffing fixtures difficult-move-legacy|occurrence=1 — Ancestor (broader) Introduced tests:
- fixtures.test|title=diffing fixtures ts-example2-ts-legacy|occurrence=1 — Ancestor (broader) Introduced tests:
- fixtures.test|title=diffing fixtures class-replacement-legacy|occurrence=1 — Ancestor (broader) Introduced tests:
- fixtures.test|title=diffing fixtures invalid-diff-trimws-legacy|occurrence=1 — Ancestor (broader) Introduced tests:
- fixtures.test|title=diffing fixtures shifting-twice-legacy|occurrence=1 — Ancestor (broader) Introduced tests:
- fixtures.test|title=diffing fixtures ts-confusing-legacy|occurrence=1 — Ancestor (broader) Introduced tests:
- fixtures.test|title=diffing fixtures random-match-2-legacy|occurrence=1 — Ancestor (broader) Introduced tests:
- fixtures.test|title=diffing fixtures ws-alignment-legacy|occurrence=1 — Ancestor (broader) Introduced tests:
- fixtures.test|title=diffing fixtures noise-1-legacy|occurrence=1 — Ancestor (broader) Introduced tests:
- fixtures.test|title=diffing fixtures issue-185779-legacy|occurrence=1 — Ancestor (broader) Introduced tests:
- fixtures.test|title=diffing fixtures minimal-diff-character-legacy|occurrence=1 — Ancestor (broader) Introduced tests:
- fixtures.test|title=diffing fixtures random-match-3-legacy|occurrence=1 — Ancestor (broader) Introduced tests:
- fixtures.test|title=diffing fixtures ts-example1-legacy|occurrence=1 — Ancestor (broader) Introduced tests:
- fixtures.test|title=diffing fixtures ts-methods-legacy|occurrence=1 — Ancestor (broader) Introduced tests:
- fixtures.test|title=diffing fixtures intra-block-align-legacy|occurrence=1 — Ancestor (broader) Introduced tests:
- fixtures.test|title=diffing fixtures ts-diff-word-split-legacy|occurrence=1 — Ancestor (broader) Introduced tests:
- fixtures.test|title=diffing fixtures issue-202147-trimws-legacy|occurrence=1 — Ancestor (broader) Introduced tests:
- fixtures.test|title=diffing fixtures ts-insert-legacy|occurrence=1 — Ancestor (broader) Introduced tests:
- fixtures.test|title=diffing fixtures subword-legacy|occurrence=1 — Ancestor (broader) Introduced tests:
- fixtures.test|title=diffing fixtures penalize-fragmentation-legacy|occurrence=1 — Ancestor (broader) Introduced tests:
- fixtures.test|title=diffing fixtures ts-unfragmented-diffing-legacy|occurrence=1 — Ancestor (broader) Introduced tests:
- fixtures.test|title=diffing fixtures false-positive-move-legacy|occurrence=1 — Ancestor (broader) Introduced tests:
- fixtures.test|title=diffing fixtures bracket-aligning-legacy|occurrence=1 — Ancestor (broader) Introduced tests:
- fixtures.test|title=diffing fixtures random-match-1-legacy|occurrence=1 — Ancestor (broader) Introduced tests:
- fixtures.test|title=diffing fixtures issue-204948-legacy|occurrence=1 — Ancestor (broader) Introduced tests:
- fixtures.test|title=diffing fixtures ts-too-much-minimization-legacy|occurrence=1 — Ancestor (broader) Introduced tests:
- fixtures.test|title=diffing fixtures indentation-legacy|occurrence=1 — Ancestor (broader) Introduced tests:
- fixtures.test|title=diffing fixtures ts-import-ws-affinity-legacy|occurrence=1 — Ancestor (broader) Introduced tests:
- fixtures.test|title=diffing fixtures import-shifting-legacy|occurrence=1 — Ancestor (broader) Introduced tests:
- fixtures.test|title=diffing fixtures shifting-parameters-legacy|occurrence=1 — Ancestor (broader) Introduced tests:
- fixtures.test|title=diffing fixtures ts-shift-to-ws-legacy|occurrence=1 — Ancestor (broader) Introduced tests:
- fixtures.test|title=diffing fixtures ts-strings-legacy|occurrence=1 — Ancestor (broader) Introduced tests:
- legacyLinesDiffComputer.ts ×1 — Ancestor (broader) Introduced files:
- fixtures.test|title=diffing fixtures ts-fragmented-eager-diffing2-legacy|occurrence=1 — Ancestor (broader) Introduced tests:
- fixtures.test|title=diffing fixtures move-1-legacy|occurrence=1 — Ancestor (broader) Introduced tests:
- fixtures.test|title=diffing fixtures ts-unit-test-legacy|occurrence=1 — Ancestor (broader) Introduced tests:
- fixtures.test|title=diffing fixtures fuzzy-matching-legacy|occurrence=1 — Ancestor (broader) Introduced tests:
- fixtures.test|title=diffing fixtures noise-2-legacy|occurrence=1 — Ancestor (broader) Introduced tests:
- diff.ts ×1 — Ancestor (broader) Introduced files:
- fixtures.test|title=diffing fixtures issue-214049-legacy|occurrence=1 — Ancestor (broader) Introduced tests:
- legacyLinesDiffComputer.ts ×1 — Ancestor (broader) Introduced files:
- legacyLinesDiffComputer.ts ×1 — Ancestor (broader) Introduced files:
- fixtures.test|title=diffing fixtures json-brackets-legacy|occurrence=1 — Ancestor (broader) Introduced tests:
- fixtures.test|title=diffing fixtures ts-comments-legacy|occurrence=1 — Ancestor (broader) Introduced tests:
- fixtures.test|title=diffing fixtures ts-shifting-legacy|occurrence=1 — Ancestor (broader) Introduced tests:
- legacyLinesDiffComputer.ts ×1 — Ancestor (broader) Introduced files:
- legacyLinesDiffComputer.ts ×1 — Ancestor (broader) Introduced files:
- legacyLinesDiffComputer.ts ×1 — Ancestor (broader) Introduced files:
- fixtures.test|title=diffing fixtures just-whitespace-legacy|occurrence=1 — Ancestor (broader) Introduced tests:
- legacyLinesDiffComputer.ts ×2 — Ancestor (broader) Introduced files:
- legacyLinesDiffComputer.ts ×1 — Ancestor (broader) Introduced files:
- fixtures.test|title=diffing fixtures equals-legacy|occurrence=1 — Ancestor (broader) Introduced tests:
- diff.ts ×1 — Ancestor (broader) Introduced files:
- legacyLinesDiffComputer.ts ×2 — Ancestor (broader) Introduced files:
- legacyLinesDiffComputer.ts ×1 — Ancestor (broader) Introduced files:
- legacyLinesDiffComputer.ts ×1 — Ancestor (broader) Introduced files:
- diff.ts ×1 — Ancestor (broader) Introduced files:
- legacyLinesDiffComputer.ts ×3 — Ancestor (broader) Introduced files:
- legacyLinesDiffComputer.ts ×1 — Ancestor (broader) Introduced files:
- legacyLinesDiffComputer.ts ×1 — Ancestor (broader) Introduced files:
- diff.ts ×1 — Ancestor (broader) Introduced files:
- legacyLinesDiffComputer.ts ×2 — Ancestor (broader) Introduced files:
- legacyLinesDiffComputer.ts ×2 — Ancestor (broader) Introduced files:
- legacyLinesDiffComputer.ts ×1 — Ancestor (broader) Introduced files:
- legacyLinesDiffComputer.ts ×2 — Ancestor (broader) Introduced files:
- diff.ts ×1 — Ancestor (broader) Introduced files:
- diff.ts ×1 — Ancestor (broader) Introduced files:
- legacyLinesDiffComputer.ts ×15 — Ancestor (broader) Introduced files:
- diff.ts ×1 — Ancestor (broader) Introduced files:
- diff.ts ×1 — Ancestor (broader) Introduced files:
- diff.ts ×5 — Ancestor (broader) Introduced files:
- diff.ts ×2 — Ancestor (broader) Introduced files:
- legacyLinesDiffComputer.ts ×1 — Ancestor (broader) Introduced files:
- legacyLinesDiffComputer.ts ×1 — Ancestor (broader) Introduced files:
- diff.ts ×1 — Ancestor (broader) Introduced files:
- legacyLinesDiffComputer.ts ×1 — Ancestor (broader) Introduced files:
- legacyLinesDiffComputer.ts ×2 — Ancestor (broader) Introduced files:
- legacyLinesDiffComputer.ts ×1 — Ancestor (broader) Introduced files:
- legacyLinesDiffComputer.ts ×12 — Ancestor (broader) Introduced files:
- diff.ts ×1 — Ancestor (broader) Introduced files:
- diff.ts ×1 — Ancestor (broader) Introduced files:
- legacyLinesDiffComputer.ts ×1 — Ancestor (broader) Introduced files:
- legacyLinesDiffComputer.ts ×1 — Ancestor (broader) Introduced files:
- diff.ts ×1 — Ancestor (broader) Introduced files:
- legacyLinesDiffComputer.ts ×1 — Ancestor (broader) Introduced files:
- legacyLinesDiffComputer.ts ×1 — Ancestor (broader) Introduced files:
- legacyLinesDiffComputer.ts ×8 — Ancestor (broader) Introduced files:
- legacyLinesDiffComputer.ts ×2 — Ancestor (broader) Introduced files:
- legacyLinesDiffComputer.ts ×3 — Ancestor (broader) Introduced files:
- legacyLinesDiffComputer.ts ×1 — Ancestor (broader) Introduced files:
- legacyLinesDiffComputer.ts ×1 — Ancestor (broader) Introduced files:
- diff.ts ×3 — Ancestor (broader) Introduced files:
- diff.ts ×2 — Ancestor (broader) Introduced files: Introduced tests:
- diff.test|title=Diff LcsDiff - different strings tests|occurrence=1 — Ancestor (broader) Introduced tests:
- diff.ts ×1 — Ancestor (broader) Introduced files:
- diff.ts ×1 — Ancestor (broader) Introduced files:
- diff.ts ×1 — Ancestor (broader) Introduced files:
- diff.ts ×1 — Ancestor (broader) Introduced files:
- diff.ts ×2 — Ancestor (broader) Introduced files:
- diff.ts ×1 — Ancestor (broader) Introduced files:
- diff.ts ×1 — Ancestor (broader) Introduced files:
- diff.ts ×5 — Ancestor (broader) Introduced files:
- diff.ts ×3 — Ancestor (broader) Introduced files:
- diff.ts ×10 — Ancestor (broader) Introduced files:
- diff.ts ×2 — Ancestor (broader) Introduced files:
- diff.ts ×1 — Ancestor (broader) Introduced files:
- diff.ts ×1 — Ancestor (broader) Introduced files:
- diff.ts ×2 — Ancestor (broader) Introduced files:
- diff.ts ×1 — Ancestor (broader) Introduced files:
- diff.ts ×1 — Ancestor (broader) Introduced files:
- diff.ts ×1 — Ancestor (broader) Introduced files:
- diff.ts ×1 — Ancestor (broader) Introduced files:
- diff.ts ×1 — Ancestor (broader) Introduced files:
- diff.ts ×1 — Ancestor (broader) Introduced files:
- diff.ts ×1 — Ancestor (broader) Introduced files:
- diff.ts ×1 — Ancestor (broader) Introduced files:
- diff.ts ×1 — Ancestor (broader) Introduced files:
- diff.ts ×1 — Ancestor (broader) Introduced files:
- diff.ts ×2 — Ancestor (broader) Introduced files:
- diff.ts ×3 — Ancestor (broader) Introduced files:
- diff.ts ×1 — Ancestor (broader) Introduced files:
- diff.ts ×1 — Ancestor (broader) Introduced files:
- diff.ts ×1 — Ancestor (broader) Introduced files:
- diff.ts ×1 — Ancestor (broader) Introduced files:
- diff.ts ×1 — Ancestor (broader) Introduced files:
- diff.ts ×1 — Ancestor (broader) Introduced files:
- diff.ts ×1 — Ancestor (broader) Introduced files:
- diff.ts ×1 — Ancestor (broader) Introduced files:
- diff.ts ×20 — Ancestor (broader) Introduced files:
- diff.ts ×23 — Ancestor (broader) Introduced files:
- diff.ts ×1 — Ancestor (broader) Introduced files:
- diff.ts ×1 — Ancestor (broader) Introduced files:
- diff.ts ×5 — Ancestor (broader) Introduced files:
- diff.ts ×1 — Ancestor (broader) Introduced files:
- diff.ts ×1 — Ancestor (broader) Introduced files:
- diff.ts ×1 — Ancestor (broader) Introduced files:
- diff.ts ×1 — Ancestor (broader) Introduced files:
- diff.ts ×2 — Ancestor (broader) Introduced files:
- diff.ts ×1 — Ancestor (broader) Introduced files:
- diff.ts ×3 — Ancestor (broader) Introduced files:
- diff.ts ×1 — Ancestor (broader) Introduced files:
- diff.ts ×2 — Ancestor (broader) Introduced files:
- diffChange.ts ×1 — Ancestor (broader) Introduced files:
- diff.ts ×38 — Descendant (narrower) Introduced files:
- hash.ts ×17 — Descendant (narrower) Introduced files:
- strings.test|title=Strings trimWhitespace|occurrence=1 — Descendant (narrower) Introduced tests:
- strings.ts ×101 — Descendant (narrower) Introduced files:
- cancellation.test|title=CancellationToken None|occurrence=1 — Descendant (narrower) Introduced tests:
- cancellation.ts ×18 — Descendant (narrower) Introduced files:
- event.ts ×93 — Descendant (narrower) Introduced files:
- buffer.ts ×42 — Descendant (narrower) Introduced files:
-
uri.test|title=URI URI#file, win-speciale|occurrence=1, charCode.test|title=CharCode has good values|occurrence=1, +2 — Descendant (narrower)
Introduced tests:
mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/base/test/common/charCode.test|title=CharCode has good values|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/base/test/common/path.test|title=Paths (Node Implementation) path|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/base/test/common/uri.test|title=URI File paths containing apostrophes break URI parsing and cannot be opened #276075|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/base/test/common/uri.test|title=URI URI#file, win-speciale|occurrence=1
- utils.ts ×3 — Descendant (narrower) Introduced files:
- linkedList.ts ×13 — Descendant (narrower) Introduced files:
- lifecycle.ts ×2 — Descendant (narrower) Introduced files:
- lifecycle.ts ×1 — Descendant (narrower) Introduced files:
- lifecycle.ts ×4 — Descendant (narrower) Introduced files:
- lifecycle.ts ×6 — Descendant (narrower) Introduced files:
- lazy.ts ×1 — Descendant (narrower) Introduced files:
- lazy.ts ×3 — Descendant (narrower) Introduced files:
- lifecycle.ts ×1 — Descendant (narrower) Introduced files:
- lifecycle.ts ×1 — Descendant (narrower) Introduced files:
- uint.ts ×2 — Descendant (narrower) Introduced files:
- lifecycle.ts ×1 — Descendant (narrower) Introduced files:
-
map.ts ×97 — Descendant (narrower)
Introduced files:
- src/vs/base/common/arrays.ts
- src/vs/base/common/arraysFind.ts
- src/vs/base/common/assert.ts
- src/vs/base/common/charCode.ts
- src/vs/base/common/collections.ts
- src/vs/base/common/errors.ts
- src/vs/base/common/functional.ts
- src/vs/base/common/iterator.ts
- src/vs/base/common/lifecycle.ts
- src/vs/base/common/map.ts
- src/vs/base/common/marshallingIds.ts
- src/vs/base/common/path.ts
- src/vs/base/common/platform.ts
- src/vs/base/common/process.ts
- src/vs/base/common/types.ts
- src/vs/base/common/uri.ts
- src/vs/base/test/common/utils.ts
- src/vs/nls.ts
Introduced tests
Every collected test enters the hierarchy at exactly one concept.
No tests are introduced at this concept. Its intent tests are introduced by other concepts.
Introduced code
Every collected source range enters the hierarchy at exactly one concept.
1 file ranked by introduced lines: 48 introduced LOC across 13 ranges. Expand a file to inspect source; the > gutter marks introduced lines.
src/vs/base/common/diff/diff.ts 48 introduced LOC · 13 ranges
*/
constructor(originalSequence: ISequence, modifiedSequence: ISequence, continueProcessingPredicate: IContinueProcessingPredicate | null = null) {
this._originalSequence = originalSequence;
this._modifiedSequence = modifiedSequence;
const [originalStringElements, originalElementsOrHash, originalHasStrings] = LcsDiff._getElements(originalSequence);
const [modifiedStringElements, modifiedElementsOrHash, modifiedHasStrings] = LcsDiff._getElements(modifiedSequence);
this._hasStrings = (originalHasStrings && modifiedHasStrings);
this._originalStringElements = originalStringElements;
this._originalElementsOrHash = originalElementsOrHash;
this._modifiedStringElements = modifiedStringElements;
this._modifiedElementsOrHash = modifiedElementsOrHash;
this.m_forwardHistory = [];
this.m_reverseHistory = [];
}
private static _isStringArray(arr: Int32Array | number[] | string[]): arr is string[] {
}
private static _getElements(sequence: ISequence): [string[], Int32Array, boolean] {
if (LcsDiff._isStringArray(elements)) {
const hashes = new Int32Array(elements.length);
for (let i = 0, len = elements.length; i < len; i++) {
return [[], new Int32Array(elements), false];
private ElementsAreEqual(originalIndex: number, newIndex: number): boolean {
public ComputeDiff(pretty: boolean): IDiffResult {
return this._ComputeDiff(0, this._originalElementsOrHash.length - 1, 0, this._modifiedElementsOrHash.length - 1, pretty);
diff.ts
}
/**
*/
private _ComputeDiff(originalStart: number, originalEnd: number, modifiedStart: number, modifiedEnd: number, pretty: boolean): IDiffResult {
let changes = this.ComputeDiffRecursive(originalStart, originalEnd, modifiedStart, modifiedEnd, quitEarlyArr);
if (pretty) {
// We have to clean up the computed diff to be more intuitive
// but it turns out this cannot be done correctly until the entire set
changes = this.PrettifyChanges(changes);
}
return {
quitEarly: quitEarlyArr[0],
changes: changes
};
}
/**
*/
private ComputeDiffRecursive(originalStart: number, originalEnd: number, modifiedStart: number, modifiedEnd: number, quitEarlyArr: boolean[]): DiffChange[] {
// Find the start of the differences
while (originalStart <= originalEnd && modifiedStart <= modifiedEnd && this.ElementsAreEqual(originalStart, modifiedStart)) {
originalStart++;
modifiedStart++;
}
// Find the end of the differences
while (originalEnd >= originalStart && modifiedEnd >= modifiedStart && this.ElementsAreEqual(originalEnd, modifiedEnd)) {
originalEnd--;
modifiedEnd--;
}
// In the special case where we either have all insertions or all deletions or the sequences are identical
if (originalStart > originalEnd || modifiedStart > modifiedEnd) {
let changes: DiffChange[];
new DiffChange(originalStart, originalEnd - originalStart + 1, modifiedStart, modifiedEnd - modifiedStart + 1)
];
private WALKTRACE(diagonalForwardBase: number, diagonalForwardStart: number, diagonalForwardEnd: number, diagonalForwardOffset: number,