@theia/scm 1.67.0-next.13 → 1.67.0-next.56
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/package.json +6 -6
- package/lib/browser/decorations/scm-decorations-service.d.ts +0 -21
- package/lib/browser/decorations/scm-decorations-service.d.ts.map +0 -1
- package/lib/browser/decorations/scm-decorations-service.js +0 -134
- package/lib/browser/decorations/scm-decorations-service.js.map +0 -1
- package/lib/browser/decorations/scm-navigator-decorator.d.ts +0 -26
- package/lib/browser/decorations/scm-navigator-decorator.d.ts.map +0 -1
- package/lib/browser/decorations/scm-navigator-decorator.js +0 -122
- package/lib/browser/decorations/scm-navigator-decorator.js.map +0 -1
- package/lib/browser/dirty-diff/content-lines.d.ts +0 -15
- package/lib/browser/dirty-diff/content-lines.d.ts.map +0 -1
- package/lib/browser/dirty-diff/content-lines.js +0 -114
- package/lib/browser/dirty-diff/content-lines.js.map +0 -1
- package/lib/browser/dirty-diff/content-lines.spec.d.ts +0 -2
- package/lib/browser/dirty-diff/content-lines.spec.d.ts.map +0 -1
- package/lib/browser/dirty-diff/content-lines.spec.js +0 -40
- package/lib/browser/dirty-diff/content-lines.spec.js.map +0 -1
- package/lib/browser/dirty-diff/diff-computer.d.ts +0 -39
- package/lib/browser/dirty-diff/diff-computer.d.ts.map +0 -1
- package/lib/browser/dirty-diff/diff-computer.js +0 -167
- package/lib/browser/dirty-diff/diff-computer.js.map +0 -1
- package/lib/browser/dirty-diff/diff-computer.spec.d.ts +0 -2
- package/lib/browser/dirty-diff/diff-computer.spec.d.ts.map +0 -1
- package/lib/browser/dirty-diff/diff-computer.spec.js +0 -384
- package/lib/browser/dirty-diff/diff-computer.spec.js.map +0 -1
- package/lib/browser/dirty-diff/dirty-diff-decorator.d.ts +0 -17
- package/lib/browser/dirty-diff/dirty-diff-decorator.d.ts.map +0 -1
- package/lib/browser/dirty-diff/dirty-diff-decorator.js +0 -101
- package/lib/browser/dirty-diff/dirty-diff-decorator.js.map +0 -1
- package/lib/browser/dirty-diff/dirty-diff-module.d.ts +0 -4
- package/lib/browser/dirty-diff/dirty-diff-module.d.ts.map +0 -1
- package/lib/browser/dirty-diff/dirty-diff-module.js +0 -34
- package/lib/browser/dirty-diff/dirty-diff-module.js.map +0 -1
- package/lib/browser/dirty-diff/dirty-diff-navigator.d.ts +0 -49
- package/lib/browser/dirty-diff/dirty-diff-navigator.d.ts.map +0 -1
- package/lib/browser/dirty-diff/dirty-diff-navigator.js +0 -295
- package/lib/browser/dirty-diff/dirty-diff-navigator.js.map +0 -1
- package/lib/browser/dirty-diff/dirty-diff-widget.d.ts +0 -50
- package/lib/browser/dirty-diff/dirty-diff-widget.d.ts.map +0 -1
- package/lib/browser/dirty-diff/dirty-diff-widget.js +0 -357
- package/lib/browser/dirty-diff/dirty-diff-widget.js.map +0 -1
- package/lib/browser/merge-editor/merge-editor-contribution.d.ts +0 -34
- package/lib/browser/merge-editor/merge-editor-contribution.d.ts.map +0 -1
- package/lib/browser/merge-editor/merge-editor-contribution.js +0 -335
- package/lib/browser/merge-editor/merge-editor-contribution.js.map +0 -1
- package/lib/browser/merge-editor/merge-editor-dev-contribution.d.ts +0 -31
- package/lib/browser/merge-editor/merge-editor-dev-contribution.d.ts.map +0 -1
- package/lib/browser/merge-editor/merge-editor-dev-contribution.js +0 -151
- package/lib/browser/merge-editor/merge-editor-dev-contribution.js.map +0 -1
- package/lib/browser/merge-editor/merge-editor-module.d.ts +0 -24
- package/lib/browser/merge-editor/merge-editor-module.d.ts.map +0 -1
- package/lib/browser/merge-editor/merge-editor-module.js +0 -109
- package/lib/browser/merge-editor/merge-editor-module.js.map +0 -1
- package/lib/browser/merge-editor/merge-editor.d.ts +0 -122
- package/lib/browser/merge-editor/merge-editor.d.ts.map +0 -1
- package/lib/browser/merge-editor/merge-editor.js +0 -560
- package/lib/browser/merge-editor/merge-editor.js.map +0 -1
- package/lib/browser/merge-editor/model/line-range.d.ts +0 -37
- package/lib/browser/merge-editor/model/line-range.d.ts.map +0 -1
- package/lib/browser/merge-editor/model/line-range.js +0 -111
- package/lib/browser/merge-editor/model/line-range.js.map +0 -1
- package/lib/browser/merge-editor/model/live-diff.d.ts +0 -26
- package/lib/browser/merge-editor/model/live-diff.d.ts.map +0 -1
- package/lib/browser/merge-editor/model/live-diff.js +0 -85
- package/lib/browser/merge-editor/model/live-diff.js.map +0 -1
- package/lib/browser/merge-editor/model/merge-editor-model.d.ts +0 -116
- package/lib/browser/merge-editor/model/merge-editor-model.d.ts.map +0 -1
- package/lib/browser/merge-editor/model/merge-editor-model.js +0 -507
- package/lib/browser/merge-editor/model/merge-editor-model.js.map +0 -1
- package/lib/browser/merge-editor/model/merge-range.d.ts +0 -50
- package/lib/browser/merge-editor/model/merge-range.d.ts.map +0 -1
- package/lib/browser/merge-editor/model/merge-range.js +0 -215
- package/lib/browser/merge-editor/model/merge-range.js.map +0 -1
- package/lib/browser/merge-editor/model/range-editing.d.ts +0 -21
- package/lib/browser/merge-editor/model/range-editing.d.ts.map +0 -1
- package/lib/browser/merge-editor/model/range-editing.js +0 -68
- package/lib/browser/merge-editor/model/range-editing.js.map +0 -1
- package/lib/browser/merge-editor/model/range-mapping.d.ts +0 -106
- package/lib/browser/merge-editor/model/range-mapping.d.ts.map +0 -1
- package/lib/browser/merge-editor/model/range-mapping.js +0 -252
- package/lib/browser/merge-editor/model/range-mapping.js.map +0 -1
- package/lib/browser/merge-editor/model/range-mapping.spec.d.ts +0 -2
- package/lib/browser/merge-editor/model/range-mapping.spec.d.ts.map +0 -1
- package/lib/browser/merge-editor/model/range-mapping.spec.js +0 -48
- package/lib/browser/merge-editor/model/range-mapping.spec.js.map +0 -1
- package/lib/browser/merge-editor/model/range-utils.d.ts +0 -25
- package/lib/browser/merge-editor/model/range-utils.d.ts.map +0 -1
- package/lib/browser/merge-editor/model/range-utils.js +0 -118
- package/lib/browser/merge-editor/model/range-utils.js.map +0 -1
- package/lib/browser/merge-editor/view/diff-spacers.d.ts +0 -50
- package/lib/browser/merge-editor/view/diff-spacers.d.ts.map +0 -1
- package/lib/browser/merge-editor/view/diff-spacers.js +0 -133
- package/lib/browser/merge-editor/view/diff-spacers.js.map +0 -1
- package/lib/browser/merge-editor/view/merge-editor-panes/index.d.ts +0 -6
- package/lib/browser/merge-editor/view/merge-editor-panes/index.d.ts.map +0 -1
- package/lib/browser/merge-editor/view/merge-editor-panes/index.js +0 -24
- package/lib/browser/merge-editor/view/merge-editor-panes/index.js.map +0 -1
- package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-base-pane.d.ts +0 -12
- package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-base-pane.d.ts.map +0 -1
- package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-base-pane.js +0 -65
- package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-base-pane.js.map +0 -1
- package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-pane-header.d.ts +0 -30
- package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-pane-header.d.ts.map +0 -1
- package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-pane-header.js +0 -102
- package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-pane-header.js.map +0 -1
- package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-pane.d.ts +0 -49
- package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-pane.d.ts.map +0 -1
- package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-pane.js +0 -214
- package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-pane.js.map +0 -1
- package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-result-pane.d.ts +0 -16
- package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-result-pane.d.ts.map +0 -1
- package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-result-pane.js +0 -107
- package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-result-pane.js.map +0 -1
- package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-side-pane.d.ts +0 -27
- package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-side-pane.d.ts.map +0 -1
- package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-side-pane.js +0 -135
- package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-side-pane.js.map +0 -1
- package/lib/browser/merge-editor/view/merge-editor-scroll-sync.d.ts +0 -20
- package/lib/browser/merge-editor/view/merge-editor-scroll-sync.d.ts.map +0 -1
- package/lib/browser/merge-editor/view/merge-editor-scroll-sync.js +0 -218
- package/lib/browser/merge-editor/view/merge-editor-scroll-sync.js.map +0 -1
- package/lib/browser/merge-editor/view/merge-editor-view-zones.d.ts +0 -57
- package/lib/browser/merge-editor/view/merge-editor-view-zones.d.ts.map +0 -1
- package/lib/browser/merge-editor/view/merge-editor-view-zones.js +0 -218
- package/lib/browser/merge-editor/view/merge-editor-view-zones.js.map +0 -1
- package/lib/browser/merge-editor/view/merge-range-actions.d.ts +0 -23
- package/lib/browser/merge-editor/view/merge-range-actions.d.ts.map +0 -1
- package/lib/browser/merge-editor/view/merge-range-actions.js +0 -142
- package/lib/browser/merge-editor/view/merge-range-actions.js.map +0 -1
- package/lib/browser/scm-amend-component.d.ts +0 -124
- package/lib/browser/scm-amend-component.d.ts.map +0 -1
- package/lib/browser/scm-amend-component.js +0 -464
- package/lib/browser/scm-amend-component.js.map +0 -1
- package/lib/browser/scm-amend-widget.d.ts +0 -21
- package/lib/browser/scm-amend-widget.d.ts.map +0 -1
- package/lib/browser/scm-amend-widget.js +0 -91
- package/lib/browser/scm-amend-widget.js.map +0 -1
- package/lib/browser/scm-avatar-service.d.ts +0 -4
- package/lib/browser/scm-avatar-service.d.ts.map +0 -1
- package/lib/browser/scm-avatar-service.js +0 -32
- package/lib/browser/scm-avatar-service.js.map +0 -1
- package/lib/browser/scm-colors.d.ts +0 -8
- package/lib/browser/scm-colors.d.ts.map +0 -1
- package/lib/browser/scm-colors.js +0 -27
- package/lib/browser/scm-colors.js.map +0 -1
- package/lib/browser/scm-commit-widget.d.ts +0 -53
- package/lib/browser/scm-commit-widget.d.ts.map +0 -1
- package/lib/browser/scm-commit-widget.js +0 -188
- package/lib/browser/scm-commit-widget.js.map +0 -1
- package/lib/browser/scm-context-key-service.d.ts +0 -13
- package/lib/browser/scm-context-key-service.d.ts.map +0 -1
- package/lib/browser/scm-context-key-service.js +0 -55
- package/lib/browser/scm-context-key-service.js.map +0 -1
- package/lib/browser/scm-contribution.d.ts +0 -98
- package/lib/browser/scm-contribution.d.ts.map +0 -1
- package/lib/browser/scm-contribution.js +0 -480
- package/lib/browser/scm-contribution.js.map +0 -1
- package/lib/browser/scm-frontend-module.d.ts +0 -7
- package/lib/browser/scm-frontend-module.d.ts.map +0 -1
- package/lib/browser/scm-frontend-module.js +0 -129
- package/lib/browser/scm-frontend-module.js.map +0 -1
- package/lib/browser/scm-groups-tree-model.d.ts +0 -15
- package/lib/browser/scm-groups-tree-model.d.ts.map +0 -1
- package/lib/browser/scm-groups-tree-model.js +0 -90
- package/lib/browser/scm-groups-tree-model.js.map +0 -1
- package/lib/browser/scm-input.d.ts +0 -54
- package/lib/browser/scm-input.d.ts.map +0 -1
- package/lib/browser/scm-input.js +0 -128
- package/lib/browser/scm-input.js.map +0 -1
- package/lib/browser/scm-layout-migrations.d.ts +0 -10
- package/lib/browser/scm-layout-migrations.d.ts.map +0 -1
- package/lib/browser/scm-layout-migrations.js +0 -75
- package/lib/browser/scm-layout-migrations.js.map +0 -1
- package/lib/browser/scm-no-repository-widget.d.ts +0 -9
- package/lib/browser/scm-no-repository-widget.d.ts.map +0 -1
- package/lib/browser/scm-no-repository-widget.js +0 -42
- package/lib/browser/scm-no-repository-widget.js.map +0 -1
- package/lib/browser/scm-provider.d.ts +0 -60
- package/lib/browser/scm-provider.d.ts.map +0 -1
- package/lib/browser/scm-provider.js +0 -20
- package/lib/browser/scm-provider.js.map +0 -1
- package/lib/browser/scm-quick-open-service.d.ts +0 -12
- package/lib/browser/scm-quick-open-service.d.ts.map +0 -1
- package/lib/browser/scm-quick-open-service.js +0 -66
- package/lib/browser/scm-quick-open-service.js.map +0 -1
- package/lib/browser/scm-repository.d.ts +0 -18
- package/lib/browser/scm-repository.d.ts.map +0 -1
- package/lib/browser/scm-repository.js +0 -42
- package/lib/browser/scm-repository.js.map +0 -1
- package/lib/browser/scm-service.d.ts +0 -27
- package/lib/browser/scm-service.d.ts.map +0 -1
- package/lib/browser/scm-service.js +0 -101
- package/lib/browser/scm-service.js.map +0 -1
- package/lib/browser/scm-tree-label-provider.d.ts +0 -8
- package/lib/browser/scm-tree-label-provider.d.ts.map +0 -1
- package/lib/browser/scm-tree-label-provider.js +0 -50
- package/lib/browser/scm-tree-label-provider.js.map +0 -1
- package/lib/browser/scm-tree-model.d.ts +0 -76
- package/lib/browser/scm-tree-model.d.ts.map +0 -1
- package/lib/browser/scm-tree-model.js +0 -349
- package/lib/browser/scm-tree-model.js.map +0 -1
- package/lib/browser/scm-tree-widget.d.ts +0 -206
- package/lib/browser/scm-tree-widget.d.ts.map +0 -1
- package/lib/browser/scm-tree-widget.js +0 -677
- package/lib/browser/scm-tree-widget.js.map +0 -1
- package/lib/browser/scm-widget.d.ts +0 -42
- package/lib/browser/scm-widget.d.ts.map +0 -1
- package/lib/browser/scm-widget.js +0 -220
- package/lib/browser/scm-widget.js.map +0 -1
- package/lib/common/scm-preferences.d.ts +0 -12
- package/lib/common/scm-preferences.d.ts.map +0 -1
- package/lib/common/scm-preferences.js +0 -51
- package/lib/common/scm-preferences.js.map +0 -1
- package/lib/node/scm-backend-module.d.ts +0 -4
- package/lib/node/scm-backend-module.d.ts.map +0 -1
- package/lib/node/scm-backend-module.js +0 -23
- package/lib/node/scm-backend-module.js.map +0 -1
|
@@ -1,252 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// *****************************************************************************
|
|
3
|
-
// Copyright (C) 2025 1C-Soft LLC and others.
|
|
4
|
-
//
|
|
5
|
-
// This program and the accompanying materials are made available under the
|
|
6
|
-
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
-
// http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
-
//
|
|
9
|
-
// This Source Code may also be made available under the following Secondary
|
|
10
|
-
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
-
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
-
// with the GNU Classpath Exception which is available at
|
|
13
|
-
// https://www.gnu.org/software/classpath/license.html.
|
|
14
|
-
//
|
|
15
|
-
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
16
|
-
// *****************************************************************************
|
|
17
|
-
/*---------------------------------------------------------------------------------------------
|
|
18
|
-
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
19
|
-
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
20
|
-
*--------------------------------------------------------------------------------------------*/
|
|
21
|
-
// copied and modified from https://github.com/microsoft/vscode/blob/1.96.3/src/vs/workbench/contrib/mergeEditor/browser/model/mapping.ts
|
|
22
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
23
|
-
exports.DocumentRangeMap = exports.RangeMapping = exports.DetailedLineRangeMapping = exports.MappingAlignment = exports.DocumentLineRangeMap = exports.LineRangeMapping = void 0;
|
|
24
|
-
const core_1 = require("@theia/core");
|
|
25
|
-
const editor_1 = require("@theia/editor/lib/browser/editor");
|
|
26
|
-
const line_range_1 = require("./line-range");
|
|
27
|
-
const range_editing_1 = require("./range-editing");
|
|
28
|
-
const range_utils_1 = require("./range-utils");
|
|
29
|
-
/**
|
|
30
|
-
* Maps a line range in the original text document to a line range in the modified text document.
|
|
31
|
-
*/
|
|
32
|
-
class LineRangeMapping {
|
|
33
|
-
static join(mappings) {
|
|
34
|
-
return mappings.reduce((acc, cur) => acc ? acc.join(cur) : cur, undefined);
|
|
35
|
-
}
|
|
36
|
-
constructor(originalRange, modifiedRange) {
|
|
37
|
-
this.originalRange = originalRange;
|
|
38
|
-
this.modifiedRange = modifiedRange;
|
|
39
|
-
}
|
|
40
|
-
toString() {
|
|
41
|
-
return `${this.originalRange.toString()} -> ${this.modifiedRange.toString()}`;
|
|
42
|
-
}
|
|
43
|
-
join(other) {
|
|
44
|
-
return new LineRangeMapping(this.originalRange.join(other.originalRange), this.modifiedRange.join(other.modifiedRange));
|
|
45
|
-
}
|
|
46
|
-
addModifiedLineDelta(delta) {
|
|
47
|
-
return new LineRangeMapping(this.originalRange, this.modifiedRange.delta(delta));
|
|
48
|
-
}
|
|
49
|
-
addOriginalLineDelta(delta) {
|
|
50
|
-
return new LineRangeMapping(this.originalRange.delta(delta), this.modifiedRange);
|
|
51
|
-
}
|
|
52
|
-
reverse() {
|
|
53
|
-
return new LineRangeMapping(this.modifiedRange, this.originalRange);
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
exports.LineRangeMapping = LineRangeMapping;
|
|
57
|
-
/**
|
|
58
|
-
* Represents a total monotonous mapping of line ranges in one document to another document.
|
|
59
|
-
*/
|
|
60
|
-
class DocumentLineRangeMap {
|
|
61
|
-
static betweenModifiedSides(side1Diff, side2Diff) {
|
|
62
|
-
const alignments = MappingAlignment.computeAlignments(side1Diff, side2Diff);
|
|
63
|
-
const mappings = alignments.map(alignment => new LineRangeMapping(alignment.side1Range, alignment.side2Range));
|
|
64
|
-
return new DocumentLineRangeMap(mappings);
|
|
65
|
-
}
|
|
66
|
-
constructor(
|
|
67
|
-
/**
|
|
68
|
-
* The line range mappings that define this document mapping.
|
|
69
|
-
* The number of lines between two adjacent original ranges must equal the number of lines between their corresponding modified ranges.
|
|
70
|
-
*/
|
|
71
|
-
lineRangeMappings) {
|
|
72
|
-
this.lineRangeMappings = lineRangeMappings;
|
|
73
|
-
if (!core_1.ArrayUtils.checkAdjacentItems(lineRangeMappings, (m1, m2) => m1.originalRange.isBefore(m2.originalRange) && m1.modifiedRange.isBefore(m2.modifiedRange) &&
|
|
74
|
-
m2.originalRange.startLineNumber - m1.originalRange.endLineNumberExclusive === m2.modifiedRange.startLineNumber - m1.modifiedRange.endLineNumberExclusive)) {
|
|
75
|
-
throw new Error('Illegal line range mappings');
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
/**
|
|
79
|
-
* @param lineNumber 0-based line number in the original text document
|
|
80
|
-
*/
|
|
81
|
-
projectLine(lineNumber) {
|
|
82
|
-
const lastBefore = core_1.ArrayUtils.findLast(this.lineRangeMappings, m => m.originalRange.startLineNumber <= lineNumber);
|
|
83
|
-
if (!lastBefore) {
|
|
84
|
-
return new LineRangeMapping(new line_range_1.LineRange(lineNumber, 1), new line_range_1.LineRange(lineNumber, 1));
|
|
85
|
-
}
|
|
86
|
-
if (lastBefore.originalRange.containsLine(lineNumber)) {
|
|
87
|
-
return lastBefore;
|
|
88
|
-
}
|
|
89
|
-
return new LineRangeMapping(new line_range_1.LineRange(lineNumber, 1), new line_range_1.LineRange(lineNumber + lastBefore.modifiedRange.endLineNumberExclusive - lastBefore.originalRange.endLineNumberExclusive, 1));
|
|
90
|
-
}
|
|
91
|
-
reverse() {
|
|
92
|
-
return new DocumentLineRangeMap(this.lineRangeMappings.map(m => m.reverse()));
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
exports.DocumentLineRangeMap = DocumentLineRangeMap;
|
|
96
|
-
/**
|
|
97
|
-
* Aligns mappings for two modified sides with a common base range.
|
|
98
|
-
*/
|
|
99
|
-
class MappingAlignment {
|
|
100
|
-
static computeAlignments(side1Mappings, side2Mappings) {
|
|
101
|
-
const combinedMappings = side1Mappings.map(mapping => ({ source: 0, mapping })).concat(side2Mappings.map(mapping => ({ source: 1, mapping }))).sort((a, b) => line_range_1.LineRange.compareByStart(a.mapping.originalRange, b.mapping.originalRange));
|
|
102
|
-
const currentMappings = [new Array(), new Array()];
|
|
103
|
-
const currentDelta = [0, 0];
|
|
104
|
-
const alignments = new Array();
|
|
105
|
-
function pushAlignment(baseRange) {
|
|
106
|
-
const mapping1 = LineRangeMapping.join(currentMappings[0]) || new LineRangeMapping(baseRange, baseRange.delta(currentDelta[0]));
|
|
107
|
-
const mapping2 = LineRangeMapping.join(currentMappings[1]) || new LineRangeMapping(baseRange, baseRange.delta(currentDelta[1]));
|
|
108
|
-
function getAlignedModifiedRange(m) {
|
|
109
|
-
const startDelta = baseRange.startLineNumber - m.originalRange.startLineNumber;
|
|
110
|
-
const endDelta = baseRange.endLineNumberExclusive - m.originalRange.endLineNumberExclusive;
|
|
111
|
-
return new line_range_1.LineRange(m.modifiedRange.startLineNumber + startDelta, m.modifiedRange.lineCount - startDelta + endDelta);
|
|
112
|
-
}
|
|
113
|
-
alignments.push(new MappingAlignment(baseRange, getAlignedModifiedRange(mapping1), currentMappings[0], getAlignedModifiedRange(mapping2), currentMappings[1]));
|
|
114
|
-
currentMappings[0] = [];
|
|
115
|
-
currentMappings[1] = [];
|
|
116
|
-
}
|
|
117
|
-
let currentBaseRange;
|
|
118
|
-
for (const current of combinedMappings) {
|
|
119
|
-
const { originalRange, modifiedRange } = current.mapping;
|
|
120
|
-
if (currentBaseRange && !currentBaseRange.touches(originalRange)) {
|
|
121
|
-
pushAlignment(currentBaseRange);
|
|
122
|
-
currentBaseRange = undefined;
|
|
123
|
-
}
|
|
124
|
-
currentBaseRange = currentBaseRange ? currentBaseRange.join(originalRange) : originalRange;
|
|
125
|
-
currentMappings[current.source].push(current.mapping);
|
|
126
|
-
currentDelta[current.source] = modifiedRange.endLineNumberExclusive - originalRange.endLineNumberExclusive;
|
|
127
|
-
}
|
|
128
|
-
if (currentBaseRange) {
|
|
129
|
-
pushAlignment(currentBaseRange);
|
|
130
|
-
}
|
|
131
|
-
return alignments;
|
|
132
|
-
}
|
|
133
|
-
constructor(baseRange, side1Range, side1Mappings, side2Range, side2Mappings) {
|
|
134
|
-
this.baseRange = baseRange;
|
|
135
|
-
this.side1Range = side1Range;
|
|
136
|
-
this.side1Mappings = side1Mappings;
|
|
137
|
-
this.side2Range = side2Range;
|
|
138
|
-
this.side2Mappings = side2Mappings;
|
|
139
|
-
}
|
|
140
|
-
toString() {
|
|
141
|
-
return `${this.side1Range} <- ${this.baseRange} -> ${this.side2Range}`;
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
exports.MappingAlignment = MappingAlignment;
|
|
145
|
-
/**
|
|
146
|
-
* A line range mapping with inner range mappings.
|
|
147
|
-
*/
|
|
148
|
-
class DetailedLineRangeMapping extends LineRangeMapping {
|
|
149
|
-
static join(mappings) {
|
|
150
|
-
return mappings.reduce((acc, cur) => acc ? acc.join(cur) : cur, undefined);
|
|
151
|
-
}
|
|
152
|
-
constructor(originalRange, originalDocument, modifiedRange, modifiedDocument, rangeMappings) {
|
|
153
|
-
super(originalRange, modifiedRange);
|
|
154
|
-
this.originalDocument = originalDocument;
|
|
155
|
-
this.modifiedDocument = modifiedDocument;
|
|
156
|
-
this.rangeMappings = rangeMappings || [new RangeMapping(originalRange.toRange(), modifiedRange.toRange())];
|
|
157
|
-
}
|
|
158
|
-
join(other) {
|
|
159
|
-
return new DetailedLineRangeMapping(this.originalRange.join(other.originalRange), this.originalDocument, this.modifiedRange.join(other.modifiedRange), this.modifiedDocument);
|
|
160
|
-
}
|
|
161
|
-
addModifiedLineDelta(delta) {
|
|
162
|
-
return new DetailedLineRangeMapping(this.originalRange, this.originalDocument, this.modifiedRange.delta(delta), this.modifiedDocument, this.rangeMappings.map(m => m.addModifiedLineDelta(delta)));
|
|
163
|
-
}
|
|
164
|
-
addOriginalLineDelta(delta) {
|
|
165
|
-
return new DetailedLineRangeMapping(this.originalRange.delta(delta), this.originalDocument, this.modifiedRange, this.modifiedDocument, this.rangeMappings.map(m => m.addOriginalLineDelta(delta)));
|
|
166
|
-
}
|
|
167
|
-
reverse() {
|
|
168
|
-
return new DetailedLineRangeMapping(this.modifiedRange, this.modifiedDocument, this.originalRange, this.originalDocument, this.rangeMappings.map(m => m.reverse()));
|
|
169
|
-
}
|
|
170
|
-
getLineEdit() {
|
|
171
|
-
return new range_editing_1.LineRangeEdit(this.originalRange, this.getModifiedLines());
|
|
172
|
-
}
|
|
173
|
-
getReverseLineEdit() {
|
|
174
|
-
return new range_editing_1.LineRangeEdit(this.modifiedRange, this.getOriginalLines());
|
|
175
|
-
}
|
|
176
|
-
getModifiedLines() {
|
|
177
|
-
return this.modifiedRange.getLines(this.modifiedDocument);
|
|
178
|
-
}
|
|
179
|
-
getOriginalLines() {
|
|
180
|
-
return this.originalRange.getLines(this.originalDocument);
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
exports.DetailedLineRangeMapping = DetailedLineRangeMapping;
|
|
184
|
-
/**
|
|
185
|
-
* Maps a range in the original text document to a range in the modified text document.
|
|
186
|
-
*/
|
|
187
|
-
class RangeMapping {
|
|
188
|
-
constructor(originalRange, modifiedRange) {
|
|
189
|
-
this.originalRange = originalRange;
|
|
190
|
-
this.modifiedRange = modifiedRange;
|
|
191
|
-
}
|
|
192
|
-
toString() {
|
|
193
|
-
function rangeToString(range) {
|
|
194
|
-
return `[${range.start.line}:${range.start.character}, ${range.end.line}:${range.end.character})`;
|
|
195
|
-
}
|
|
196
|
-
return `${rangeToString(this.originalRange)} -> ${rangeToString(this.modifiedRange)}`;
|
|
197
|
-
}
|
|
198
|
-
addModifiedLineDelta(deltaLines) {
|
|
199
|
-
return new RangeMapping(this.originalRange, editor_1.Range.create(this.modifiedRange.start.line + deltaLines, this.modifiedRange.start.character, this.modifiedRange.end.line + deltaLines, this.modifiedRange.end.character));
|
|
200
|
-
}
|
|
201
|
-
addOriginalLineDelta(deltaLines) {
|
|
202
|
-
return new RangeMapping(editor_1.Range.create(this.originalRange.start.line + deltaLines, this.originalRange.start.character, this.originalRange.end.line + deltaLines, this.originalRange.end.character), this.modifiedRange);
|
|
203
|
-
}
|
|
204
|
-
reverse() {
|
|
205
|
-
return new RangeMapping(this.modifiedRange, this.originalRange);
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
|
-
exports.RangeMapping = RangeMapping;
|
|
209
|
-
/**
|
|
210
|
-
* Represents a total monotonous mapping of ranges in one document to another document.
|
|
211
|
-
*/
|
|
212
|
-
class DocumentRangeMap {
|
|
213
|
-
constructor(
|
|
214
|
-
/**
|
|
215
|
-
* The range mappings that define this document mapping.
|
|
216
|
-
*/
|
|
217
|
-
rangeMappings) {
|
|
218
|
-
this.rangeMappings = rangeMappings;
|
|
219
|
-
if (!core_1.ArrayUtils.checkAdjacentItems(rangeMappings, (m1, m2) => range_utils_1.RangeUtils.isBeforeOrTouching(m1.originalRange, m2.originalRange) &&
|
|
220
|
-
range_utils_1.RangeUtils.isBeforeOrTouching(m1.modifiedRange, m2.modifiedRange))) {
|
|
221
|
-
throw new Error('Illegal range mappings');
|
|
222
|
-
}
|
|
223
|
-
}
|
|
224
|
-
/**
|
|
225
|
-
* @param position position in the original text document
|
|
226
|
-
*/
|
|
227
|
-
projectPosition(position) {
|
|
228
|
-
const lastBefore = core_1.ArrayUtils.findLast(this.rangeMappings, m => range_utils_1.PositionUtils.isBeforeOrEqual(m.originalRange.start, position));
|
|
229
|
-
if (!lastBefore) {
|
|
230
|
-
return new RangeMapping(editor_1.Range.create(position, position), editor_1.Range.create(position, position));
|
|
231
|
-
}
|
|
232
|
-
if (range_utils_1.RangeUtils.containsPosition(lastBefore.originalRange, position)) {
|
|
233
|
-
return lastBefore;
|
|
234
|
-
}
|
|
235
|
-
const relativePosition = range_utils_1.PositionUtils.relativize(lastBefore.originalRange.end, position);
|
|
236
|
-
const modifiedRangePosition = range_utils_1.PositionUtils.resolve(lastBefore.modifiedRange.end, relativePosition);
|
|
237
|
-
return new RangeMapping(editor_1.Range.create(position, position), editor_1.Range.create(modifiedRangePosition, modifiedRangePosition));
|
|
238
|
-
}
|
|
239
|
-
/**
|
|
240
|
-
* @param range range in the original text document
|
|
241
|
-
*/
|
|
242
|
-
projectRange(range) {
|
|
243
|
-
const start = this.projectPosition(range.start);
|
|
244
|
-
const end = this.projectPosition(range.end);
|
|
245
|
-
return new RangeMapping(range_utils_1.RangeUtils.union(start.originalRange, end.originalRange), range_utils_1.RangeUtils.union(start.modifiedRange, end.modifiedRange));
|
|
246
|
-
}
|
|
247
|
-
reverse() {
|
|
248
|
-
return new DocumentRangeMap(this.rangeMappings.map(m => m.reverse()));
|
|
249
|
-
}
|
|
250
|
-
}
|
|
251
|
-
exports.DocumentRangeMap = DocumentRangeMap;
|
|
252
|
-
//# sourceMappingURL=range-mapping.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"range-mapping.js","sourceRoot":"","sources":["../../../../src/browser/merge-editor/model/range-mapping.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,6CAA6C;AAC7C,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;AAChF;;;gGAGgG;AAChG,yIAAyI;;;AAEzI,sCAAyC;AACzC,6DAAuF;AACvF,6CAAyC;AACzC,mDAAgD;AAChD,+CAA0D;AAE1D;;GAEG;AACH,MAAa,gBAAgB;IAEzB,MAAM,CAAC,IAAI,CAAC,QAAqC;QAC7C,OAAO,QAAQ,CAAC,MAAM,CAA+B,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAC7G,CAAC;IAED,YACa,aAAwB,EACxB,aAAwB;QADxB,kBAAa,GAAb,aAAa,CAAW;QACxB,kBAAa,GAAb,aAAa,CAAW;IACjC,CAAC;IAEL,QAAQ;QACJ,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,EAAE,CAAC;IAClF,CAAC;IAED,IAAI,CAAC,KAAuB;QACxB,OAAO,IAAI,gBAAgB,CACvB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,EAC5C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAC/C,CAAC;IACN,CAAC;IAED,oBAAoB,CAAC,KAAa;QAC9B,OAAO,IAAI,gBAAgB,CACvB,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAClC,CAAC;IACN,CAAC;IAED,oBAAoB,CAAC,KAAa;QAC9B,OAAO,IAAI,gBAAgB,CACvB,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,EAC/B,IAAI,CAAC,aAAa,CACrB,CAAC;IACN,CAAC;IAED,OAAO;QACH,OAAO,IAAI,gBAAgB,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IACxE,CAAC;CACJ;AAvCD,4CAuCC;AAED;;GAEG;AACH,MAAa,oBAAoB;IAE7B,MAAM,CAAC,oBAAoB,CACvB,SAAsC,EACtC,SAAsC;QAEtC,MAAM,UAAU,GAAG,gBAAgB,CAAC,iBAAiB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC5E,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,gBAAgB,CAAC,SAAS,CAAC,UAAU,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QAC/G,OAAO,IAAI,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAED;IACI;;;OAGG;IACM,iBAA8C;QAA9C,sBAAiB,GAAjB,iBAAiB,CAA6B;QAEvD,IAAI,CAAC,iBAAU,CAAC,kBAAkB,CAAC,iBAAiB,EAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC,aAAa,CAAC;YAClG,EAAE,CAAC,aAAa,CAAC,eAAe,GAAG,EAAE,CAAC,aAAa,CAAC,sBAAsB,KAAK,EAAE,CAAC,aAAa,CAAC,eAAe,GAAG,EAAE,CAAC,aAAa,CAAC,sBAAsB,CAChK,EAAE,CAAC;YACA,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACnD,CAAC;IACL,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,UAAkB;QAC1B,MAAM,UAAU,GAAG,iBAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,eAAe,IAAI,UAAU,CAAC,CAAC;QACnH,IAAI,CAAC,UAAU,EAAE,CAAC;YACd,OAAO,IAAI,gBAAgB,CACvB,IAAI,sBAAS,CAAC,UAAU,EAAE,CAAC,CAAC,EAC5B,IAAI,sBAAS,CAAC,UAAU,EAAE,CAAC,CAAC,CAC/B,CAAC;QACN,CAAC;QAED,IAAI,UAAU,CAAC,aAAa,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC;YACpD,OAAO,UAAU,CAAC;QACtB,CAAC;QAED,OAAO,IAAI,gBAAgB,CACvB,IAAI,sBAAS,CAAC,UAAU,EAAE,CAAC,CAAC,EAC5B,IAAI,sBAAS,CAAC,UAAU,GAAG,UAAU,CAAC,aAAa,CAAC,sBAAsB,GAAG,UAAU,CAAC,aAAa,CAAC,sBAAsB,EAAE,CAAC,CAAC,CACnI,CAAC;IACN,CAAC;IAED,OAAO;QACH,OAAO,IAAI,oBAAoB,CAC3B,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAC/C,CAAC;IACN,CAAC;CACJ;AArDD,oDAqDC;AAED;;GAEG;AACH,MAAa,gBAAgB;IAEzB,MAAM,CAAC,iBAAiB,CACpB,aAA2B,EAC3B,aAA2B;QAE3B,MAAM,gBAAgB,GAClB,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CACzD,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CACxD,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,sBAAS,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QAElG,MAAM,eAAe,GAAG,CAAC,IAAI,KAAK,EAAK,EAAE,IAAI,KAAK,EAAK,CAAC,CAAC;QACzD,MAAM,YAAY,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAE5B,MAAM,UAAU,GAAG,IAAI,KAAK,EAAuB,CAAC;QAEpD,SAAS,aAAa,CAAC,SAAoB;YACvC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,gBAAgB,CAAC,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAChI,MAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,gBAAgB,CAAC,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAEhI,SAAS,uBAAuB,CAAC,CAAmB;gBAChD,MAAM,UAAU,GAAG,SAAS,CAAC,eAAe,GAAG,CAAC,CAAC,aAAa,CAAC,eAAe,CAAC;gBAC/E,MAAM,QAAQ,GAAG,SAAS,CAAC,sBAAsB,GAAG,CAAC,CAAC,aAAa,CAAC,sBAAsB,CAAC;gBAC3F,OAAO,IAAI,sBAAS,CAChB,CAAC,CAAC,aAAa,CAAC,eAAe,GAAG,UAAU,EAC5C,CAAC,CAAC,aAAa,CAAC,SAAS,GAAG,UAAU,GAAG,QAAQ,CACpD,CAAC;YACN,CAAC;YAED,UAAU,CAAC,IAAI,CACX,IAAI,gBAAgB,CAChB,SAAS,EACT,uBAAuB,CAAC,QAAQ,CAAC,EACjC,eAAe,CAAC,CAAC,CAAC,EAClB,uBAAuB,CAAC,QAAQ,CAAC,EACjC,eAAe,CAAC,CAAC,CAAC,CACrB,CACJ,CAAC;YACF,eAAe,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;YACxB,eAAe,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QAC5B,CAAC;QAED,IAAI,gBAAuC,CAAC;QAE5C,KAAK,MAAM,OAAO,IAAI,gBAAgB,EAAE,CAAC;YACrC,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;YACzD,IAAI,gBAAgB,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;gBAC/D,aAAa,CAAC,gBAAgB,CAAC,CAAC;gBAChC,gBAAgB,GAAG,SAAS,CAAC;YACjC,CAAC;YACD,gBAAgB,GAAG,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;YAC3F,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACtD,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,aAAa,CAAC,sBAAsB,GAAG,aAAa,CAAC,sBAAsB,CAAC;QAC/G,CAAC;QACD,IAAI,gBAAgB,EAAE,CAAC;YACnB,aAAa,CAAC,gBAAgB,CAAC,CAAC;QACpC,CAAC;QAED,OAAO,UAAU,CAAC;IACtB,CAAC;IAED,YACa,SAAoB,EACpB,UAAqB,EACrB,aAA2B,EAC3B,UAAqB,EACrB,aAA2B;QAJ3B,cAAS,GAAT,SAAS,CAAW;QACpB,eAAU,GAAV,UAAU,CAAW;QACrB,kBAAa,GAAb,aAAa,CAAc;QAC3B,eAAU,GAAV,UAAU,CAAW;QACrB,kBAAa,GAAb,aAAa,CAAc;IACpC,CAAC;IAEL,QAAQ;QACJ,OAAO,GAAG,IAAI,CAAC,UAAU,OAAO,IAAI,CAAC,SAAS,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;IAC3E,CAAC;CACJ;AAxED,4CAwEC;AAED;;GAEG;AACH,MAAa,wBAAyB,SAAQ,gBAAgB;IAE1D,MAAM,CAAU,IAAI,CAAC,QAA6C;QAC9D,OAAO,QAAQ,CAAC,MAAM,CAAuC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IACrH,CAAC;IAID,YACI,aAAwB,EACf,gBAAoC,EAC7C,aAAwB,EACf,gBAAoC,EAC7C,aAAuC;QAEvC,KAAK,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;QAL3B,qBAAgB,GAAhB,gBAAgB,CAAoB;QAEpC,qBAAgB,GAAhB,gBAAgB,CAAoB;QAK7C,IAAI,CAAC,aAAa,GAAG,aAAa,IAAI,CAAC,IAAI,YAAY,CAAC,aAAa,CAAC,OAAO,EAAE,EAAE,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC/G,CAAC;IAEQ,IAAI,CAAC,KAA+B;QACzC,OAAO,IAAI,wBAAwB,CAC/B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,EAC5C,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,EAC5C,IAAI,CAAC,gBAAgB,CACxB,CAAC;IACN,CAAC;IAEQ,oBAAoB,CAAC,KAAa;QACvC,OAAO,IAAI,wBAAwB,CAC/B,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,EAC/B,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAC7D,CAAC;IACN,CAAC;IAEQ,oBAAoB,CAAC,KAAa;QACvC,OAAO,IAAI,wBAAwB,CAC/B,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,EAC/B,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAC7D,CAAC;IACN,CAAC;IAEQ,OAAO;QACZ,OAAO,IAAI,wBAAwB,CAC/B,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAC3C,CAAC;IACN,CAAC;IAED,WAAW;QACP,OAAO,IAAI,6BAAa,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED,kBAAkB;QACd,OAAO,IAAI,6BAAa,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED,gBAAgB;QACZ,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC9D,CAAC;IAED,gBAAgB;QACZ,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC9D,CAAC;CACJ;AA1ED,4DA0EC;AAED;;GAEG;AACH,MAAa,YAAY;IAErB,YACa,aAA8B,EAC9B,aAA8B;QAD9B,kBAAa,GAAb,aAAa,CAAiB;QAC9B,kBAAa,GAAb,aAAa,CAAiB;IACvC,CAAC;IAEL,QAAQ;QACJ,SAAS,aAAa,CAAC,KAAY;YAC/B,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC;QACtG,CAAC;QAED,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;IAC1F,CAAC;IAED,oBAAoB,CAAC,UAAkB;QACnC,OAAO,IAAI,YAAY,CACnB,IAAI,CAAC,aAAa,EAClB,cAAK,CAAC,MAAM,CACR,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,GAAG,UAAU,EAC1C,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,EAClC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,GAAG,UAAU,EACxC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CACnC,CACJ,CAAC;IACN,CAAC;IAED,oBAAoB,CAAC,UAAkB;QACnC,OAAO,IAAI,YAAY,CACnB,cAAK,CAAC,MAAM,CACR,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,GAAG,UAAU,EAC1C,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,EAClC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,GAAG,UAAU,EACxC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CACnC,EACD,IAAI,CAAC,aAAa,CACrB,CAAC;IACN,CAAC;IAED,OAAO;QACH,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IACpE,CAAC;CACJ;AA1CD,oCA0CC;AAED;;GAEG;AACH,MAAa,gBAAgB;IAEzB;IACI;;OAEG;IACM,aAAsC;QAAtC,kBAAa,GAAb,aAAa,CAAyB;QAE/C,IAAI,CAAC,iBAAU,CAAC,kBAAkB,CAC9B,aAAa,EACb,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CACP,wBAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC,aAAa,EAAE,EAAE,CAAC,aAAa,CAAC;YACjE,wBAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC,aAAa,EAAE,EAAE,CAAC,aAAa,CAAC,CACxE,EAAE,CAAC;YACA,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC9C,CAAC;IACL,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,QAAkB;QAC9B,MAAM,UAAU,GAAG,iBAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,2BAAa,CAAC,eAAe,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;QAChI,IAAI,CAAC,UAAU,EAAE,CAAC;YACd,OAAO,IAAI,YAAY,CACnB,cAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAChC,cAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,CACnC,CAAC;QACN,CAAC;QAED,IAAI,wBAAU,CAAC,gBAAgB,CAAC,UAAU,CAAC,aAAa,EAAE,QAAQ,CAAC,EAAE,CAAC;YAClE,OAAO,UAAU,CAAC;QACtB,CAAC;QAED,MAAM,gBAAgB,GAAG,2BAAa,CAAC,UAAU,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAC1F,MAAM,qBAAqB,GAAG,2BAAa,CAAC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;QAEpG,OAAO,IAAI,YAAY,CACnB,cAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAChC,cAAK,CAAC,MAAM,CAAC,qBAAqB,EAAE,qBAAqB,CAAC,CAC7D,CAAC;IACN,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,KAAY;QACrB,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAChD,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5C,OAAO,IAAI,YAAY,CACnB,wBAAU,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,EAAE,GAAG,CAAC,aAAa,CAAC,EACxD,wBAAU,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,EAAE,GAAG,CAAC,aAAa,CAAC,CAC3D,CAAC;IACN,CAAC;IAED,OAAO;QACH,OAAO,IAAI,gBAAgB,CACvB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAC3C,CAAC;IACN,CAAC;CACJ;AA5DD,4CA4DC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"range-mapping.spec.d.ts","sourceRoot":"","sources":["../../../../src/browser/merge-editor/model/range-mapping.spec.ts"],"names":[],"mappings":""}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// *****************************************************************************
|
|
3
|
-
// Copyright (C) 2025 1C-Soft LLC and others.
|
|
4
|
-
//
|
|
5
|
-
// This program and the accompanying materials are made available under the
|
|
6
|
-
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
-
// http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
-
//
|
|
9
|
-
// This Source Code may also be made available under the following Secondary
|
|
10
|
-
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
-
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
-
// with the GNU Classpath Exception which is available at
|
|
13
|
-
// https://www.gnu.org/software/classpath/license.html.
|
|
14
|
-
//
|
|
15
|
-
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
16
|
-
// *****************************************************************************
|
|
17
|
-
/*---------------------------------------------------------------------------------------------
|
|
18
|
-
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
19
|
-
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
20
|
-
*--------------------------------------------------------------------------------------------*/
|
|
21
|
-
// copied and modified from https://github.com/microsoft/vscode/blob/1.96.3/src/vs/workbench/contrib/mergeEditor/test/browser/mapping.test.ts
|
|
22
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
23
|
-
const chai_1 = require("chai");
|
|
24
|
-
const vscode_languageserver_protocol_1 = require("@theia/core/shared/vscode-languageserver-protocol");
|
|
25
|
-
const range_mapping_1 = require("./range-mapping");
|
|
26
|
-
describe('document-range-map', () => {
|
|
27
|
-
it('project', () => {
|
|
28
|
-
const documentRangeMap = new range_mapping_1.DocumentRangeMap([
|
|
29
|
-
new range_mapping_1.RangeMapping(vscode_languageserver_protocol_1.Range.create(2, 4, 2, 6), vscode_languageserver_protocol_1.Range.create(2, 4, 2, 7)),
|
|
30
|
-
new range_mapping_1.RangeMapping(vscode_languageserver_protocol_1.Range.create(3, 2, 4, 3), vscode_languageserver_protocol_1.Range.create(3, 2, 6, 4)),
|
|
31
|
-
new range_mapping_1.RangeMapping(vscode_languageserver_protocol_1.Range.create(4, 5, 4, 7), vscode_languageserver_protocol_1.Range.create(6, 6, 6, 9)),
|
|
32
|
-
]);
|
|
33
|
-
const project = (line, character) => documentRangeMap.projectPosition({ line, character }).toString();
|
|
34
|
-
(0, chai_1.expect)(project(1, 1)).to.be.equal('[1:1, 1:1) -> [1:1, 1:1)');
|
|
35
|
-
(0, chai_1.expect)(project(2, 3)).to.be.equal('[2:3, 2:3) -> [2:3, 2:3)');
|
|
36
|
-
(0, chai_1.expect)(project(2, 4)).to.be.equal('[2:4, 2:6) -> [2:4, 2:7)');
|
|
37
|
-
(0, chai_1.expect)(project(2, 5)).to.be.equal('[2:4, 2:6) -> [2:4, 2:7)');
|
|
38
|
-
(0, chai_1.expect)(project(2, 6)).to.be.equal('[2:6, 2:6) -> [2:7, 2:7)');
|
|
39
|
-
(0, chai_1.expect)(project(2, 7)).to.be.equal('[2:7, 2:7) -> [2:8, 2:8)');
|
|
40
|
-
(0, chai_1.expect)(project(3, 1)).to.be.equal('[3:1, 3:1) -> [3:1, 3:1)');
|
|
41
|
-
(0, chai_1.expect)(project(3, 2)).to.be.equal('[3:2, 4:3) -> [3:2, 6:4)');
|
|
42
|
-
(0, chai_1.expect)(project(4, 2)).to.be.equal('[3:2, 4:3) -> [3:2, 6:4)');
|
|
43
|
-
(0, chai_1.expect)(project(4, 3)).to.be.equal('[4:3, 4:3) -> [6:4, 6:4)');
|
|
44
|
-
(0, chai_1.expect)(project(4, 4)).to.be.equal('[4:4, 4:4) -> [6:5, 6:5)');
|
|
45
|
-
(0, chai_1.expect)(project(4, 5)).to.be.equal('[4:5, 4:7) -> [6:6, 6:9)');
|
|
46
|
-
});
|
|
47
|
-
});
|
|
48
|
-
//# sourceMappingURL=range-mapping.spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"range-mapping.spec.js","sourceRoot":"","sources":["../../../../src/browser/merge-editor/model/range-mapping.spec.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,6CAA6C;AAC7C,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;AAChF;;;gGAGgG;AAChG,6IAA6I;;AAE7I,+BAA8B;AAC9B,sGAA0E;AAC1E,mDAAiE;AAEjE,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAEhC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;QACf,MAAM,gBAAgB,GAAG,IAAI,gCAAgB,CAAC;YAC1C,IAAI,4BAAY,CAAC,sCAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,sCAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACpE,IAAI,4BAAY,CAAC,sCAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,sCAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACpE,IAAI,4BAAY,CAAC,sCAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,sCAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;SACvE,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,CAAC,IAAY,EAAE,SAAiB,EAAE,EAAE,CAChD,gBAAgB,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;QAErE,IAAA,aAAM,EAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9D,IAAA,aAAM,EAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9D,IAAA,aAAM,EAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9D,IAAA,aAAM,EAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9D,IAAA,aAAM,EAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9D,IAAA,aAAM,EAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9D,IAAA,aAAM,EAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9D,IAAA,aAAM,EAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9D,IAAA,aAAM,EAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9D,IAAA,aAAM,EAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9D,IAAA,aAAM,EAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9D,IAAA,aAAM,EAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;AAEP,CAAC,CAAC,CAAC"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { Position, Range } from '@theia/core/shared/vscode-languageserver-protocol';
|
|
2
|
-
export declare namespace RangeUtils {
|
|
3
|
-
function isEmpty(range: Range): boolean;
|
|
4
|
-
function containsPosition(range: Range, position: Position): boolean;
|
|
5
|
-
function isBeforeOrTouching(range: Range, other: Range): boolean;
|
|
6
|
-
function union(range: Range, other: Range): Range;
|
|
7
|
-
/**
|
|
8
|
-
* A function that compares ranges, useful for sorting ranges.
|
|
9
|
-
* It will first compare ranges on the start position and then on the end position.
|
|
10
|
-
*/
|
|
11
|
-
function compareUsingStarts(range: Range, other: Range): number;
|
|
12
|
-
}
|
|
13
|
-
export declare namespace PositionUtils {
|
|
14
|
-
function isBeforeOrEqual(position: Position, other: Position): boolean;
|
|
15
|
-
function compare(position: Position, other: Position): number;
|
|
16
|
-
/**
|
|
17
|
-
* Given two positions, computes the relative position of the greater position against the lesser position.
|
|
18
|
-
*/
|
|
19
|
-
function relativize(position: Position, other: Position): Position;
|
|
20
|
-
/**
|
|
21
|
-
* Resolves the given relative position against the given position and returns the resulting position.
|
|
22
|
-
*/
|
|
23
|
-
function resolve(position: Position, relativePosition: Position): Position;
|
|
24
|
-
}
|
|
25
|
-
//# sourceMappingURL=range-utils.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"range-utils.d.ts","sourceRoot":"","sources":["../../../../src/browser/merge-editor/model/range-utils.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mDAAmD,CAAC;AAEpF,yBAAiB,UAAU,CAAC;IAExB,SAAgB,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAE7C;IAED,SAAgB,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAW1E;IAED,SAAgB,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAMtE;IAED,SAAgB,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK,CAIvD;IAED;;;OAGG;IACH,SAAgB,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM,CAWrE;CACJ;AAED,yBAAiB,aAAa,CAAC;IAE3B,SAAgB,eAAe,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,GAAG,OAAO,CAE5E;IAED,SAAgB,OAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,GAAG,MAAM,CAKnE;IAED;;OAEG;IACH,SAAgB,UAAU,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,GAAG,QAAQ,CASxE;IAED;;OAEG;IACH,SAAgB,OAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,GAAG,QAAQ,CAMhF;CACJ"}
|
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// *****************************************************************************
|
|
3
|
-
// Copyright (C) 2025 1C-Soft LLC and others.
|
|
4
|
-
//
|
|
5
|
-
// This program and the accompanying materials are made available under the
|
|
6
|
-
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
-
// http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
-
//
|
|
9
|
-
// This Source Code may also be made available under the following Secondary
|
|
10
|
-
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
-
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
-
// with the GNU Classpath Exception which is available at
|
|
13
|
-
// https://www.gnu.org/software/classpath/license.html.
|
|
14
|
-
//
|
|
15
|
-
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
16
|
-
// *****************************************************************************
|
|
17
|
-
/*---------------------------------------------------------------------------------------------
|
|
18
|
-
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
19
|
-
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
20
|
-
*--------------------------------------------------------------------------------------------*/
|
|
21
|
-
// copied and modified from https://github.com/microsoft/vscode/blob/1.96.3/src/vs/workbench/contrib/mergeEditor/browser/model/rangeUtils.ts,
|
|
22
|
-
// https://github.com/microsoft/vscode/blob/1.96.3/src/vs/editor/common/core/range.ts,
|
|
23
|
-
// https://github.com/microsoft/vscode/blob/1.96.3/src/vs/editor/common/core/position.ts,
|
|
24
|
-
// https://github.com/microsoft/vscode/blob/1.96.3/src/vs/editor/common/core/textLength.ts
|
|
25
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.PositionUtils = exports.RangeUtils = void 0;
|
|
27
|
-
const vscode_languageserver_protocol_1 = require("@theia/core/shared/vscode-languageserver-protocol");
|
|
28
|
-
var RangeUtils;
|
|
29
|
-
(function (RangeUtils) {
|
|
30
|
-
function isEmpty(range) {
|
|
31
|
-
return range.start.line === range.end.line && range.start.character === range.end.character;
|
|
32
|
-
}
|
|
33
|
-
RangeUtils.isEmpty = isEmpty;
|
|
34
|
-
function containsPosition(range, position) {
|
|
35
|
-
if (position.line < range.start.line || position.line > range.end.line) {
|
|
36
|
-
return false;
|
|
37
|
-
}
|
|
38
|
-
if (position.line === range.start.line && position.character < range.start.character) {
|
|
39
|
-
return false;
|
|
40
|
-
}
|
|
41
|
-
if (position.line === range.end.line && position.character >= range.end.character) {
|
|
42
|
-
return false;
|
|
43
|
-
}
|
|
44
|
-
return true;
|
|
45
|
-
}
|
|
46
|
-
RangeUtils.containsPosition = containsPosition;
|
|
47
|
-
function isBeforeOrTouching(range, other) {
|
|
48
|
-
return (range.end.line < other.start.line ||
|
|
49
|
-
(range.end.line === other.start.line &&
|
|
50
|
-
range.end.character <= other.start.character));
|
|
51
|
-
}
|
|
52
|
-
RangeUtils.isBeforeOrTouching = isBeforeOrTouching;
|
|
53
|
-
function union(range, other) {
|
|
54
|
-
const start = PositionUtils.isBeforeOrEqual(range.start, other.start) ? range.start : other.start;
|
|
55
|
-
const end = PositionUtils.isBeforeOrEqual(range.end, other.end) ? other.end : range.end;
|
|
56
|
-
return { start, end };
|
|
57
|
-
}
|
|
58
|
-
RangeUtils.union = union;
|
|
59
|
-
/**
|
|
60
|
-
* A function that compares ranges, useful for sorting ranges.
|
|
61
|
-
* It will first compare ranges on the start position and then on the end position.
|
|
62
|
-
*/
|
|
63
|
-
function compareUsingStarts(range, other) {
|
|
64
|
-
if (range.start.line === other.start.line) {
|
|
65
|
-
if (range.start.character === other.start.character) {
|
|
66
|
-
if (range.end.line === other.end.line) {
|
|
67
|
-
return range.end.character - other.end.character;
|
|
68
|
-
}
|
|
69
|
-
return range.end.line - other.end.line;
|
|
70
|
-
}
|
|
71
|
-
return range.start.character - other.start.character;
|
|
72
|
-
}
|
|
73
|
-
return range.start.line - other.start.line;
|
|
74
|
-
}
|
|
75
|
-
RangeUtils.compareUsingStarts = compareUsingStarts;
|
|
76
|
-
})(RangeUtils || (exports.RangeUtils = RangeUtils = {}));
|
|
77
|
-
var PositionUtils;
|
|
78
|
-
(function (PositionUtils) {
|
|
79
|
-
function isBeforeOrEqual(position, other) {
|
|
80
|
-
return compare(position, other) <= 0;
|
|
81
|
-
}
|
|
82
|
-
PositionUtils.isBeforeOrEqual = isBeforeOrEqual;
|
|
83
|
-
function compare(position, other) {
|
|
84
|
-
if (position.line === other.line) {
|
|
85
|
-
return position.character - other.character;
|
|
86
|
-
}
|
|
87
|
-
return position.line - other.line;
|
|
88
|
-
}
|
|
89
|
-
PositionUtils.compare = compare;
|
|
90
|
-
/**
|
|
91
|
-
* Given two positions, computes the relative position of the greater position against the lesser position.
|
|
92
|
-
*/
|
|
93
|
-
function relativize(position, other) {
|
|
94
|
-
if (compare(position, other) > 0) {
|
|
95
|
-
[position, other] = [other, position];
|
|
96
|
-
}
|
|
97
|
-
if (position.line === other.line) {
|
|
98
|
-
return vscode_languageserver_protocol_1.Position.create(0, other.character - position.character);
|
|
99
|
-
}
|
|
100
|
-
else {
|
|
101
|
-
return vscode_languageserver_protocol_1.Position.create(other.line - position.line, other.character);
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
PositionUtils.relativize = relativize;
|
|
105
|
-
/**
|
|
106
|
-
* Resolves the given relative position against the given position and returns the resulting position.
|
|
107
|
-
*/
|
|
108
|
-
function resolve(position, relativePosition) {
|
|
109
|
-
if (relativePosition.line === 0) {
|
|
110
|
-
return vscode_languageserver_protocol_1.Position.create(position.line, position.character + relativePosition.character);
|
|
111
|
-
}
|
|
112
|
-
else {
|
|
113
|
-
return vscode_languageserver_protocol_1.Position.create(position.line + relativePosition.line, relativePosition.character);
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
PositionUtils.resolve = resolve;
|
|
117
|
-
})(PositionUtils || (exports.PositionUtils = PositionUtils = {}));
|
|
118
|
-
//# sourceMappingURL=range-utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"range-utils.js","sourceRoot":"","sources":["../../../../src/browser/merge-editor/model/range-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { LineRangeMapping } from '../model/range-mapping';
|
|
2
|
-
export interface DiffSpacers {
|
|
3
|
-
/**
|
|
4
|
-
* An array representing spacers in the original side of the diff.
|
|
5
|
-
* Indices are line numbers in the original document, and values are the height in lines of the spacer directly above the given line.
|
|
6
|
-
* If a value is missing for a line number, the corresponding spacer is assumed to have zero height.
|
|
7
|
-
*/
|
|
8
|
-
originalSpacers: number[];
|
|
9
|
-
/**
|
|
10
|
-
* An array representing spacers in the modified side of the diff.
|
|
11
|
-
* Indices are line numbers in the modified document, and values are the height in lines of the spacer directly above the given line.
|
|
12
|
-
* If a value is missing for a line number, the corresponding spacer is assumed to have zero height.
|
|
13
|
-
*/
|
|
14
|
-
modifiedSpacers: number[];
|
|
15
|
-
/**
|
|
16
|
-
* An array respresenting a mapping of line numbers for the diff.
|
|
17
|
-
* Indices are line numbers in the original document, and values are the corresponding line numbers in the modified document.
|
|
18
|
-
* If a value is missing for a line number, it is assumed that the line was deleted.
|
|
19
|
-
*/
|
|
20
|
-
lineMapping: number[];
|
|
21
|
-
}
|
|
22
|
-
export type ModifiedSideSpacers = Omit<DiffSpacers, 'originalSpacers'>;
|
|
23
|
-
export interface CombinedMultiDiffSpacers {
|
|
24
|
-
originalSpacers: number[];
|
|
25
|
-
modifiedSides: ModifiedSideSpacers[];
|
|
26
|
-
}
|
|
27
|
-
export declare class DiffSpacerService {
|
|
28
|
-
computeDiffSpacers(changes: readonly LineRangeMapping[], originalLineCount: number): DiffSpacers;
|
|
29
|
-
/**
|
|
30
|
-
* Combines multiple {@link DiffSpacers} objects into a {@link CombinedMultiDiffSpacers} object with the appropriately adjusted spacers.
|
|
31
|
-
* The given {@link DiffSpacers} objects are not modified.
|
|
32
|
-
*
|
|
33
|
-
* It is assumed that all of the given {@link DiffSpacers} objects have been computed from diffs against the same original side.
|
|
34
|
-
*/
|
|
35
|
-
combineMultiDiffSpacers(multiDiffSpacers: DiffSpacers[]): CombinedMultiDiffSpacers;
|
|
36
|
-
/**
|
|
37
|
-
* Given a {@link CombinedMultiDiffSpacers} object, excludes the original side, returning the modified sides with the appropriately adjusted spacers.
|
|
38
|
-
* The given {@link CombinedMultiDiffSpacers} object is not modified.
|
|
39
|
-
*/
|
|
40
|
-
excludeOriginalSide({ modifiedSides }: CombinedMultiDiffSpacers): {
|
|
41
|
-
modifiedSides: {
|
|
42
|
-
modifiedSpacers: number[];
|
|
43
|
-
}[];
|
|
44
|
-
};
|
|
45
|
-
protected checkLineMappingsHaveEqualLength(items: {
|
|
46
|
-
lineMapping: number[];
|
|
47
|
-
}[]): void;
|
|
48
|
-
protected projectLine(originalLine: number, lineMapping: number[]): number;
|
|
49
|
-
}
|
|
50
|
-
//# sourceMappingURL=diff-spacers.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"diff-spacers.d.ts","sourceRoot":"","sources":["../../../../src/browser/merge-editor/view/diff-spacers.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,MAAM,WAAW,WAAW;IACxB;;;;OAIG;IACH,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B;;;;OAIG;IACH,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B;;;;OAIG;IACH,WAAW,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;AAEvE,MAAM,WAAW,wBAAwB;IACrC,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,aAAa,EAAE,mBAAmB,EAAE,CAAC;CACxC;AAED,qBACa,iBAAiB;IAE1B,kBAAkB,CAAC,OAAO,EAAE,SAAS,gBAAgB,EAAE,EAAE,iBAAiB,EAAE,MAAM,GAAG,WAAW;IA4BhG;;;;;OAKG;IACH,uBAAuB,CAAC,gBAAgB,EAAE,WAAW,EAAE,GAAG,wBAAwB;IA6BlF;;;OAGG;IACH,mBAAmB,CAAC,EAAE,aAAa,EAAE,EAAE,wBAAwB,GAAG;QAAE,aAAa,EAAE;YAAE,eAAe,EAAE,MAAM,EAAE,CAAA;SAAE,EAAE,CAAA;KAAE;IAwBpH,SAAS,CAAC,gCAAgC,CAAC,KAAK,EAAE;QAAE,WAAW,EAAE,MAAM,EAAE,CAAA;KAAE,EAAE,GAAG,IAAI;IAMpF,SAAS,CAAC,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,MAAM;CAW7E"}
|