@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,109 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.MergeEditorFactory = exports.bindMergeEditor = void 0;
19
+ require("../../../src/browser/style/merge-editor.css");
20
+ const inversify_1 = require("@theia/core/shared/inversify");
21
+ const core_1 = require("@theia/core");
22
+ const tab_bar_toolbar_1 = require("@theia/core/lib/browser/shell/tab-bar-toolbar");
23
+ const browser_1 = require("@theia/core/lib/browser");
24
+ const color_application_contribution_1 = require("@theia/core/lib/browser/color-application-contribution");
25
+ const browser_2 = require("@theia/editor/lib/browser");
26
+ const monaco_editor_1 = require("@theia/monaco/lib/browser/monaco-editor");
27
+ const merge_editor_model_1 = require("./model/merge-editor-model");
28
+ const merge_editor_panes_1 = require("./view/merge-editor-panes");
29
+ const diff_spacers_1 = require("./view/diff-spacers");
30
+ const merge_editor_view_zones_1 = require("./view/merge-editor-view-zones");
31
+ const merge_editor_1 = require("./merge-editor");
32
+ const merge_editor_contribution_1 = require("./merge-editor-contribution");
33
+ const merge_editor_dev_contribution_1 = require("./merge-editor-dev-contribution");
34
+ function bindMergeEditor(bind) {
35
+ bind(merge_editor_1.MergeEditorSettings).toSelf().inSingletonScope();
36
+ bind(diff_spacers_1.DiffSpacerService).toSelf().inSingletonScope();
37
+ bind(merge_editor_view_zones_1.MergeEditorViewZoneComputer).toSelf().inSingletonScope();
38
+ bind(MergeEditorFactory).toDynamicValue(ctx => new MergeEditorFactory(ctx.container)).inSingletonScope();
39
+ bind(browser_1.WidgetFactory).toDynamicValue(ctx => ({
40
+ id: merge_editor_1.MergeEditorOpenHandler.ID,
41
+ createWidget: (options) => ctx.container.get(MergeEditorFactory).createMergeEditor(merge_editor_1.MergeEditorUri.decode(new core_1.URI(options.uri)))
42
+ })).inSingletonScope();
43
+ bind(merge_editor_1.MergeEditorOpenHandler).toSelf().inSingletonScope();
44
+ bind(browser_1.OpenHandler).toService(merge_editor_1.MergeEditorOpenHandler);
45
+ bind(merge_editor_contribution_1.MergeEditorContribution).toSelf().inSingletonScope();
46
+ [browser_1.FrontendApplicationContribution, core_1.CommandContribution, core_1.MenuContribution, tab_bar_toolbar_1.TabBarToolbarContribution, browser_1.KeybindingContribution, color_application_contribution_1.ColorContribution].forEach(serviceIdentifier => bind(serviceIdentifier).toService(merge_editor_contribution_1.MergeEditorContribution));
47
+ bind(merge_editor_dev_contribution_1.MergeEditorDevContribution).toSelf().inSingletonScope();
48
+ bind(core_1.CommandContribution).toService(merge_editor_dev_contribution_1.MergeEditorDevContribution);
49
+ }
50
+ exports.bindMergeEditor = bindMergeEditor;
51
+ class MergeEditorFactory {
52
+ constructor(container, editorManager = container.get(browser_2.EditorManager)) {
53
+ this.container = container;
54
+ this.editorManager = editorManager;
55
+ }
56
+ async createMergeEditor({ baseUri, side1Uri, side2Uri, resultUri }) {
57
+ const toDisposeOnError = new core_1.DisposableCollection();
58
+ const createEditorWidget = (uri) => this.createEditorWidget(uri, toDisposeOnError);
59
+ try {
60
+ const [baseEditorWidget, side1EditorWidget, side2EditorWidget, resultEditorWidget] = await Promise.all([createEditorWidget(baseUri), createEditorWidget(side1Uri), createEditorWidget(side2Uri), createEditorWidget(resultUri)]);
61
+ const resultDocument = monaco_editor_1.MonacoEditor.get(resultEditorWidget).document;
62
+ const hasConflictMarkers = resultDocument.textEditorModel.getLinesContent().some(lineContent => lineContent.startsWith('<<<<<<<'));
63
+ return this.createMergeEditorContainer({
64
+ baseEditorWidget,
65
+ side1EditorWidget,
66
+ side2EditorWidget,
67
+ resultEditorWidget,
68
+ options: {
69
+ resetResult: hasConflictMarkers
70
+ }
71
+ }).get(merge_editor_1.MergeEditor);
72
+ }
73
+ catch (error) {
74
+ toDisposeOnError.dispose();
75
+ throw error;
76
+ }
77
+ }
78
+ async createEditorWidget(uri, disposables) {
79
+ const editorWidget = await this.editorManager.createByUri(uri);
80
+ disposables.push(editorWidget);
81
+ const editor = monaco_editor_1.MonacoEditor.get(editorWidget);
82
+ if (!editor) {
83
+ throw new Error('The merge editor only supports Monaco editors as its parts');
84
+ }
85
+ editor.getControl().updateOptions({ folding: false, codeLens: false, minimap: { enabled: false } });
86
+ editor.setShouldDisplayDirtyDiff(false);
87
+ return editorWidget;
88
+ }
89
+ createMergeEditorContainer({ baseEditorWidget, side1EditorWidget, side2EditorWidget, resultEditorWidget, options }) {
90
+ const child = new inversify_1.Container({ defaultScope: 'Singleton' });
91
+ child.parent = this.container;
92
+ const [baseEditor, side1Editor, side2Editor, resultEditor] = [baseEditorWidget, side1EditorWidget, side2EditorWidget, resultEditorWidget].map(editorWidget => monaco_editor_1.MonacoEditor.get(editorWidget));
93
+ child.bind(merge_editor_model_1.MergeEditorModelProps).toConstantValue({ baseEditor, side1Editor, side2Editor, resultEditor, options });
94
+ child.bind(merge_editor_model_1.MergeEditorModel).toSelf();
95
+ child.bind(merge_editor_panes_1.MergeEditorPaneHeader).toSelf().inTransientScope();
96
+ child.bind(merge_editor_panes_1.MergeEditorBasePane).toSelf();
97
+ child.bind(merge_editor_panes_1.MergeEditorSide1Pane).toSelf();
98
+ child.bind(merge_editor_panes_1.MergeEditorSide2Pane).toSelf();
99
+ child.bind(merge_editor_panes_1.MergeEditorResultPane).toSelf();
100
+ child.bind(browser_2.EditorWidget).toConstantValue(baseEditorWidget).whenInjectedInto(merge_editor_panes_1.MergeEditorBasePane);
101
+ child.bind(browser_2.EditorWidget).toConstantValue(side1EditorWidget).whenInjectedInto(merge_editor_panes_1.MergeEditorSide1Pane);
102
+ child.bind(browser_2.EditorWidget).toConstantValue(side2EditorWidget).whenInjectedInto(merge_editor_panes_1.MergeEditorSide2Pane);
103
+ child.bind(browser_2.EditorWidget).toConstantValue(resultEditorWidget).whenInjectedInto(merge_editor_panes_1.MergeEditorResultPane);
104
+ child.bind(merge_editor_1.MergeEditor).toSelf();
105
+ return child;
106
+ }
107
+ }
108
+ exports.MergeEditorFactory = MergeEditorFactory;
109
+ //# sourceMappingURL=merge-editor-module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge-editor-module.js","sourceRoot":"","sources":["../../../src/browser/merge-editor/merge-editor-module.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,122 @@
1
+ import { Disposable, URI } from '@theia/core';
2
+ import { ApplicationShell, BaseWidget, LabelProvider, Message, Navigatable, NavigatableWidgetOpenHandler, Saveable, SaveableSource, SplitPanel, StatefulWidget, StorageService, Widget, WidgetOpenerOptions } from '@theia/core/lib/browser';
3
+ import { Observable } from '@theia/core/lib/common/observable';
4
+ import { Range } from '@theia/editor/lib/browser';
5
+ import { MergeRange } from './model/merge-range';
6
+ import { MergeEditorModel } from './model/merge-editor-model';
7
+ import { MergeEditorBasePane, MergeEditorPane, MergeEditorResultPane, MergeEditorSide1Pane, MergeEditorSide2Pane } from './view/merge-editor-panes';
8
+ import { MergeEditorViewZoneComputer } from './view/merge-editor-view-zones';
9
+ import { MergeEditorScrollSync } from './view/merge-editor-scroll-sync';
10
+ export interface MergeUris {
11
+ baseUri: URI;
12
+ side1Uri: URI;
13
+ side2Uri: URI;
14
+ resultUri: URI;
15
+ }
16
+ export declare namespace MergeEditorUri {
17
+ function isMergeEditorUri(uri: URI): boolean;
18
+ function encode({ baseUri, side1Uri, side2Uri, resultUri }: MergeUris): URI;
19
+ function decode(uri: URI): MergeUris;
20
+ }
21
+ export type MergeEditorLayoutKind = 'mixed' | 'columns';
22
+ export interface MergeEditorLayoutMode {
23
+ readonly kind: MergeEditorLayoutKind;
24
+ readonly showBase: boolean;
25
+ readonly showBaseAtTop: boolean;
26
+ }
27
+ export declare namespace MergeEditorLayoutMode {
28
+ const DEFAULT: MergeEditorLayoutMode;
29
+ }
30
+ export interface MergeEditorSideWidgetState {
31
+ title?: string;
32
+ description?: string;
33
+ detail?: string;
34
+ }
35
+ export interface MergeEditorWidgetState {
36
+ layoutMode?: MergeEditorLayoutMode;
37
+ side1State?: MergeEditorSideWidgetState;
38
+ side2State?: MergeEditorSideWidgetState;
39
+ }
40
+ export declare class MergeEditorSettings {
41
+ protected static LAYOUT_MODE: string;
42
+ protected readonly storageService: StorageService;
43
+ layoutMode: MergeEditorLayoutMode;
44
+ load(): Promise<void>;
45
+ save(): Promise<void>;
46
+ }
47
+ export declare class MergeEditor extends BaseWidget implements StatefulWidget, SaveableSource, Navigatable, ApplicationShell.TrackableWidgetProvider {
48
+ readonly model: MergeEditorModel;
49
+ readonly basePane: MergeEditorBasePane;
50
+ readonly side1Pane: MergeEditorSide1Pane;
51
+ readonly side2Pane: MergeEditorSide2Pane;
52
+ readonly resultPane: MergeEditorResultPane;
53
+ protected readonly viewZoneComputer: MergeEditorViewZoneComputer;
54
+ protected readonly settings: MergeEditorSettings;
55
+ protected readonly labelProvider: LabelProvider;
56
+ protected readonly visibilityObservable: Observable.Settable<boolean, void>;
57
+ protected readonly currentPaneObservable: Observable.Settable<MergeEditorPane | undefined, void>;
58
+ protected readonly layoutModeObservable: Observable.Settable<MergeEditorLayoutMode, void>;
59
+ protected readonly currentMergeRangeObservable: Observable<MergeRange | undefined, unknown>;
60
+ protected readonly selectionInBaseObservable: Observable<Range[] | undefined, unknown>;
61
+ protected verticalSplitPanel: SplitPanel;
62
+ protected horizontalSplitPanel: SplitPanel;
63
+ protected scrollSync: MergeEditorScrollSync;
64
+ protected init(): void;
65
+ protected createScrollSynchronizer(): MergeEditorScrollSync;
66
+ protected initCurrentPaneTracker(): void;
67
+ protected layoutInitialized: boolean;
68
+ protected ensureLayoutInitialized(): void;
69
+ protected doInitializeLayout(): void;
70
+ protected onLayoutInitialized(): void;
71
+ protected onResize(msg: Widget.ResizeMessage): void;
72
+ get isShown(): boolean;
73
+ get currentPane(): MergeEditorPane | undefined;
74
+ protected createCurrentMergeRangeObservable(): Observable<MergeRange | undefined>;
75
+ get currentMergeRange(): MergeRange | undefined;
76
+ protected createSelectionInBaseObservable(): Observable<Range[] | undefined>;
77
+ get selectionInBase(): Range[] | undefined;
78
+ get panes(): MergeEditorPane[];
79
+ get baseUri(): URI;
80
+ get side1Uri(): URI;
81
+ get side1Title(): string;
82
+ get side2Uri(): URI;
83
+ get side2Title(): string;
84
+ get resultUri(): URI;
85
+ storeState(): MergeEditorWidgetState;
86
+ restoreState(state: MergeEditorWidgetState): void;
87
+ get saveable(): Saveable;
88
+ getResourceUri(): URI | undefined;
89
+ createMoveToUri(resourceUri: URI): URI | undefined;
90
+ getTrackableWidgets(): Widget[];
91
+ goToFirstMergeRange(predicate?: (mergeRange: MergeRange) => boolean): void;
92
+ goToNextMergeRange(predicate?: (mergeRange: MergeRange) => boolean): void;
93
+ goToPreviousMergeRange(predicate?: (mergeRange: MergeRange) => boolean): void;
94
+ get layoutMode(): MergeEditorLayoutMode;
95
+ set layoutMode(value: MergeEditorLayoutMode);
96
+ get layoutKind(): MergeEditorLayoutKind;
97
+ set layoutKind(kind: MergeEditorLayoutKind);
98
+ get isShowingBase(): boolean;
99
+ get isShowingBaseAtTop(): boolean;
100
+ toggleShowBase(): void;
101
+ toggleShowBaseTop(): void;
102
+ toggleShowBaseCenter(): void;
103
+ get shouldAlignResult(): boolean;
104
+ get shouldAlignBase(): boolean;
105
+ protected applyLayoutMode(layoutMode: MergeEditorLayoutMode): void;
106
+ protected createViewZones(): Disposable;
107
+ protected onBeforeHide(msg: Message): void;
108
+ protected onAfterShow(msg: Message): void;
109
+ protected onActivateRequest(msg: Message): void;
110
+ }
111
+ export interface MergeEditorOpenerOptions extends WidgetOpenerOptions {
112
+ widgetState?: MergeEditorWidgetState;
113
+ }
114
+ export declare class MergeEditorOpenHandler extends NavigatableWidgetOpenHandler<MergeEditor> {
115
+ static readonly ID = "merge-editor-opener";
116
+ readonly id = "merge-editor-opener";
117
+ readonly label: string;
118
+ canHandle(uri: URI, options?: MergeEditorOpenerOptions): number;
119
+ open(uri: URI, options?: MergeEditorOpenerOptions): Promise<MergeEditor>;
120
+ protected getOrCreateWidget(uri: URI, options?: MergeEditorOpenerOptions): Promise<MergeEditor>;
121
+ }
122
+ //# sourceMappingURL=merge-editor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge-editor.d.ts","sourceRoot":"","sources":["../../../src/browser/merge-editor/merge-editor.ts"],"names":[],"mappings":"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"}