@theia/scm 1.67.0-next.3 → 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/src/browser/scm-frontend-module.ts +0 -5
- package/src/browser/scm-tree-model.ts +3 -0
- package/src/browser/scm-widget.tsx +6 -0
- 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/decorations/scm-tab-bar-decorator.d.ts +0 -18
- package/lib/browser/decorations/scm-tab-bar-decorator.d.ts.map +0 -1
- package/lib/browser/decorations/scm-tab-bar-decorator.js +0 -86
- package/lib/browser/decorations/scm-tab-bar-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 -133
- 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 -75
- package/lib/browser/scm-tree-model.d.ts.map +0 -1
- package/lib/browser/scm-tree-model.js +0 -346
- 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 -41
- package/lib/browser/scm-widget.d.ts.map +0 -1
- package/lib/browser/scm-widget.js +0 -211
- 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
- package/src/browser/decorations/scm-tab-bar-decorator.ts +0 -83
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// *****************************************************************************
|
|
3
|
-
// Copyright (C) 2018 TypeFox 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
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.ContentLines = void 0;
|
|
19
|
-
var ContentLines;
|
|
20
|
-
(function (ContentLines) {
|
|
21
|
-
const NL = '\n'.charCodeAt(0);
|
|
22
|
-
const CR = '\r'.charCodeAt(0);
|
|
23
|
-
function fromString(content) {
|
|
24
|
-
const computeLineStarts = s => {
|
|
25
|
-
const result = [0];
|
|
26
|
-
for (let i = 0; i < s.length; i++) {
|
|
27
|
-
const chr = s.charCodeAt(i);
|
|
28
|
-
if (chr === CR) {
|
|
29
|
-
if (i + 1 < s.length && s.charCodeAt(i + 1) === NL) {
|
|
30
|
-
result[result.length] = i + 2;
|
|
31
|
-
i++;
|
|
32
|
-
}
|
|
33
|
-
else {
|
|
34
|
-
result[result.length] = i + 1;
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
else if (chr === NL) {
|
|
38
|
-
result[result.length] = i + 1;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
return result;
|
|
42
|
-
};
|
|
43
|
-
const lineStarts = computeLineStarts(content);
|
|
44
|
-
return {
|
|
45
|
-
length: lineStarts.length,
|
|
46
|
-
getLineContent: line => {
|
|
47
|
-
if (line >= lineStarts.length) {
|
|
48
|
-
throw new Error('line index out of bounds');
|
|
49
|
-
}
|
|
50
|
-
const start = lineStarts[line];
|
|
51
|
-
let end = (line === lineStarts.length - 1) ? undefined : lineStarts[line + 1] - 1;
|
|
52
|
-
if (!!end && content.charCodeAt(end - 1) === CR) {
|
|
53
|
-
end--; // ignore CR at the end
|
|
54
|
-
}
|
|
55
|
-
const lineContent = content.substring(start, end);
|
|
56
|
-
return lineContent;
|
|
57
|
-
}
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
ContentLines.fromString = fromString;
|
|
61
|
-
function fromTextEditorDocument(document) {
|
|
62
|
-
return {
|
|
63
|
-
length: document.lineCount,
|
|
64
|
-
getLineContent: line => document.getLineContent(line + 1),
|
|
65
|
-
};
|
|
66
|
-
}
|
|
67
|
-
ContentLines.fromTextEditorDocument = fromTextEditorDocument;
|
|
68
|
-
function arrayLike(lines) {
|
|
69
|
-
return new Proxy(lines, getProxyHandler());
|
|
70
|
-
}
|
|
71
|
-
ContentLines.arrayLike = arrayLike;
|
|
72
|
-
function getProxyHandler() {
|
|
73
|
-
return {
|
|
74
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
75
|
-
get(target, p) {
|
|
76
|
-
switch (p) {
|
|
77
|
-
case 'prototype':
|
|
78
|
-
return undefined;
|
|
79
|
-
case 'length':
|
|
80
|
-
return target.length;
|
|
81
|
-
case 'slice':
|
|
82
|
-
return (start, end) => {
|
|
83
|
-
if (start !== undefined) {
|
|
84
|
-
return [start, (end !== undefined ? end - 1 : target.length - 1)];
|
|
85
|
-
}
|
|
86
|
-
return [0, target.length - 1];
|
|
87
|
-
};
|
|
88
|
-
case Symbol.iterator:
|
|
89
|
-
return function* () {
|
|
90
|
-
for (let i = 0; i < target.length; i++) {
|
|
91
|
-
yield target.getLineContent(i);
|
|
92
|
-
}
|
|
93
|
-
};
|
|
94
|
-
}
|
|
95
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
96
|
-
const index = Number.parseInt(p);
|
|
97
|
-
if (Number.isInteger(index)) {
|
|
98
|
-
if (index >= 0 && index < target.length) {
|
|
99
|
-
const value = target.getLineContent(index);
|
|
100
|
-
if (value === undefined) {
|
|
101
|
-
console.log(target);
|
|
102
|
-
}
|
|
103
|
-
return value;
|
|
104
|
-
}
|
|
105
|
-
else {
|
|
106
|
-
return undefined;
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
throw new Error(`get ${String(p)} not implemented`);
|
|
110
|
-
}
|
|
111
|
-
};
|
|
112
|
-
}
|
|
113
|
-
})(ContentLines || (exports.ContentLines = ContentLines = {}));
|
|
114
|
-
//# sourceMappingURL=content-lines.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"content-lines.js","sourceRoot":"","sources":["../../../src/browser/dirty-diff/content-lines.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"content-lines.spec.d.ts","sourceRoot":"","sources":["../../../src/browser/dirty-diff/content-lines.spec.ts"],"names":[],"mappings":""}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// *****************************************************************************
|
|
3
|
-
// Copyright (C) 2018 TypeFox 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
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
const chai = require("chai");
|
|
19
|
-
const content_lines_1 = require("./content-lines");
|
|
20
|
-
const chai_1 = require("chai");
|
|
21
|
-
chai.use(require('chai-string'));
|
|
22
|
-
describe('content-lines', () => {
|
|
23
|
-
it('array-like access of lines without splitting', () => {
|
|
24
|
-
const raw = 'abc\ndef\n123\n456';
|
|
25
|
-
const linesArray = content_lines_1.ContentLines.arrayLike(content_lines_1.ContentLines.fromString(raw));
|
|
26
|
-
(0, chai_1.expect)(linesArray[0]).to.be.equal('abc');
|
|
27
|
-
(0, chai_1.expect)(linesArray[1]).to.be.equal('def');
|
|
28
|
-
(0, chai_1.expect)(linesArray[2]).to.be.equal('123');
|
|
29
|
-
(0, chai_1.expect)(linesArray[3]).to.be.equal('456');
|
|
30
|
-
});
|
|
31
|
-
it('works with CRLF', () => {
|
|
32
|
-
const raw = 'abc\ndef\r\n123\r456';
|
|
33
|
-
const linesArray = content_lines_1.ContentLines.arrayLike(content_lines_1.ContentLines.fromString(raw));
|
|
34
|
-
(0, chai_1.expect)(linesArray[0]).to.be.equal('abc');
|
|
35
|
-
(0, chai_1.expect)(linesArray[1]).to.be.equal('def');
|
|
36
|
-
(0, chai_1.expect)(linesArray[2]).to.be.equal('123');
|
|
37
|
-
(0, chai_1.expect)(linesArray[3]).to.be.equal('456');
|
|
38
|
-
});
|
|
39
|
-
});
|
|
40
|
-
//# sourceMappingURL=content-lines.spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"content-lines.spec.js","sourceRoot":"","sources":["../../../src/browser/dirty-diff/content-lines.spec.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,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;;AAEhF,6BAA6B;AAC7B,mDAA+C;AAC/C,+BAA8B;AAC9B,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;AAEjC,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAE3B,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACpD,MAAM,GAAG,GAAG,oBAAoB,CAAC;QACjC,MAAM,UAAU,GAAG,4BAAY,CAAC,SAAS,CAAC,4BAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;QACxE,IAAA,aAAM,EAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACzC,IAAA,aAAM,EAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACzC,IAAA,aAAM,EAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACzC,IAAA,aAAM,EAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iBAAiB,EAAE,GAAG,EAAE;QACvB,MAAM,GAAG,GAAG,sBAAsB,CAAC;QACnC,MAAM,UAAU,GAAG,4BAAY,CAAC,SAAS,CAAC,4BAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;QACxE,IAAA,aAAM,EAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACzC,IAAA,aAAM,EAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACzC,IAAA,aAAM,EAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACzC,IAAA,aAAM,EAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;AAEP,CAAC,CAAC,CAAC"}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { ContentLinesArrayLike } from './content-lines';
|
|
2
|
-
import { Position, Range } from '@theia/core/shared/vscode-languageserver-protocol';
|
|
3
|
-
export declare class DiffComputer {
|
|
4
|
-
computeDiff(previous: ContentLinesArrayLike, current: ContentLinesArrayLike): DiffResult[];
|
|
5
|
-
computeDirtyDiff(previous: ContentLinesArrayLike, current: ContentLinesArrayLike): DirtyDiff;
|
|
6
|
-
}
|
|
7
|
-
export interface DiffResult {
|
|
8
|
-
value: [number, number];
|
|
9
|
-
count?: number;
|
|
10
|
-
added?: boolean;
|
|
11
|
-
removed?: boolean;
|
|
12
|
-
}
|
|
13
|
-
export interface DirtyDiff {
|
|
14
|
-
readonly changes: readonly Change[];
|
|
15
|
-
}
|
|
16
|
-
export interface Change {
|
|
17
|
-
readonly previousRange: LineRange;
|
|
18
|
-
readonly currentRange: LineRange;
|
|
19
|
-
}
|
|
20
|
-
export declare namespace Change {
|
|
21
|
-
function isAddition(change: Change): boolean;
|
|
22
|
-
function isRemoval(change: Change): boolean;
|
|
23
|
-
function isModification(change: Change): boolean;
|
|
24
|
-
}
|
|
25
|
-
export interface LineRange {
|
|
26
|
-
readonly start: number;
|
|
27
|
-
readonly end: number;
|
|
28
|
-
}
|
|
29
|
-
export declare namespace LineRange {
|
|
30
|
-
function create(start: number, end: number): LineRange;
|
|
31
|
-
function createSingleLineRange(line: number): LineRange;
|
|
32
|
-
function createEmptyLineRange(line: number): LineRange;
|
|
33
|
-
function isEmpty(range: LineRange): boolean;
|
|
34
|
-
function getStartPosition(range: LineRange): Position;
|
|
35
|
-
function getEndPosition(range: LineRange): Position;
|
|
36
|
-
function toRange(range: LineRange): Range;
|
|
37
|
-
function getLineCount(range: LineRange): number;
|
|
38
|
-
}
|
|
39
|
-
//# sourceMappingURL=diff-computer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"diff-computer.d.ts","sourceRoot":"","sources":["../../../src/browser/dirty-diff/diff-computer.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAY,MAAM,mDAAmD,CAAC;AAE9F,qBAAa,YAAY;IAErB,WAAW,CAAC,QAAQ,EAAE,qBAAqB,EAAE,OAAO,EAAE,qBAAqB,GAAG,UAAU,EAAE;IAK1F,gBAAgB,CAAC,QAAQ,EAAE,qBAAqB,EAAE,OAAO,EAAE,qBAAqB,GAAG,SAAS;CAiD/F;AAiCD,MAAM,WAAW,UAAU;IACvB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,SAAS;IACtB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACvC;AAED,MAAM,WAAW,MAAM;IACnB,QAAQ,CAAC,aAAa,EAAE,SAAS,CAAC;IAClC,QAAQ,CAAC,YAAY,EAAE,SAAS,CAAC;CACpC;AAED,yBAAiB,MAAM,CAAC;IACpB,SAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAElD;IACD,SAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEjD;IACD,SAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEtD;CACJ;AAED,MAAM,WAAW,SAAS;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACxB;AAED,yBAAiB,SAAS,CAAC;IACvB,SAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,CAK5D;IACD,SAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAE7D;IACD,SAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAE5D;IACD,SAAgB,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAEjD;IACD,SAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,GAAG,QAAQ,CAK3D;IACD,SAAgB,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,QAAQ,CAKzD;IACD,SAAgB,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,KAAK,CAE/C;IACD,SAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAErD;CACJ"}
|
|
@@ -1,167 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// *****************************************************************************
|
|
3
|
-
// Copyright (C) 2018 TypeFox 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
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.LineRange = exports.Change = exports.DiffComputer = void 0;
|
|
19
|
-
const jsdiff = require("diff");
|
|
20
|
-
const vscode_languageserver_protocol_1 = require("@theia/core/shared/vscode-languageserver-protocol");
|
|
21
|
-
class DiffComputer {
|
|
22
|
-
computeDiff(previous, current) {
|
|
23
|
-
const diffResult = diffArrays(previous, current);
|
|
24
|
-
return diffResult;
|
|
25
|
-
}
|
|
26
|
-
computeDirtyDiff(previous, current) {
|
|
27
|
-
const changes = [];
|
|
28
|
-
const diffResult = this.computeDiff(previous, current);
|
|
29
|
-
let currentRevisionLine = -1;
|
|
30
|
-
let previousRevisionLine = -1;
|
|
31
|
-
for (let i = 0; i < diffResult.length; i++) {
|
|
32
|
-
const change = diffResult[i];
|
|
33
|
-
const next = diffResult[i + 1];
|
|
34
|
-
if (change.added) {
|
|
35
|
-
// case: addition
|
|
36
|
-
changes.push({ previousRange: LineRange.createEmptyLineRange(previousRevisionLine + 1), currentRange: toLineRange(change) });
|
|
37
|
-
currentRevisionLine += change.count;
|
|
38
|
-
}
|
|
39
|
-
else if (change.removed && next && next.added) {
|
|
40
|
-
const isFirstChange = i === 0;
|
|
41
|
-
const isLastChange = i === diffResult.length - 2;
|
|
42
|
-
const isNextEmptyLine = next.value.length > 0 && current[next.value[0]].length === 0;
|
|
43
|
-
const isPrevEmptyLine = change.value.length > 0 && previous[change.value[0]].length === 0;
|
|
44
|
-
if (isFirstChange && isNextEmptyLine) {
|
|
45
|
-
// special case: removing at the beginning
|
|
46
|
-
changes.push({ previousRange: toLineRange(change), currentRange: LineRange.createEmptyLineRange(0) });
|
|
47
|
-
previousRevisionLine += change.count;
|
|
48
|
-
}
|
|
49
|
-
else if (isFirstChange && isPrevEmptyLine) {
|
|
50
|
-
// special case: adding at the beginning
|
|
51
|
-
changes.push({ previousRange: LineRange.createEmptyLineRange(0), currentRange: toLineRange(next) });
|
|
52
|
-
currentRevisionLine += next.count;
|
|
53
|
-
}
|
|
54
|
-
else if (isLastChange && isNextEmptyLine) {
|
|
55
|
-
changes.push({ previousRange: toLineRange(change), currentRange: LineRange.createEmptyLineRange(currentRevisionLine + 2) });
|
|
56
|
-
previousRevisionLine += change.count;
|
|
57
|
-
}
|
|
58
|
-
else {
|
|
59
|
-
// default case is a modification
|
|
60
|
-
changes.push({ previousRange: toLineRange(change), currentRange: toLineRange(next) });
|
|
61
|
-
currentRevisionLine += next.count;
|
|
62
|
-
previousRevisionLine += change.count;
|
|
63
|
-
}
|
|
64
|
-
i++; // consume next eagerly
|
|
65
|
-
}
|
|
66
|
-
else if (change.removed && !(next && next.added)) {
|
|
67
|
-
// case: removal
|
|
68
|
-
changes.push({ previousRange: toLineRange(change), currentRange: LineRange.createEmptyLineRange(currentRevisionLine + 1) });
|
|
69
|
-
previousRevisionLine += change.count;
|
|
70
|
-
}
|
|
71
|
-
else {
|
|
72
|
-
// case: unchanged region
|
|
73
|
-
currentRevisionLine += change.count;
|
|
74
|
-
previousRevisionLine += change.count;
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
return { changes };
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
exports.DiffComputer = DiffComputer;
|
|
81
|
-
class ArrayDiff extends jsdiff.Diff {
|
|
82
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
83
|
-
tokenize(value) {
|
|
84
|
-
return value;
|
|
85
|
-
}
|
|
86
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
87
|
-
join(value) {
|
|
88
|
-
return value;
|
|
89
|
-
}
|
|
90
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
91
|
-
removeEmpty(value) {
|
|
92
|
-
return value;
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
const arrayDiff = new ArrayDiff();
|
|
96
|
-
/**
|
|
97
|
-
* Computes diff without copying data.
|
|
98
|
-
*/
|
|
99
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
100
|
-
function diffArrays(oldArr, newArr) {
|
|
101
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
102
|
-
return arrayDiff.diff(oldArr, newArr);
|
|
103
|
-
}
|
|
104
|
-
function toLineRange({ value }) {
|
|
105
|
-
const [start, end] = value;
|
|
106
|
-
return LineRange.create(start, end + 1);
|
|
107
|
-
}
|
|
108
|
-
var Change;
|
|
109
|
-
(function (Change) {
|
|
110
|
-
function isAddition(change) {
|
|
111
|
-
return LineRange.isEmpty(change.previousRange);
|
|
112
|
-
}
|
|
113
|
-
Change.isAddition = isAddition;
|
|
114
|
-
function isRemoval(change) {
|
|
115
|
-
return LineRange.isEmpty(change.currentRange);
|
|
116
|
-
}
|
|
117
|
-
Change.isRemoval = isRemoval;
|
|
118
|
-
function isModification(change) {
|
|
119
|
-
return !isAddition(change) && !isRemoval(change);
|
|
120
|
-
}
|
|
121
|
-
Change.isModification = isModification;
|
|
122
|
-
})(Change || (exports.Change = Change = {}));
|
|
123
|
-
var LineRange;
|
|
124
|
-
(function (LineRange) {
|
|
125
|
-
function create(start, end) {
|
|
126
|
-
if (start < 0 || end < 0 || start > end) {
|
|
127
|
-
throw new Error(`Invalid line range: { start: ${start}, end: ${end} }`);
|
|
128
|
-
}
|
|
129
|
-
return { start, end };
|
|
130
|
-
}
|
|
131
|
-
LineRange.create = create;
|
|
132
|
-
function createSingleLineRange(line) {
|
|
133
|
-
return create(line, line + 1);
|
|
134
|
-
}
|
|
135
|
-
LineRange.createSingleLineRange = createSingleLineRange;
|
|
136
|
-
function createEmptyLineRange(line) {
|
|
137
|
-
return create(line, line);
|
|
138
|
-
}
|
|
139
|
-
LineRange.createEmptyLineRange = createEmptyLineRange;
|
|
140
|
-
function isEmpty(range) {
|
|
141
|
-
return range.start === range.end;
|
|
142
|
-
}
|
|
143
|
-
LineRange.isEmpty = isEmpty;
|
|
144
|
-
function getStartPosition(range) {
|
|
145
|
-
if (isEmpty(range)) {
|
|
146
|
-
return getEndPosition(range);
|
|
147
|
-
}
|
|
148
|
-
return vscode_languageserver_protocol_1.Position.create(range.start, 0);
|
|
149
|
-
}
|
|
150
|
-
LineRange.getStartPosition = getStartPosition;
|
|
151
|
-
function getEndPosition(range) {
|
|
152
|
-
if (range.end < 1) {
|
|
153
|
-
return vscode_languageserver_protocol_1.Position.create(0, 0);
|
|
154
|
-
}
|
|
155
|
-
return vscode_languageserver_protocol_1.Position.create(range.end - 1, vscode_languageserver_protocol_1.uinteger.MAX_VALUE);
|
|
156
|
-
}
|
|
157
|
-
LineRange.getEndPosition = getEndPosition;
|
|
158
|
-
function toRange(range) {
|
|
159
|
-
return vscode_languageserver_protocol_1.Range.create(getStartPosition(range), getEndPosition(range));
|
|
160
|
-
}
|
|
161
|
-
LineRange.toRange = toRange;
|
|
162
|
-
function getLineCount(range) {
|
|
163
|
-
return range.end - range.start;
|
|
164
|
-
}
|
|
165
|
-
LineRange.getLineCount = getLineCount;
|
|
166
|
-
})(LineRange || (exports.LineRange = LineRange = {}));
|
|
167
|
-
//# sourceMappingURL=diff-computer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"diff-computer.js","sourceRoot":"","sources":["../../../src/browser/dirty-diff/diff-computer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"diff-computer.spec.d.ts","sourceRoot":"","sources":["../../../src/browser/dirty-diff/diff-computer.spec.ts"],"names":[],"mappings":""}
|