@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,480 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ScmContribution = exports.ScmColors = exports.SCM_COMMANDS = exports.ScmMenus = exports.SCM_VIEW_CONTAINER_TITLE_OPTIONS = exports.SCM_VIEW_CONTAINER_ID = exports.SCM_WIDGET_FACTORY_ID = void 0;
4
+ const tslib_1 = require("tslib");
5
+ // *****************************************************************************
6
+ // Copyright (C) 2019 Red Hat, Inc. and others.
7
+ //
8
+ // This program and the accompanying materials are made available under the
9
+ // terms of the Eclipse Public License v. 2.0 which is available at
10
+ // http://www.eclipse.org/legal/epl-2.0.
11
+ //
12
+ // This Source Code may also be made available under the following Secondary
13
+ // Licenses when the conditions for such availability set forth in the Eclipse
14
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
15
+ // with the GNU Classpath Exception which is available at
16
+ // https://www.gnu.org/software/classpath/license.html.
17
+ //
18
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
19
+ // *****************************************************************************
20
+ const inversify_1 = require("@theia/core/shared/inversify");
21
+ const event_1 = require("@theia/core/lib/common/event");
22
+ const browser_1 = require("@theia/core/lib/browser");
23
+ const common_1 = require("@theia/core/lib/common");
24
+ const context_key_service_1 = require("@theia/core/lib/browser/context-key-service");
25
+ const scm_service_1 = require("./scm-service");
26
+ const scm_widget_1 = require("../browser/scm-widget");
27
+ const uri_1 = require("@theia/core/lib/common/uri");
28
+ const scm_quick_open_service_1 = require("./scm-quick-open-service");
29
+ const color_1 = require("@theia/core/lib/common/color");
30
+ const scm_colors_1 = require("./scm-colors");
31
+ Object.defineProperty(exports, "ScmColors", { enumerable: true, get: function () { return scm_colors_1.ScmColors; } });
32
+ const scm_decorations_service_1 = require("../browser/decorations/scm-decorations-service");
33
+ const nls_1 = require("@theia/core/lib/common/nls");
34
+ const theme_1 = require("@theia/core/lib/common/theme");
35
+ const browser_2 = require("@theia/editor/lib/browser");
36
+ const dirty_diff_navigator_1 = require("./dirty-diff/dirty-diff-navigator");
37
+ const monaco_diff_editor_1 = require("@theia/monaco/lib/browser/monaco-diff-editor");
38
+ exports.SCM_WIDGET_FACTORY_ID = scm_widget_1.ScmWidget.ID;
39
+ exports.SCM_VIEW_CONTAINER_ID = 'scm-view-container';
40
+ exports.SCM_VIEW_CONTAINER_TITLE_OPTIONS = {
41
+ label: nls_1.nls.localizeByDefault('Source Control'),
42
+ iconClass: (0, browser_1.codicon)('source-control'),
43
+ closeable: true
44
+ };
45
+ var ScmMenus;
46
+ (function (ScmMenus) {
47
+ ScmMenus.CHANGES_GROUP = [...browser_2.EditorMainMenu.GO, '6_changes_group'];
48
+ })(ScmMenus || (exports.ScmMenus = ScmMenus = {}));
49
+ var SCM_COMMANDS;
50
+ (function (SCM_COMMANDS) {
51
+ SCM_COMMANDS.CHANGE_REPOSITORY = {
52
+ id: 'scm.change.repository',
53
+ category: nls_1.nls.localizeByDefault('Source Control'),
54
+ originalCategory: 'Source Control',
55
+ label: nls_1.nls.localize('theia/scm/changeRepository', 'Change Repository...'),
56
+ originalLabel: 'Change Repository...'
57
+ };
58
+ SCM_COMMANDS.ACCEPT_INPUT = {
59
+ id: 'scm.acceptInput'
60
+ };
61
+ SCM_COMMANDS.TREE_VIEW_MODE = {
62
+ id: 'scm.viewmode.tree',
63
+ tooltip: nls_1.nls.localizeByDefault('View as Tree'),
64
+ iconClass: (0, browser_1.codicon)('list-tree'),
65
+ originalLabel: 'View as Tree',
66
+ label: nls_1.nls.localizeByDefault('View as Tree')
67
+ };
68
+ SCM_COMMANDS.LIST_VIEW_MODE = {
69
+ id: 'scm.viewmode.list',
70
+ tooltip: nls_1.nls.localizeByDefault('View as List'),
71
+ iconClass: (0, browser_1.codicon)('list-flat'),
72
+ originalLabel: 'View as List',
73
+ label: nls_1.nls.localizeByDefault('View as List')
74
+ };
75
+ SCM_COMMANDS.COLLAPSE_ALL = {
76
+ id: 'scm.collapseAll',
77
+ category: nls_1.nls.localizeByDefault('Source Control'),
78
+ originalCategory: 'Source Control',
79
+ tooltip: nls_1.nls.localizeByDefault('Collapse All'),
80
+ iconClass: (0, browser_1.codicon)('collapse-all'),
81
+ label: nls_1.nls.localizeByDefault('Collapse All'),
82
+ originalLabel: 'Collapse All'
83
+ };
84
+ SCM_COMMANDS.GOTO_NEXT_CHANGE = common_1.Command.toDefaultLocalizedCommand({
85
+ id: 'workbench.action.editor.nextChange',
86
+ category: 'Source Control',
87
+ label: 'Go to Next Change',
88
+ iconClass: (0, browser_1.codicon)('arrow-down')
89
+ });
90
+ SCM_COMMANDS.GOTO_PREVIOUS_CHANGE = common_1.Command.toDefaultLocalizedCommand({
91
+ id: 'workbench.action.editor.previousChange',
92
+ category: 'Source Control',
93
+ label: 'Go to Previous Change',
94
+ iconClass: (0, browser_1.codicon)('arrow-up')
95
+ });
96
+ SCM_COMMANDS.SHOW_NEXT_CHANGE = common_1.Command.toDefaultLocalizedCommand({
97
+ id: 'editor.action.dirtydiff.next',
98
+ category: 'Source Control',
99
+ label: 'Show Next Change'
100
+ });
101
+ SCM_COMMANDS.SHOW_PREVIOUS_CHANGE = common_1.Command.toDefaultLocalizedCommand({
102
+ id: 'editor.action.dirtydiff.previous',
103
+ category: 'Source Control',
104
+ label: 'Show Previous Change'
105
+ });
106
+ SCM_COMMANDS.CLOSE_CHANGE_PEEK_VIEW = {
107
+ id: 'editor.action.dirtydiff.close',
108
+ category: nls_1.nls.localizeByDefault('Source Control'),
109
+ originalCategory: 'Source Control',
110
+ label: nls_1.nls.localize('theia/scm/dirtyDiff/close', 'Close Change Peek View'),
111
+ originalLabel: 'Close Change Peek View'
112
+ };
113
+ })(SCM_COMMANDS || (exports.SCM_COMMANDS = SCM_COMMANDS = {}));
114
+ let ScmContribution = class ScmContribution extends browser_1.AbstractViewContribution {
115
+ constructor() {
116
+ super({
117
+ viewContainerId: exports.SCM_VIEW_CONTAINER_ID,
118
+ widgetId: exports.SCM_WIDGET_FACTORY_ID,
119
+ widgetName: exports.SCM_VIEW_CONTAINER_TITLE_OPTIONS.label,
120
+ defaultWidgetOptions: {
121
+ area: 'left',
122
+ rank: 300
123
+ },
124
+ toggleCommandId: 'scmView:toggle',
125
+ toggleKeybinding: 'ctrlcmd+shift+g'
126
+ });
127
+ this.statusBarDisposable = new common_1.DisposableCollection();
128
+ }
129
+ init() {
130
+ this.scmFocus = this.contextKeys.createKey('scmFocus', false);
131
+ }
132
+ async initializeLayout() {
133
+ await this.openView();
134
+ }
135
+ onStart() {
136
+ this.updateStatusBar();
137
+ this.scmService.onDidAddRepository(() => this.updateStatusBar());
138
+ this.scmService.onDidRemoveRepository(() => this.updateStatusBar());
139
+ this.scmService.onDidChangeSelectedRepository(() => this.updateStatusBar());
140
+ this.scmService.onDidChangeStatusBarCommands(() => this.updateStatusBar());
141
+ this.labelProvider.onDidChange(() => this.updateStatusBar());
142
+ this.updateContextKeys();
143
+ this.shell.onDidChangeCurrentWidget(() => this.updateContextKeys());
144
+ this.scmDecorationsService.onDirtyDiffUpdate(update => this.dirtyDiffNavigator.handleDirtyDiffUpdate(update));
145
+ }
146
+ updateContextKeys() {
147
+ this.scmFocus.set(this.shell.currentWidget instanceof scm_widget_1.ScmWidget);
148
+ }
149
+ registerCommands(commandRegistry) {
150
+ super.registerCommands(commandRegistry);
151
+ commandRegistry.registerCommand(SCM_COMMANDS.CHANGE_REPOSITORY, {
152
+ execute: () => this.scmQuickOpenService.changeRepository(),
153
+ isEnabled: () => this.scmService.repositories.length > 1
154
+ });
155
+ commandRegistry.registerCommand(SCM_COMMANDS.ACCEPT_INPUT, {
156
+ execute: () => this.acceptInput(),
157
+ isEnabled: () => !!this.scmFocus.get() && !!this.acceptInputCommand()
158
+ });
159
+ // Note that commands for dirty diff navigation need to be always available.
160
+ // This is consistent with behavior in VS Code, and also with other similar commands (such as `Next Problem/Previous Problem`) in Theia.
161
+ // See https://github.com/eclipse-theia/theia/pull/13104#discussion_r1497316614 for a detailed discussion.
162
+ commandRegistry.registerCommand(SCM_COMMANDS.GOTO_NEXT_CHANGE, {
163
+ execute: widget => {
164
+ if (widget instanceof browser_2.EditorWidget && widget.editor instanceof monaco_diff_editor_1.MonacoDiffEditor) {
165
+ widget.editor.diffNavigator.next();
166
+ widget.activate();
167
+ }
168
+ else {
169
+ this.dirtyDiffNavigator.gotoNextChange();
170
+ }
171
+ },
172
+ isEnabled: widget => {
173
+ if (widget instanceof browser_2.EditorWidget && widget.editor instanceof monaco_diff_editor_1.MonacoDiffEditor) {
174
+ return widget.editor.diffNavigator.hasNext();
175
+ }
176
+ return true;
177
+ }
178
+ });
179
+ commandRegistry.registerCommand(SCM_COMMANDS.GOTO_PREVIOUS_CHANGE, {
180
+ execute: widget => {
181
+ if (widget instanceof browser_2.EditorWidget && widget.editor instanceof monaco_diff_editor_1.MonacoDiffEditor) {
182
+ widget.editor.diffNavigator.previous();
183
+ widget.activate();
184
+ }
185
+ else {
186
+ this.dirtyDiffNavigator.gotoPreviousChange();
187
+ }
188
+ },
189
+ isEnabled: widget => {
190
+ if (widget instanceof browser_2.EditorWidget && widget.editor instanceof monaco_diff_editor_1.MonacoDiffEditor) {
191
+ return widget.editor.diffNavigator.hasPrevious();
192
+ }
193
+ return true;
194
+ }
195
+ });
196
+ commandRegistry.registerCommand(SCM_COMMANDS.SHOW_NEXT_CHANGE, {
197
+ execute: () => this.dirtyDiffNavigator.showNextChange()
198
+ });
199
+ commandRegistry.registerCommand(SCM_COMMANDS.SHOW_PREVIOUS_CHANGE, {
200
+ execute: () => this.dirtyDiffNavigator.showPreviousChange()
201
+ });
202
+ commandRegistry.registerCommand(SCM_COMMANDS.CLOSE_CHANGE_PEEK_VIEW, {
203
+ execute: () => this.dirtyDiffNavigator.closeChangePeekView()
204
+ });
205
+ }
206
+ registerMenus(menus) {
207
+ super.registerMenus(menus);
208
+ menus.registerMenuAction(ScmMenus.CHANGES_GROUP, {
209
+ commandId: SCM_COMMANDS.SHOW_NEXT_CHANGE.id,
210
+ label: nls_1.nls.localizeByDefault('Next Change'),
211
+ order: '1'
212
+ });
213
+ menus.registerMenuAction(ScmMenus.CHANGES_GROUP, {
214
+ commandId: SCM_COMMANDS.SHOW_PREVIOUS_CHANGE.id,
215
+ label: nls_1.nls.localizeByDefault('Previous Change'),
216
+ order: '2'
217
+ });
218
+ }
219
+ registerToolbarItems(registry) {
220
+ const viewModeEmitter = new event_1.Emitter();
221
+ const registerToggleViewItem = (command, mode) => {
222
+ const id = command.id;
223
+ const item = {
224
+ id,
225
+ command: id,
226
+ tooltip: command.label,
227
+ onDidChange: viewModeEmitter.event
228
+ };
229
+ this.commandRegistry.registerCommand({ id, iconClass: command && command.iconClass }, {
230
+ execute: widget => {
231
+ if (widget instanceof scm_widget_1.ScmWidget) {
232
+ widget.viewMode = mode;
233
+ viewModeEmitter.fire();
234
+ }
235
+ },
236
+ isVisible: widget => {
237
+ if (widget instanceof scm_widget_1.ScmWidget) {
238
+ return !!this.scmService.selectedRepository
239
+ && widget.viewMode !== mode;
240
+ }
241
+ return false;
242
+ },
243
+ });
244
+ registry.registerItem(item);
245
+ };
246
+ registerToggleViewItem(SCM_COMMANDS.TREE_VIEW_MODE, 'tree');
247
+ registerToggleViewItem(SCM_COMMANDS.LIST_VIEW_MODE, 'list');
248
+ this.commandRegistry.registerCommand(SCM_COMMANDS.COLLAPSE_ALL, {
249
+ execute: widget => {
250
+ if (widget instanceof scm_widget_1.ScmWidget && widget.viewMode === 'tree') {
251
+ widget.collapseScmTree();
252
+ }
253
+ },
254
+ isVisible: widget => {
255
+ if (widget instanceof scm_widget_1.ScmWidget) {
256
+ return !!this.scmService.selectedRepository && widget.viewMode === 'tree';
257
+ }
258
+ return false;
259
+ }
260
+ });
261
+ registry.registerItem({
262
+ id: SCM_COMMANDS.GOTO_PREVIOUS_CHANGE.id,
263
+ command: SCM_COMMANDS.GOTO_PREVIOUS_CHANGE.id,
264
+ isVisible: widget => widget instanceof browser_2.EditorWidget && widget.editor instanceof monaco_diff_editor_1.MonacoDiffEditor,
265
+ });
266
+ registry.registerItem({
267
+ id: SCM_COMMANDS.GOTO_NEXT_CHANGE.id,
268
+ command: SCM_COMMANDS.GOTO_NEXT_CHANGE.id,
269
+ isVisible: widget => widget instanceof browser_2.EditorWidget && widget.editor instanceof monaco_diff_editor_1.MonacoDiffEditor,
270
+ });
271
+ registry.registerItem({
272
+ ...SCM_COMMANDS.COLLAPSE_ALL,
273
+ command: SCM_COMMANDS.COLLAPSE_ALL.id
274
+ });
275
+ }
276
+ registerKeybindings(keybindings) {
277
+ super.registerKeybindings(keybindings);
278
+ keybindings.registerKeybinding({
279
+ command: SCM_COMMANDS.ACCEPT_INPUT.id,
280
+ keybinding: 'ctrlcmd+enter',
281
+ when: 'scmFocus'
282
+ });
283
+ keybindings.registerKeybinding({
284
+ command: SCM_COMMANDS.GOTO_NEXT_CHANGE.id,
285
+ keybinding: 'alt+f5',
286
+ when: 'editorTextFocus'
287
+ });
288
+ keybindings.registerKeybinding({
289
+ command: SCM_COMMANDS.GOTO_PREVIOUS_CHANGE.id,
290
+ keybinding: 'shift+alt+f5',
291
+ when: 'editorTextFocus'
292
+ });
293
+ keybindings.registerKeybinding({
294
+ command: SCM_COMMANDS.SHOW_NEXT_CHANGE.id,
295
+ keybinding: 'alt+f3',
296
+ when: 'editorTextFocus'
297
+ });
298
+ keybindings.registerKeybinding({
299
+ command: SCM_COMMANDS.SHOW_PREVIOUS_CHANGE.id,
300
+ keybinding: 'shift+alt+f3',
301
+ when: 'editorTextFocus'
302
+ });
303
+ keybindings.registerKeybinding({
304
+ command: SCM_COMMANDS.CLOSE_CHANGE_PEEK_VIEW.id,
305
+ keybinding: 'esc',
306
+ when: 'dirtyDiffVisible'
307
+ });
308
+ }
309
+ async acceptInput() {
310
+ const command = this.acceptInputCommand();
311
+ if (command && command.command) {
312
+ await this.commands.executeCommand(command.command, ...command.arguments ? command.arguments : []);
313
+ }
314
+ }
315
+ acceptInputCommand() {
316
+ const repository = this.scmService.selectedRepository;
317
+ if (!repository) {
318
+ return undefined;
319
+ }
320
+ return repository.provider.acceptInputCommand;
321
+ }
322
+ updateStatusBar() {
323
+ this.statusBarDisposable.dispose();
324
+ const repository = this.scmService.selectedRepository;
325
+ if (!repository) {
326
+ return;
327
+ }
328
+ const name = this.labelProvider.getName(new uri_1.default(repository.provider.rootUri));
329
+ if (this.scmService.repositories.length > 1) {
330
+ this.setStatusBarEntry(SCM_COMMANDS.CHANGE_REPOSITORY.id, {
331
+ text: `$(database) ${name}`,
332
+ tooltip: name.toString(),
333
+ command: SCM_COMMANDS.CHANGE_REPOSITORY.id,
334
+ alignment: browser_1.StatusBarAlignment.LEFT,
335
+ priority: 100
336
+ });
337
+ }
338
+ const label = repository.provider.rootUri ? `${name} (${repository.provider.label})` : repository.provider.label;
339
+ this.scmService.statusBarCommands.forEach((value, index) => this.setStatusBarEntry(`scm.status.${index}`, {
340
+ text: value.title,
341
+ tooltip: label + (value.tooltip ? ` - ${value.tooltip}` : ''),
342
+ command: value.command,
343
+ arguments: value.arguments,
344
+ alignment: browser_1.StatusBarAlignment.LEFT,
345
+ priority: 100
346
+ }));
347
+ }
348
+ setStatusBarEntry(id, entry) {
349
+ this.statusBar.setElement(id, entry);
350
+ this.statusBarDisposable.push(common_1.Disposable.create(() => this.statusBar.removeElement(id)));
351
+ }
352
+ /**
353
+ * It should be aligned with https://github.com/microsoft/vscode/blob/0dfa355b3ad185a6289ba28a99c141ab9e72d2be/src/vs/workbench/contrib/scm/browser/dirtydiffDecorator.ts#L808
354
+ */
355
+ registerColors(colors) {
356
+ colors.register({
357
+ id: scm_colors_1.ScmColors.editorGutterModifiedBackground, defaults: {
358
+ dark: '#1B81A8',
359
+ light: '#2090D3',
360
+ hcDark: '#1B81A8',
361
+ hcLight: '#2090D3'
362
+ }, description: 'Editor gutter background color for lines that are modified.'
363
+ }, {
364
+ id: scm_colors_1.ScmColors.editorGutterAddedBackground, defaults: {
365
+ dark: '#487E02',
366
+ light: '#48985D',
367
+ hcDark: '#487E02',
368
+ hcLight: '#48985D'
369
+ }, description: 'Editor gutter background color for lines that are added.'
370
+ }, {
371
+ id: scm_colors_1.ScmColors.editorGutterDeletedBackground, defaults: {
372
+ dark: 'editorError.foreground',
373
+ light: 'editorError.foreground',
374
+ hcDark: 'editorError.foreground',
375
+ hcLight: 'editorError.foreground'
376
+ }, description: 'Editor gutter background color for lines that are deleted.'
377
+ }, {
378
+ id: 'minimapGutter.modifiedBackground', defaults: {
379
+ dark: 'editorGutter.modifiedBackground',
380
+ light: 'editorGutter.modifiedBackground',
381
+ hcDark: 'editorGutter.modifiedBackground',
382
+ hcLight: 'editorGutter.modifiedBackground'
383
+ }, description: 'Minimap gutter background color for lines that are modified.'
384
+ }, {
385
+ id: 'minimapGutter.addedBackground', defaults: {
386
+ dark: 'editorGutter.addedBackground',
387
+ light: 'editorGutter.addedBackground',
388
+ hcDark: 'editorGutter.modifiedBackground',
389
+ hcLight: 'editorGutter.modifiedBackground'
390
+ }, description: 'Minimap gutter background color for lines that are added.'
391
+ }, {
392
+ id: 'minimapGutter.deletedBackground', defaults: {
393
+ dark: 'editorGutter.deletedBackground',
394
+ light: 'editorGutter.deletedBackground',
395
+ hcDark: 'editorGutter.deletedBackground',
396
+ hcLight: 'editorGutter.deletedBackground'
397
+ }, description: 'Minimap gutter background color for lines that are deleted.'
398
+ }, {
399
+ id: 'editorOverviewRuler.modifiedForeground', defaults: {
400
+ dark: color_1.Color.transparent(scm_colors_1.ScmColors.editorGutterModifiedBackground, 0.6),
401
+ light: color_1.Color.transparent(scm_colors_1.ScmColors.editorGutterModifiedBackground, 0.6),
402
+ hcDark: color_1.Color.transparent(scm_colors_1.ScmColors.editorGutterModifiedBackground, 0.6),
403
+ hcLight: color_1.Color.transparent(scm_colors_1.ScmColors.editorGutterModifiedBackground, 0.6)
404
+ }, description: 'Overview ruler marker color for modified content.'
405
+ }, {
406
+ id: 'editorOverviewRuler.addedForeground', defaults: {
407
+ dark: color_1.Color.transparent(scm_colors_1.ScmColors.editorGutterAddedBackground, 0.6),
408
+ light: color_1.Color.transparent(scm_colors_1.ScmColors.editorGutterAddedBackground, 0.6),
409
+ hcDark: color_1.Color.transparent(scm_colors_1.ScmColors.editorGutterAddedBackground, 0.6),
410
+ hcLight: color_1.Color.transparent(scm_colors_1.ScmColors.editorGutterAddedBackground, 0.6)
411
+ }, description: 'Overview ruler marker color for added content.'
412
+ }, {
413
+ id: 'editorOverviewRuler.deletedForeground', defaults: {
414
+ dark: color_1.Color.transparent(scm_colors_1.ScmColors.editorGutterDeletedBackground, 0.6),
415
+ light: color_1.Color.transparent(scm_colors_1.ScmColors.editorGutterDeletedBackground, 0.6),
416
+ hcDark: color_1.Color.transparent(scm_colors_1.ScmColors.editorGutterDeletedBackground, 0.6),
417
+ hcLight: color_1.Color.transparent(scm_colors_1.ScmColors.editorGutterDeletedBackground, 0.6)
418
+ }, description: 'Overview ruler marker color for deleted content.'
419
+ });
420
+ }
421
+ registerThemeStyle(theme, collector) {
422
+ const contrastBorder = theme.getColor('contrastBorder');
423
+ if (contrastBorder && (0, theme_1.isHighContrast)(theme.type)) {
424
+ collector.addRule(`
425
+ .theia-scm-input-message-container textarea {
426
+ outline: var(--theia-border-width) solid ${contrastBorder};
427
+ outline-offset: -1px;
428
+ }
429
+ `);
430
+ }
431
+ }
432
+ };
433
+ exports.ScmContribution = ScmContribution;
434
+ tslib_1.__decorate([
435
+ (0, inversify_1.inject)(browser_1.StatusBar),
436
+ tslib_1.__metadata("design:type", Object)
437
+ ], ScmContribution.prototype, "statusBar", void 0);
438
+ tslib_1.__decorate([
439
+ (0, inversify_1.inject)(scm_service_1.ScmService),
440
+ tslib_1.__metadata("design:type", scm_service_1.ScmService)
441
+ ], ScmContribution.prototype, "scmService", void 0);
442
+ tslib_1.__decorate([
443
+ (0, inversify_1.inject)(scm_quick_open_service_1.ScmQuickOpenService),
444
+ tslib_1.__metadata("design:type", scm_quick_open_service_1.ScmQuickOpenService)
445
+ ], ScmContribution.prototype, "scmQuickOpenService", void 0);
446
+ tslib_1.__decorate([
447
+ (0, inversify_1.inject)(browser_1.LabelProvider),
448
+ tslib_1.__metadata("design:type", browser_1.LabelProvider)
449
+ ], ScmContribution.prototype, "labelProvider", void 0);
450
+ tslib_1.__decorate([
451
+ (0, inversify_1.inject)(common_1.CommandService),
452
+ tslib_1.__metadata("design:type", Object)
453
+ ], ScmContribution.prototype, "commands", void 0);
454
+ tslib_1.__decorate([
455
+ (0, inversify_1.inject)(common_1.CommandRegistry),
456
+ tslib_1.__metadata("design:type", common_1.CommandRegistry)
457
+ ], ScmContribution.prototype, "commandRegistry", void 0);
458
+ tslib_1.__decorate([
459
+ (0, inversify_1.inject)(context_key_service_1.ContextKeyService),
460
+ tslib_1.__metadata("design:type", Object)
461
+ ], ScmContribution.prototype, "contextKeys", void 0);
462
+ tslib_1.__decorate([
463
+ (0, inversify_1.inject)(scm_decorations_service_1.ScmDecorationsService),
464
+ tslib_1.__metadata("design:type", scm_decorations_service_1.ScmDecorationsService)
465
+ ], ScmContribution.prototype, "scmDecorationsService", void 0);
466
+ tslib_1.__decorate([
467
+ (0, inversify_1.inject)(dirty_diff_navigator_1.DirtyDiffNavigator),
468
+ tslib_1.__metadata("design:type", dirty_diff_navigator_1.DirtyDiffNavigator)
469
+ ], ScmContribution.prototype, "dirtyDiffNavigator", void 0);
470
+ tslib_1.__decorate([
471
+ (0, inversify_1.postConstruct)(),
472
+ tslib_1.__metadata("design:type", Function),
473
+ tslib_1.__metadata("design:paramtypes", []),
474
+ tslib_1.__metadata("design:returntype", void 0)
475
+ ], ScmContribution.prototype, "init", null);
476
+ exports.ScmContribution = ScmContribution = tslib_1.__decorate([
477
+ (0, inversify_1.injectable)(),
478
+ tslib_1.__metadata("design:paramtypes", [])
479
+ ], ScmContribution);
480
+ //# sourceMappingURL=scm-contribution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scm-contribution.js","sourceRoot":"","sources":["../../src/browser/scm-contribution.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import '../../src/browser/style/index.css';
2
+ import { interfaces, ContainerModule, Container } from '@theia/core/shared/inversify';
3
+ declare const _default: ContainerModule;
4
+ export default _default;
5
+ export declare function createScmTreeContainer(parent: interfaces.Container): Container;
6
+ export declare function createScmWidgetContainer(parent: interfaces.Container): Container;
7
+ //# sourceMappingURL=scm-frontend-module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scm-frontend-module.d.ts","sourceRoot":"","sources":["../../src/browser/scm-frontend-module.ts"],"names":[],"mappings":"AAgBA,OAAO,mCAAmC,CAAC;AAE3C,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;;AA6BtF,wBA0EG;AAEH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,UAAU,CAAC,SAAS,GAAG,SAAS,CAiB9E;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,UAAU,CAAC,SAAS,GAAG,SAAS,CAKhF"}
@@ -0,0 +1,129 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2019 Red Hat, Inc. 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.createScmWidgetContainer = exports.createScmTreeContainer = void 0;
19
+ require("../../src/browser/style/index.css");
20
+ const inversify_1 = require("@theia/core/shared/inversify");
21
+ const browser_1 = require("@theia/core/lib/browser");
22
+ const scm_service_1 = require("./scm-service");
23
+ const scm_contribution_1 = require("./scm-contribution");
24
+ const scm_widget_1 = require("./scm-widget");
25
+ const scm_tree_widget_1 = require("./scm-tree-widget");
26
+ const scm_commit_widget_1 = require("./scm-commit-widget");
27
+ const scm_amend_widget_1 = require("./scm-amend-widget");
28
+ const scm_no_repository_widget_1 = require("./scm-no-repository-widget");
29
+ const scm_tree_model_1 = require("./scm-tree-model");
30
+ const scm_groups_tree_model_1 = require("./scm-groups-tree-model");
31
+ const scm_quick_open_service_1 = require("./scm-quick-open-service");
32
+ const dirty_diff_module_1 = require("./dirty-diff/dirty-diff-module");
33
+ const scm_decorations_service_1 = require("./decorations/scm-decorations-service");
34
+ const scm_avatar_service_1 = require("./scm-avatar-service");
35
+ const scm_context_key_service_1 = require("./scm-context-key-service");
36
+ const scm_layout_migrations_1 = require("./scm-layout-migrations");
37
+ const scm_tree_label_provider_1 = require("./scm-tree-label-provider");
38
+ const tab_bar_toolbar_1 = require("@theia/core/lib/browser/shell/tab-bar-toolbar");
39
+ const color_application_contribution_1 = require("@theia/core/lib/browser/color-application-contribution");
40
+ const label_provider_1 = require("@theia/core/lib/browser/label-provider");
41
+ const scm_preferences_1 = require("../common/scm-preferences");
42
+ const merge_editor_module_1 = require("./merge-editor/merge-editor-module");
43
+ exports.default = new inversify_1.ContainerModule(bind => {
44
+ bind(scm_context_key_service_1.ScmContextKeyService).toSelf().inSingletonScope();
45
+ bind(scm_service_1.ScmService).toSelf().inSingletonScope();
46
+ bind(scm_widget_1.ScmWidget).toSelf();
47
+ bind(browser_1.WidgetFactory).toDynamicValue(({ container }) => ({
48
+ id: scm_contribution_1.SCM_WIDGET_FACTORY_ID,
49
+ createWidget: () => {
50
+ const child = createScmWidgetContainer(container);
51
+ return child.get(scm_widget_1.ScmWidget);
52
+ }
53
+ })).inSingletonScope();
54
+ bind(scm_commit_widget_1.ScmCommitWidget).toSelf();
55
+ bind(browser_1.WidgetFactory).toDynamicValue(({ container }) => ({
56
+ id: scm_commit_widget_1.ScmCommitWidget.ID,
57
+ createWidget: () => container.get(scm_commit_widget_1.ScmCommitWidget)
58
+ })).inSingletonScope();
59
+ bind(browser_1.WidgetFactory).toDynamicValue(({ container }) => ({
60
+ id: scm_tree_widget_1.ScmTreeWidget.ID,
61
+ createWidget: () => container.get(scm_tree_widget_1.ScmTreeWidget)
62
+ })).inSingletonScope();
63
+ bind(scm_amend_widget_1.ScmAmendWidget).toSelf();
64
+ bind(browser_1.WidgetFactory).toDynamicValue(({ container }) => ({
65
+ id: scm_amend_widget_1.ScmAmendWidget.ID,
66
+ createWidget: () => container.get(scm_amend_widget_1.ScmAmendWidget)
67
+ })).inSingletonScope();
68
+ bind(scm_no_repository_widget_1.ScmNoRepositoryWidget).toSelf();
69
+ bind(browser_1.WidgetFactory).toDynamicValue(({ container }) => ({
70
+ id: scm_no_repository_widget_1.ScmNoRepositoryWidget.ID,
71
+ createWidget: () => container.get(scm_no_repository_widget_1.ScmNoRepositoryWidget)
72
+ })).inSingletonScope();
73
+ bind(browser_1.WidgetFactory).toDynamicValue(({ container }) => ({
74
+ id: scm_contribution_1.SCM_VIEW_CONTAINER_ID,
75
+ createWidget: async () => {
76
+ const viewContainer = container.get(browser_1.ViewContainer.Factory)({
77
+ id: scm_contribution_1.SCM_VIEW_CONTAINER_ID,
78
+ progressLocationId: 'scm'
79
+ });
80
+ viewContainer.setTitleOptions(scm_contribution_1.SCM_VIEW_CONTAINER_TITLE_OPTIONS);
81
+ const widget = await container.get(browser_1.WidgetManager).getOrCreateWidget(scm_contribution_1.SCM_WIDGET_FACTORY_ID);
82
+ viewContainer.addWidget(widget, {
83
+ canHide: false,
84
+ initiallyCollapsed: false
85
+ });
86
+ return viewContainer;
87
+ }
88
+ })).inSingletonScope();
89
+ bind(browser_1.ApplicationShellLayoutMigration).to(scm_layout_migrations_1.ScmLayoutVersion3Migration).inSingletonScope();
90
+ bind(browser_1.ApplicationShellLayoutMigration).to(scm_layout_migrations_1.ScmLayoutVersion5Migration).inSingletonScope();
91
+ bind(scm_quick_open_service_1.ScmQuickOpenService).toSelf().inSingletonScope();
92
+ (0, browser_1.bindViewContribution)(bind, scm_contribution_1.ScmContribution);
93
+ bind(browser_1.FrontendApplicationContribution).toService(scm_contribution_1.ScmContribution);
94
+ bind(tab_bar_toolbar_1.TabBarToolbarContribution).toService(scm_contribution_1.ScmContribution);
95
+ bind(color_application_contribution_1.ColorContribution).toService(scm_contribution_1.ScmContribution);
96
+ bind(browser_1.StylingParticipant).toService(scm_contribution_1.ScmContribution);
97
+ bind(scm_decorations_service_1.ScmDecorationsService).toSelf().inSingletonScope();
98
+ bind(scm_avatar_service_1.ScmAvatarService).toSelf().inSingletonScope();
99
+ (0, dirty_diff_module_1.bindDirtyDiff)(bind);
100
+ bind(scm_tree_label_provider_1.ScmTreeLabelProvider).toSelf().inSingletonScope();
101
+ bind(label_provider_1.LabelProviderContribution).toService(scm_tree_label_provider_1.ScmTreeLabelProvider);
102
+ (0, scm_preferences_1.bindScmPreferences)(bind);
103
+ (0, merge_editor_module_1.bindMergeEditor)(bind);
104
+ });
105
+ function createScmTreeContainer(parent) {
106
+ const child = (0, browser_1.createTreeContainer)(parent, {
107
+ props: {
108
+ virtualized: true,
109
+ search: true,
110
+ multiSelect: true,
111
+ },
112
+ widget: scm_tree_widget_1.ScmTreeWidget,
113
+ });
114
+ child.unbind(browser_1.TreeModel);
115
+ child.unbind(browser_1.TreeModelImpl);
116
+ child.bind(scm_tree_model_1.ScmTreeModelProps).toConstantValue({
117
+ defaultExpansion: 'expanded',
118
+ });
119
+ return child;
120
+ }
121
+ exports.createScmTreeContainer = createScmTreeContainer;
122
+ function createScmWidgetContainer(parent) {
123
+ const child = createScmTreeContainer(parent);
124
+ child.bind(scm_groups_tree_model_1.ScmGroupsTreeModel).toSelf();
125
+ child.bind(browser_1.TreeModel).toService(scm_groups_tree_model_1.ScmGroupsTreeModel);
126
+ return child;
127
+ }
128
+ exports.createScmWidgetContainer = createScmWidgetContainer;
129
+ //# sourceMappingURL=scm-frontend-module.js.map