@theia/scm 1.67.0-next.56 → 1.67.0-next.59

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.
Files changed (217) hide show
  1. package/lib/browser/decorations/scm-decorations-service.d.ts +21 -0
  2. package/lib/browser/decorations/scm-decorations-service.d.ts.map +1 -0
  3. package/lib/browser/decorations/scm-decorations-service.js +134 -0
  4. package/lib/browser/decorations/scm-decorations-service.js.map +1 -0
  5. package/lib/browser/decorations/scm-navigator-decorator.d.ts +26 -0
  6. package/lib/browser/decorations/scm-navigator-decorator.d.ts.map +1 -0
  7. package/lib/browser/decorations/scm-navigator-decorator.js +122 -0
  8. package/lib/browser/decorations/scm-navigator-decorator.js.map +1 -0
  9. package/lib/browser/dirty-diff/content-lines.d.ts +15 -0
  10. package/lib/browser/dirty-diff/content-lines.d.ts.map +1 -0
  11. package/lib/browser/dirty-diff/content-lines.js +114 -0
  12. package/lib/browser/dirty-diff/content-lines.js.map +1 -0
  13. package/lib/browser/dirty-diff/content-lines.spec.d.ts +2 -0
  14. package/lib/browser/dirty-diff/content-lines.spec.d.ts.map +1 -0
  15. package/lib/browser/dirty-diff/content-lines.spec.js +40 -0
  16. package/lib/browser/dirty-diff/content-lines.spec.js.map +1 -0
  17. package/lib/browser/dirty-diff/diff-computer.d.ts +39 -0
  18. package/lib/browser/dirty-diff/diff-computer.d.ts.map +1 -0
  19. package/lib/browser/dirty-diff/diff-computer.js +167 -0
  20. package/lib/browser/dirty-diff/diff-computer.js.map +1 -0
  21. package/lib/browser/dirty-diff/diff-computer.spec.d.ts +2 -0
  22. package/lib/browser/dirty-diff/diff-computer.spec.d.ts.map +1 -0
  23. package/lib/browser/dirty-diff/diff-computer.spec.js +384 -0
  24. package/lib/browser/dirty-diff/diff-computer.spec.js.map +1 -0
  25. package/lib/browser/dirty-diff/dirty-diff-decorator.d.ts +17 -0
  26. package/lib/browser/dirty-diff/dirty-diff-decorator.d.ts.map +1 -0
  27. package/lib/browser/dirty-diff/dirty-diff-decorator.js +101 -0
  28. package/lib/browser/dirty-diff/dirty-diff-decorator.js.map +1 -0
  29. package/lib/browser/dirty-diff/dirty-diff-module.d.ts +4 -0
  30. package/lib/browser/dirty-diff/dirty-diff-module.d.ts.map +1 -0
  31. package/lib/browser/dirty-diff/dirty-diff-module.js +34 -0
  32. package/lib/browser/dirty-diff/dirty-diff-module.js.map +1 -0
  33. package/lib/browser/dirty-diff/dirty-diff-navigator.d.ts +49 -0
  34. package/lib/browser/dirty-diff/dirty-diff-navigator.d.ts.map +1 -0
  35. package/lib/browser/dirty-diff/dirty-diff-navigator.js +295 -0
  36. package/lib/browser/dirty-diff/dirty-diff-navigator.js.map +1 -0
  37. package/lib/browser/dirty-diff/dirty-diff-widget.d.ts +50 -0
  38. package/lib/browser/dirty-diff/dirty-diff-widget.d.ts.map +1 -0
  39. package/lib/browser/dirty-diff/dirty-diff-widget.js +357 -0
  40. package/lib/browser/dirty-diff/dirty-diff-widget.js.map +1 -0
  41. package/lib/browser/merge-editor/merge-editor-contribution.d.ts +34 -0
  42. package/lib/browser/merge-editor/merge-editor-contribution.d.ts.map +1 -0
  43. package/lib/browser/merge-editor/merge-editor-contribution.js +335 -0
  44. package/lib/browser/merge-editor/merge-editor-contribution.js.map +1 -0
  45. package/lib/browser/merge-editor/merge-editor-dev-contribution.d.ts +31 -0
  46. package/lib/browser/merge-editor/merge-editor-dev-contribution.d.ts.map +1 -0
  47. package/lib/browser/merge-editor/merge-editor-dev-contribution.js +151 -0
  48. package/lib/browser/merge-editor/merge-editor-dev-contribution.js.map +1 -0
  49. package/lib/browser/merge-editor/merge-editor-module.d.ts +24 -0
  50. package/lib/browser/merge-editor/merge-editor-module.d.ts.map +1 -0
  51. package/lib/browser/merge-editor/merge-editor-module.js +109 -0
  52. package/lib/browser/merge-editor/merge-editor-module.js.map +1 -0
  53. package/lib/browser/merge-editor/merge-editor.d.ts +122 -0
  54. package/lib/browser/merge-editor/merge-editor.d.ts.map +1 -0
  55. package/lib/browser/merge-editor/merge-editor.js +560 -0
  56. package/lib/browser/merge-editor/merge-editor.js.map +1 -0
  57. package/lib/browser/merge-editor/model/line-range.d.ts +37 -0
  58. package/lib/browser/merge-editor/model/line-range.d.ts.map +1 -0
  59. package/lib/browser/merge-editor/model/line-range.js +111 -0
  60. package/lib/browser/merge-editor/model/line-range.js.map +1 -0
  61. package/lib/browser/merge-editor/model/live-diff.d.ts +26 -0
  62. package/lib/browser/merge-editor/model/live-diff.d.ts.map +1 -0
  63. package/lib/browser/merge-editor/model/live-diff.js +85 -0
  64. package/lib/browser/merge-editor/model/live-diff.js.map +1 -0
  65. package/lib/browser/merge-editor/model/merge-editor-model.d.ts +116 -0
  66. package/lib/browser/merge-editor/model/merge-editor-model.d.ts.map +1 -0
  67. package/lib/browser/merge-editor/model/merge-editor-model.js +507 -0
  68. package/lib/browser/merge-editor/model/merge-editor-model.js.map +1 -0
  69. package/lib/browser/merge-editor/model/merge-range.d.ts +50 -0
  70. package/lib/browser/merge-editor/model/merge-range.d.ts.map +1 -0
  71. package/lib/browser/merge-editor/model/merge-range.js +215 -0
  72. package/lib/browser/merge-editor/model/merge-range.js.map +1 -0
  73. package/lib/browser/merge-editor/model/range-editing.d.ts +21 -0
  74. package/lib/browser/merge-editor/model/range-editing.d.ts.map +1 -0
  75. package/lib/browser/merge-editor/model/range-editing.js +68 -0
  76. package/lib/browser/merge-editor/model/range-editing.js.map +1 -0
  77. package/lib/browser/merge-editor/model/range-mapping.d.ts +106 -0
  78. package/lib/browser/merge-editor/model/range-mapping.d.ts.map +1 -0
  79. package/lib/browser/merge-editor/model/range-mapping.js +252 -0
  80. package/lib/browser/merge-editor/model/range-mapping.js.map +1 -0
  81. package/lib/browser/merge-editor/model/range-mapping.spec.d.ts +2 -0
  82. package/lib/browser/merge-editor/model/range-mapping.spec.d.ts.map +1 -0
  83. package/lib/browser/merge-editor/model/range-mapping.spec.js +48 -0
  84. package/lib/browser/merge-editor/model/range-mapping.spec.js.map +1 -0
  85. package/lib/browser/merge-editor/model/range-utils.d.ts +25 -0
  86. package/lib/browser/merge-editor/model/range-utils.d.ts.map +1 -0
  87. package/lib/browser/merge-editor/model/range-utils.js +118 -0
  88. package/lib/browser/merge-editor/model/range-utils.js.map +1 -0
  89. package/lib/browser/merge-editor/view/diff-spacers.d.ts +50 -0
  90. package/lib/browser/merge-editor/view/diff-spacers.d.ts.map +1 -0
  91. package/lib/browser/merge-editor/view/diff-spacers.js +133 -0
  92. package/lib/browser/merge-editor/view/diff-spacers.js.map +1 -0
  93. package/lib/browser/merge-editor/view/merge-editor-panes/index.d.ts +6 -0
  94. package/lib/browser/merge-editor/view/merge-editor-panes/index.d.ts.map +1 -0
  95. package/lib/browser/merge-editor/view/merge-editor-panes/index.js +24 -0
  96. package/lib/browser/merge-editor/view/merge-editor-panes/index.js.map +1 -0
  97. package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-base-pane.d.ts +12 -0
  98. package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-base-pane.d.ts.map +1 -0
  99. package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-base-pane.js +65 -0
  100. package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-base-pane.js.map +1 -0
  101. package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-pane-header.d.ts +30 -0
  102. package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-pane-header.d.ts.map +1 -0
  103. package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-pane-header.js +102 -0
  104. package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-pane-header.js.map +1 -0
  105. package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-pane.d.ts +49 -0
  106. package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-pane.d.ts.map +1 -0
  107. package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-pane.js +214 -0
  108. package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-pane.js.map +1 -0
  109. package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-result-pane.d.ts +16 -0
  110. package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-result-pane.d.ts.map +1 -0
  111. package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-result-pane.js +107 -0
  112. package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-result-pane.js.map +1 -0
  113. package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-side-pane.d.ts +27 -0
  114. package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-side-pane.d.ts.map +1 -0
  115. package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-side-pane.js +135 -0
  116. package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-side-pane.js.map +1 -0
  117. package/lib/browser/merge-editor/view/merge-editor-scroll-sync.d.ts +20 -0
  118. package/lib/browser/merge-editor/view/merge-editor-scroll-sync.d.ts.map +1 -0
  119. package/lib/browser/merge-editor/view/merge-editor-scroll-sync.js +218 -0
  120. package/lib/browser/merge-editor/view/merge-editor-scroll-sync.js.map +1 -0
  121. package/lib/browser/merge-editor/view/merge-editor-view-zones.d.ts +57 -0
  122. package/lib/browser/merge-editor/view/merge-editor-view-zones.d.ts.map +1 -0
  123. package/lib/browser/merge-editor/view/merge-editor-view-zones.js +218 -0
  124. package/lib/browser/merge-editor/view/merge-editor-view-zones.js.map +1 -0
  125. package/lib/browser/merge-editor/view/merge-range-actions.d.ts +23 -0
  126. package/lib/browser/merge-editor/view/merge-range-actions.d.ts.map +1 -0
  127. package/lib/browser/merge-editor/view/merge-range-actions.js +142 -0
  128. package/lib/browser/merge-editor/view/merge-range-actions.js.map +1 -0
  129. package/lib/browser/scm-amend-component.d.ts +124 -0
  130. package/lib/browser/scm-amend-component.d.ts.map +1 -0
  131. package/lib/browser/scm-amend-component.js +464 -0
  132. package/lib/browser/scm-amend-component.js.map +1 -0
  133. package/lib/browser/scm-amend-widget.d.ts +21 -0
  134. package/lib/browser/scm-amend-widget.d.ts.map +1 -0
  135. package/lib/browser/scm-amend-widget.js +91 -0
  136. package/lib/browser/scm-amend-widget.js.map +1 -0
  137. package/lib/browser/scm-avatar-service.d.ts +4 -0
  138. package/lib/browser/scm-avatar-service.d.ts.map +1 -0
  139. package/lib/browser/scm-avatar-service.js +32 -0
  140. package/lib/browser/scm-avatar-service.js.map +1 -0
  141. package/lib/browser/scm-colors.d.ts +8 -0
  142. package/lib/browser/scm-colors.d.ts.map +1 -0
  143. package/lib/browser/scm-colors.js +27 -0
  144. package/lib/browser/scm-colors.js.map +1 -0
  145. package/lib/browser/scm-commit-widget.d.ts +53 -0
  146. package/lib/browser/scm-commit-widget.d.ts.map +1 -0
  147. package/lib/browser/scm-commit-widget.js +188 -0
  148. package/lib/browser/scm-commit-widget.js.map +1 -0
  149. package/lib/browser/scm-context-key-service.d.ts +13 -0
  150. package/lib/browser/scm-context-key-service.d.ts.map +1 -0
  151. package/lib/browser/scm-context-key-service.js +55 -0
  152. package/lib/browser/scm-context-key-service.js.map +1 -0
  153. package/lib/browser/scm-contribution.d.ts +98 -0
  154. package/lib/browser/scm-contribution.d.ts.map +1 -0
  155. package/lib/browser/scm-contribution.js +480 -0
  156. package/lib/browser/scm-contribution.js.map +1 -0
  157. package/lib/browser/scm-frontend-module.d.ts +7 -0
  158. package/lib/browser/scm-frontend-module.d.ts.map +1 -0
  159. package/lib/browser/scm-frontend-module.js +129 -0
  160. package/lib/browser/scm-frontend-module.js.map +1 -0
  161. package/lib/browser/scm-groups-tree-model.d.ts +15 -0
  162. package/lib/browser/scm-groups-tree-model.d.ts.map +1 -0
  163. package/lib/browser/scm-groups-tree-model.js +90 -0
  164. package/lib/browser/scm-groups-tree-model.js.map +1 -0
  165. package/lib/browser/scm-input.d.ts +54 -0
  166. package/lib/browser/scm-input.d.ts.map +1 -0
  167. package/lib/browser/scm-input.js +128 -0
  168. package/lib/browser/scm-input.js.map +1 -0
  169. package/lib/browser/scm-layout-migrations.d.ts +10 -0
  170. package/lib/browser/scm-layout-migrations.d.ts.map +1 -0
  171. package/lib/browser/scm-layout-migrations.js +75 -0
  172. package/lib/browser/scm-layout-migrations.js.map +1 -0
  173. package/lib/browser/scm-no-repository-widget.d.ts +9 -0
  174. package/lib/browser/scm-no-repository-widget.d.ts.map +1 -0
  175. package/lib/browser/scm-no-repository-widget.js +42 -0
  176. package/lib/browser/scm-no-repository-widget.js.map +1 -0
  177. package/lib/browser/scm-provider.d.ts +60 -0
  178. package/lib/browser/scm-provider.d.ts.map +1 -0
  179. package/lib/browser/scm-provider.js +20 -0
  180. package/lib/browser/scm-provider.js.map +1 -0
  181. package/lib/browser/scm-quick-open-service.d.ts +12 -0
  182. package/lib/browser/scm-quick-open-service.d.ts.map +1 -0
  183. package/lib/browser/scm-quick-open-service.js +66 -0
  184. package/lib/browser/scm-quick-open-service.js.map +1 -0
  185. package/lib/browser/scm-repository.d.ts +18 -0
  186. package/lib/browser/scm-repository.d.ts.map +1 -0
  187. package/lib/browser/scm-repository.js +42 -0
  188. package/lib/browser/scm-repository.js.map +1 -0
  189. package/lib/browser/scm-service.d.ts +27 -0
  190. package/lib/browser/scm-service.d.ts.map +1 -0
  191. package/lib/browser/scm-service.js +101 -0
  192. package/lib/browser/scm-service.js.map +1 -0
  193. package/lib/browser/scm-tree-label-provider.d.ts +8 -0
  194. package/lib/browser/scm-tree-label-provider.d.ts.map +1 -0
  195. package/lib/browser/scm-tree-label-provider.js +50 -0
  196. package/lib/browser/scm-tree-label-provider.js.map +1 -0
  197. package/lib/browser/scm-tree-model.d.ts +76 -0
  198. package/lib/browser/scm-tree-model.d.ts.map +1 -0
  199. package/lib/browser/scm-tree-model.js +349 -0
  200. package/lib/browser/scm-tree-model.js.map +1 -0
  201. package/lib/browser/scm-tree-widget.d.ts +206 -0
  202. package/lib/browser/scm-tree-widget.d.ts.map +1 -0
  203. package/lib/browser/scm-tree-widget.js +677 -0
  204. package/lib/browser/scm-tree-widget.js.map +1 -0
  205. package/lib/browser/scm-widget.d.ts +42 -0
  206. package/lib/browser/scm-widget.d.ts.map +1 -0
  207. package/lib/browser/scm-widget.js +220 -0
  208. package/lib/browser/scm-widget.js.map +1 -0
  209. package/lib/common/scm-preferences.d.ts +12 -0
  210. package/lib/common/scm-preferences.d.ts.map +1 -0
  211. package/lib/common/scm-preferences.js +51 -0
  212. package/lib/common/scm-preferences.js.map +1 -0
  213. package/lib/node/scm-backend-module.d.ts +4 -0
  214. package/lib/node/scm-backend-module.d.ts.map +1 -0
  215. package/lib/node/scm-backend-module.js +23 -0
  216. package/lib/node/scm-backend-module.js.map +1 -0
  217. package/package.json +6 -6
@@ -0,0 +1,111 @@
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/lineRange.ts
22
+ Object.defineProperty(exports, "__esModule", { value: true });
23
+ exports.LineRange = void 0;
24
+ const vscode_languageserver_protocol_1 = require("@theia/core/shared/vscode-languageserver-protocol");
25
+ /**
26
+ * Represents a range of whole lines of text. Line numbers are zero-based.
27
+ */
28
+ class LineRange {
29
+ static compareByStart(a, b) {
30
+ return a.startLineNumber - b.startLineNumber;
31
+ }
32
+ static fromLineNumbers(startLineNumber, endExclusiveLineNumber) {
33
+ return new LineRange(startLineNumber, endExclusiveLineNumber - startLineNumber);
34
+ }
35
+ constructor(
36
+ /** A zero-based number of the start line. The range starts exactly at the beginning of this line. */
37
+ startLineNumber, lineCount) {
38
+ this.startLineNumber = startLineNumber;
39
+ this.lineCount = lineCount;
40
+ if (startLineNumber < 0 || lineCount < 0) {
41
+ throw new Error('Invalid line range: ' + this.toString());
42
+ }
43
+ }
44
+ join(other) {
45
+ return LineRange.fromLineNumbers(Math.min(this.startLineNumber, other.startLineNumber), Math.max(this.endLineNumberExclusive, other.endLineNumberExclusive));
46
+ }
47
+ /** A zero-based number of the end line. The range ends just before the beginning of this line. */
48
+ get endLineNumberExclusive() {
49
+ return this.startLineNumber + this.lineCount;
50
+ }
51
+ get isEmpty() {
52
+ return this.lineCount === 0;
53
+ }
54
+ /**
55
+ * Returns `false` if there is at least one line between `this` and `other`.
56
+ */
57
+ touches(other) {
58
+ return this.startLineNumber <= other.endLineNumberExclusive && other.startLineNumber <= this.endLineNumberExclusive;
59
+ }
60
+ isAfter(other) {
61
+ return this.startLineNumber >= other.endLineNumberExclusive;
62
+ }
63
+ isBefore(other) {
64
+ return other.startLineNumber >= this.endLineNumberExclusive;
65
+ }
66
+ delta(lineDelta) {
67
+ return new LineRange(this.startLineNumber + lineDelta, this.lineCount);
68
+ }
69
+ deltaStart(lineDelta) {
70
+ return new LineRange(this.startLineNumber + lineDelta, this.lineCount - lineDelta);
71
+ }
72
+ deltaEnd(lineDelta) {
73
+ return new LineRange(this.startLineNumber, this.lineCount + lineDelta);
74
+ }
75
+ toString() {
76
+ return `[${this.startLineNumber},${this.endLineNumberExclusive})`;
77
+ }
78
+ equals(other) {
79
+ return this.startLineNumber === other.startLineNumber && this.lineCount === other.lineCount;
80
+ }
81
+ contains(other) {
82
+ return this.startLineNumber <= other.startLineNumber && other.endLineNumberExclusive <= this.endLineNumberExclusive;
83
+ }
84
+ containsLine(lineNumber) {
85
+ return this.startLineNumber <= lineNumber && lineNumber < this.endLineNumberExclusive;
86
+ }
87
+ getLines(document) {
88
+ const result = new Array(this.lineCount);
89
+ for (let i = 0; i < this.lineCount; i++) {
90
+ result[i] = document.getLineContent(this.startLineNumber + i + 1); // note that getLineContent expects a one-based line number
91
+ }
92
+ return result;
93
+ }
94
+ toRange() {
95
+ return vscode_languageserver_protocol_1.Range.create(this.startLineNumber, 0, this.endLineNumberExclusive, 0);
96
+ }
97
+ toInclusiveRange() {
98
+ if (this.isEmpty) {
99
+ return undefined;
100
+ }
101
+ return vscode_languageserver_protocol_1.Range.create(this.startLineNumber, 0, this.endLineNumberExclusive - 1, vscode_languageserver_protocol_1.uinteger.MAX_VALUE);
102
+ }
103
+ toInclusiveRangeOrEmpty() {
104
+ if (this.isEmpty) {
105
+ return vscode_languageserver_protocol_1.Range.create(this.startLineNumber, 0, this.startLineNumber, 0);
106
+ }
107
+ return vscode_languageserver_protocol_1.Range.create(this.startLineNumber, 0, this.endLineNumberExclusive - 1, vscode_languageserver_protocol_1.uinteger.MAX_VALUE);
108
+ }
109
+ }
110
+ exports.LineRange = LineRange;
111
+ //# sourceMappingURL=line-range.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"line-range.js","sourceRoot":"","sources":["../../../../src/browser/merge-editor/model/line-range.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import { Disposable, DisposableCollection } from '@theia/core';
2
+ import { Observable } from '@theia/core/lib/common/observable';
3
+ import { DiffComputer } from '@theia/core/lib/common/diff';
4
+ import { MonacoEditorModel } from '@theia/monaco/lib/browser/monaco-editor-model';
5
+ import { DetailedLineRangeMapping } from './range-mapping';
6
+ export declare class LiveDiff implements Disposable {
7
+ protected readonly originalDocument: MonacoEditorModel;
8
+ protected readonly modifiedDocument: MonacoEditorModel;
9
+ protected readonly diffComputer: DiffComputer;
10
+ protected recomputeCount: number;
11
+ protected readonly stateObservable: Observable.Settable<LiveDiffState, void>;
12
+ protected readonly changesObservable: Observable.Settable<readonly DetailedLineRangeMapping[], void>;
13
+ protected readonly toDispose: DisposableCollection;
14
+ constructor(originalDocument: MonacoEditorModel, modifiedDocument: MonacoEditorModel, diffComputer: DiffComputer);
15
+ dispose(): void;
16
+ get state(): LiveDiffState;
17
+ get changes(): readonly DetailedLineRangeMapping[];
18
+ protected recompute(): void;
19
+ }
20
+ export declare const enum LiveDiffState {
21
+ Initializing = 0,
22
+ UpToDate = 1,
23
+ Updating = 2,
24
+ Error = 3
25
+ }
26
+ //# sourceMappingURL=live-diff.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"live-diff.d.ts","sourceRoot":"","sources":["../../../../src/browser/merge-editor/model/live-diff.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAO,MAAM,aAAa,CAAC;AACpE,OAAO,EAAW,UAAU,EAAwC,MAAM,mCAAmC,CAAC;AAC9G,OAAO,EAAE,YAAY,EAA8B,MAAM,6BAA6B,CAAC;AACvF,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,EAAE,wBAAwB,EAAgB,MAAM,iBAAiB,CAAC;AAGzE,qBAAa,QAAS,YAAW,UAAU;IAQnC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,iBAAiB;IACtD,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,iBAAiB;IACtD,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,YAAY;IARjD,SAAS,CAAC,cAAc,SAAK;IAC7B,SAAS,CAAC,QAAQ,CAAC,eAAe,2CAAyD;IAC3F,SAAS,CAAC,QAAQ,CAAC,iBAAiB,iEAAsE;IAC1G,SAAS,CAAC,QAAQ,CAAC,SAAS,uBAA8B;gBAGnC,gBAAgB,EAAE,iBAAiB,EACnC,gBAAgB,EAAE,iBAAiB,EACnC,YAAY,EAAE,YAAY;IAiBjD,OAAO,IAAI,IAAI;IAIf,IAAI,KAAK,IAAI,aAAa,CAEzB;IAED,IAAI,OAAO,IAAI,SAAS,wBAAwB,EAAE,CAEjD;IAED,SAAS,CAAC,SAAS,IAAI,IAAI;CAoC9B;AAED,0BAAkB,aAAa;IAC3B,YAAY,IAAA;IACZ,QAAQ,IAAA;IACR,QAAQ,IAAA;IACR,KAAK,IAAA;CACR"}
@@ -0,0 +1,85 @@
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/textModelDiffs.ts
22
+ Object.defineProperty(exports, "__esModule", { value: true });
23
+ exports.LiveDiff = void 0;
24
+ const core_1 = require("@theia/core");
25
+ const observable_1 = require("@theia/core/lib/common/observable");
26
+ const range_mapping_1 = require("./range-mapping");
27
+ const line_range_1 = require("./line-range");
28
+ class LiveDiff {
29
+ constructor(originalDocument, modifiedDocument, diffComputer) {
30
+ this.originalDocument = originalDocument;
31
+ this.modifiedDocument = modifiedDocument;
32
+ this.diffComputer = diffComputer;
33
+ this.recomputeCount = 0;
34
+ this.stateObservable = observable_1.SettableObservable.create(0 /* LiveDiffState.Initializing */);
35
+ this.changesObservable = observable_1.SettableObservable.create([]);
36
+ this.toDispose = new core_1.DisposableCollection();
37
+ const recomputeSignal = observable_1.ObservableSignal.create();
38
+ this.toDispose.push(observable_1.Autorun.create(() => {
39
+ recomputeSignal.get();
40
+ this.recompute();
41
+ }));
42
+ this.toDispose.push(originalDocument.onDidChangeContent(() => recomputeSignal.trigger()));
43
+ this.toDispose.push(modifiedDocument.onDidChangeContent(() => recomputeSignal.trigger()));
44
+ }
45
+ dispose() {
46
+ this.toDispose.dispose();
47
+ }
48
+ get state() {
49
+ return this.stateObservable.get();
50
+ }
51
+ get changes() {
52
+ return this.changesObservable.get();
53
+ }
54
+ recompute() {
55
+ const recomputeCount = ++this.recomputeCount;
56
+ if (this.stateObservable.getUntracked() !== 0 /* LiveDiffState.Initializing */) { // untracked to avoid an infinite change loop in the autorun
57
+ this.stateObservable.set(2 /* LiveDiffState.Updating */);
58
+ }
59
+ this.diffComputer.computeDiff(new core_1.URI(this.originalDocument.uri), new core_1.URI(this.modifiedDocument.uri)).then(diff => {
60
+ if (this.toDispose.disposed || this.originalDocument.isDisposed() || this.modifiedDocument.isDisposed()) {
61
+ return;
62
+ }
63
+ if (recomputeCount !== this.recomputeCount) {
64
+ // There is a newer recompute call
65
+ return;
66
+ }
67
+ const toLineRange = (r) => new line_range_1.LineRange(r.start, r.end - r.start);
68
+ const changes = diff === null || diff === void 0 ? void 0 : diff.changes.map(change => {
69
+ var _a;
70
+ return new range_mapping_1.DetailedLineRangeMapping(toLineRange(change.left), this.originalDocument, toLineRange(change.right), this.modifiedDocument, (_a = change.innerChanges) === null || _a === void 0 ? void 0 : _a.map(innerChange => new range_mapping_1.RangeMapping(innerChange.left, innerChange.right)));
71
+ });
72
+ observable_1.Observable.update(() => {
73
+ if (changes) {
74
+ this.stateObservable.set(1 /* LiveDiffState.UpToDate */);
75
+ this.changesObservable.set(changes);
76
+ }
77
+ else {
78
+ this.stateObservable.set(3 /* LiveDiffState.Error */);
79
+ }
80
+ });
81
+ });
82
+ }
83
+ }
84
+ exports.LiveDiff = LiveDiff;
85
+ //# sourceMappingURL=live-diff.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"live-diff.js","sourceRoot":"","sources":["../../../../src/browser/merge-editor/model/live-diff.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,116 @@
1
+ import { Disposable, DisposableCollection } from '@theia/core';
2
+ import { Observable } from '@theia/core/lib/common/observable';
3
+ import { DiffComputer } from '@theia/core/lib/common/diff';
4
+ import { Range } from '@theia/core/shared/vscode-languageserver-protocol';
5
+ import { MonacoEditor } from '@theia/monaco/lib/browser/monaco-editor';
6
+ import { MonacoEditorModel } from '@theia/monaco/lib/browser/monaco-editor-model';
7
+ import { MergeRange, MergeRangeAcceptedState, MergeRangeResultState, MergeSide } from './merge-range';
8
+ import { DetailedLineRangeMapping, DocumentLineRangeMap, DocumentRangeMap, LineRangeMapping, RangeMapping } from './range-mapping';
9
+ import { LiveDiff } from './live-diff';
10
+ import { LineRange } from './line-range';
11
+ export declare const MergeEditorModelProps: unique symbol;
12
+ export interface MergeEditorModelProps {
13
+ readonly baseEditor: MonacoEditor;
14
+ readonly side1Editor: MonacoEditor;
15
+ readonly side2Editor: MonacoEditor;
16
+ readonly resultEditor: MonacoEditor;
17
+ readonly options?: {
18
+ readonly resetResult?: boolean;
19
+ };
20
+ }
21
+ export declare class MergeEditorModel implements Disposable {
22
+ protected readonly props: MergeEditorModelProps;
23
+ protected readonly diffComputer: DiffComputer;
24
+ private readonly m2p;
25
+ protected readonly toDispose: DisposableCollection;
26
+ protected side1LiveDiff: LiveDiff;
27
+ protected side2LiveDiff: LiveDiff;
28
+ protected resultLiveDiff: LiveDiff;
29
+ protected shouldRecomputeHandledState: boolean;
30
+ protected readonly mergeRangesObservable: Observable<MergeRange[], void>;
31
+ get mergeRanges(): readonly MergeRange[];
32
+ protected readonly mergeRangesDataObservable: Observable<Map<MergeRange, MergeRangeData>, void>;
33
+ protected readonly side1ToResultLineRangeMapObservable: Observable<DocumentLineRangeMap, void>;
34
+ get side1ToResultLineRangeMap(): DocumentLineRangeMap;
35
+ protected readonly resultToSide1LineRangeMapObservable: Observable<DocumentLineRangeMap, void>;
36
+ get resultToSide1LineRangeMap(): DocumentLineRangeMap;
37
+ protected readonly side2ToResultLineRangeMapObservable: Observable<DocumentLineRangeMap, void>;
38
+ get side2ToResultLineRangeMap(): DocumentLineRangeMap;
39
+ protected readonly resultToSide2LineRangeMapObservable: Observable<DocumentLineRangeMap, void>;
40
+ get resultToSide2LineRangeMap(): DocumentLineRangeMap;
41
+ protected readonly baseToSide1LineRangeMapObservable: Observable<DocumentLineRangeMap, void>;
42
+ get baseToSide1LineRangeMap(): DocumentLineRangeMap;
43
+ protected readonly side1ToBaseLineRangeMapObservable: Observable<DocumentLineRangeMap, void>;
44
+ get side1ToBaseLineRangeMap(): DocumentLineRangeMap;
45
+ protected readonly baseToSide2LineRangeMapObservable: Observable<DocumentLineRangeMap, void>;
46
+ get baseToSide2LineRangeMap(): DocumentLineRangeMap;
47
+ protected readonly side2ToBaseLineRangeMapObservable: Observable<DocumentLineRangeMap, void>;
48
+ get side2ToBaseLineRangeMap(): DocumentLineRangeMap;
49
+ protected readonly baseToResultLineRangeMapObservable: Observable<DocumentLineRangeMap, void>;
50
+ get baseToResultLineRangeMap(): DocumentLineRangeMap;
51
+ protected readonly resultToBaseLineRangeMapObservable: Observable<DocumentLineRangeMap, void>;
52
+ get resultToBaseLineRangeMap(): DocumentLineRangeMap;
53
+ protected readonly baseToSide1RangeMapObservable: Observable<DocumentRangeMap, void>;
54
+ get baseToSide1RangeMap(): DocumentRangeMap;
55
+ protected readonly side1ToBaseRangeMapObservable: Observable<DocumentRangeMap, void>;
56
+ get side1ToBaseRangeMap(): DocumentRangeMap;
57
+ protected readonly baseToSide2RangeMapObservable: Observable<DocumentRangeMap, void>;
58
+ get baseToSide2RangeMap(): DocumentRangeMap;
59
+ protected readonly side2ToBaseRangeMapObservable: Observable<DocumentRangeMap, void>;
60
+ get side2ToBaseRangeMap(): DocumentRangeMap;
61
+ protected readonly baseToResultRangeMapObservable: Observable<DocumentRangeMap, void>;
62
+ get baseToResultRangeMap(): DocumentRangeMap;
63
+ protected readonly resultToBaseRangeMapObservable: Observable<DocumentRangeMap, void>;
64
+ get resultToBaseRangeMap(): DocumentRangeMap;
65
+ protected readonly diffComputingStateObservable: Observable<DiffComputingState, void>;
66
+ protected readonly diffComputingStateForSidesObservable: Observable<DiffComputingState, void>;
67
+ readonly isUpToDateObservable: Observable<boolean, void>;
68
+ protected readonly unhandledMergeRangesCountObservable: Observable<number, void>;
69
+ get unhandledMergeRangesCount(): number;
70
+ protected _onInitialized: Promise<void>;
71
+ get onInitialized(): Promise<void>;
72
+ get baseDocument(): MonacoEditorModel;
73
+ get side1Document(): MonacoEditorModel;
74
+ get side2Document(): MonacoEditorModel;
75
+ get resultDocument(): MonacoEditorModel;
76
+ protected get resultEditor(): MonacoEditor;
77
+ get side1Changes(): readonly DetailedLineRangeMapping[];
78
+ get side2Changes(): readonly DetailedLineRangeMapping[];
79
+ get resultChanges(): readonly DetailedLineRangeMapping[];
80
+ protected init(): void;
81
+ protected computeMergeRangeStateFromResult(mergeRange: MergeRange): MergeRangeResultState;
82
+ protected doInit(): Promise<void>;
83
+ dispose(): void;
84
+ isDisposed(): boolean;
85
+ reset(): Promise<void>;
86
+ protected computeAutoMergedResult(): string;
87
+ protected computeMergeRanges(): MergeRange[];
88
+ hasMergeRange(mergeRange: MergeRange): boolean;
89
+ protected getMergeRangeData(mergeRange: MergeRange): MergeRangeData;
90
+ getMergeRangeResultState(mergeRange: MergeRange): MergeRangeResultState;
91
+ applyMergeRangeAcceptedState(mergeRange: MergeRange, state: MergeRangeAcceptedState): void;
92
+ isMergeRangeHandled(mergeRange: MergeRange): boolean;
93
+ getLineRangeInResult(mergeRange: MergeRange): LineRange;
94
+ protected getResultLineRangeMapping(mergeRange: MergeRange): LineRangeMapping;
95
+ translateBaseRangeToSide(range: Range, side: MergeSide): Range;
96
+ translateSideRangeToBase(range: Range, side: MergeSide): Range;
97
+ translateBaseRangeToResult(range: Range): Range;
98
+ translateResultRangeToBase(range: Range): Range;
99
+ findMergeRanges(baseRange: LineRange): MergeRange[];
100
+ protected computeSideToResultDiff(sideChanges: readonly LineRangeMapping[], resultChanges: readonly LineRangeMapping[]): readonly LineRangeMapping[];
101
+ protected newMergeRangeData(): MergeRangeData;
102
+ protected newLiveDiff(originalDocument: MonacoEditorModel, modifiedDocument: MonacoEditorModel): LiveDiff;
103
+ protected newDocumentLineRangeMap(lineRangeMappings: readonly LineRangeMapping[]): DocumentLineRangeMap;
104
+ protected newDocumentRangeMap(rangeMappings: readonly RangeMapping[]): DocumentRangeMap;
105
+ protected getDiffComputingState(...liveDiffs: LiveDiff[]): DiffComputingState;
106
+ }
107
+ export declare const enum DiffComputingState {
108
+ Initializing = 0,
109
+ UpToDate = 1,
110
+ Updating = 2
111
+ }
112
+ export declare class MergeRangeData {
113
+ readonly resultStateObservable: Observable.Settable<MergeRangeResultState, void>;
114
+ readonly isHandledObservable: Observable.Settable<boolean, void>;
115
+ }
116
+ //# sourceMappingURL=merge-editor-model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge-editor-model.d.ts","sourceRoot":"","sources":["../../../../src/browser/merge-editor/model/merge-editor-model.ts"],"names":[],"mappings":"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"}