@opensumi/ide-editor 2.27.3-rc-1714116491.0 → 2.27.3-rc-1714982362.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/browser/doc-model/editor-document-model-service.d.ts +3 -1
- package/lib/browser/doc-model/editor-document-model-service.d.ts.map +1 -1
- package/lib/browser/doc-model/editor-document-model-service.js +6 -1
- package/lib/browser/doc-model/editor-document-model-service.js.map +1 -1
- package/lib/browser/doc-model/types.d.ts +1 -0
- package/lib/browser/doc-model/types.d.ts.map +1 -1
- package/lib/browser/doc-model/types.js.map +1 -1
- package/lib/browser/editor-collection.service.d.ts +6 -6
- package/lib/browser/editor-collection.service.d.ts.map +1 -1
- package/lib/browser/editor-collection.service.js.map +1 -1
- package/lib/browser/editor-electron.contribution.d.ts +2 -2
- package/lib/browser/editor-electron.contribution.d.ts.map +1 -1
- package/lib/browser/editor-electron.contribution.js +1 -1
- package/lib/browser/editor-electron.contribution.js.map +1 -1
- package/lib/browser/editor.context.d.ts +7 -0
- package/lib/browser/editor.context.d.ts.map +1 -0
- package/lib/browser/editor.context.js +10 -0
- package/lib/browser/editor.context.js.map +1 -0
- package/lib/browser/editor.contribution.d.ts.map +1 -1
- package/lib/browser/editor.contribution.js +0 -5
- package/lib/browser/editor.contribution.js.map +1 -1
- package/lib/browser/editor.decoration.service.d.ts +12 -1
- package/lib/browser/editor.decoration.service.d.ts.map +1 -1
- package/lib/browser/editor.decoration.service.js +59 -30
- package/lib/browser/editor.decoration.service.js.map +1 -1
- package/lib/browser/editor.module.less +0 -54
- package/lib/browser/editor.view.d.ts.map +1 -1
- package/lib/browser/editor.view.js +70 -51
- package/lib/browser/editor.view.js.map +1 -1
- package/lib/browser/hooks/useEditor.d.ts +4 -0
- package/lib/browser/hooks/useEditor.d.ts.map +1 -0
- package/lib/browser/hooks/useEditor.js +31 -0
- package/lib/browser/hooks/useEditor.js.map +1 -0
- package/lib/browser/hooks/useInMergeChanges.d.ts +3 -0
- package/lib/browser/hooks/useInMergeChanges.d.ts.map +1 -0
- package/lib/browser/hooks/useInMergeChanges.js +27 -0
- package/lib/browser/hooks/useInMergeChanges.js.map +1 -0
- package/lib/browser/merge-conflict/conflict-parser.d.ts +46 -0
- package/lib/browser/merge-conflict/conflict-parser.d.ts.map +1 -0
- package/lib/browser/merge-conflict/conflict-parser.js +209 -0
- package/lib/browser/merge-conflict/conflict-parser.js.map +1 -0
- package/lib/browser/merge-conflict/index.d.ts +3 -0
- package/lib/browser/merge-conflict/index.d.ts.map +1 -0
- package/lib/browser/merge-conflict/index.js +6 -0
- package/lib/browser/merge-conflict/index.js.map +1 -0
- package/lib/browser/merge-conflict/types.d.ts +60 -0
- package/lib/browser/merge-conflict/types.d.ts.map +1 -0
- package/lib/browser/merge-conflict/types.js +15 -0
- package/lib/browser/merge-conflict/types.js.map +1 -0
- package/lib/browser/merge-editor/MergeEditorFloatComponents.d.ts.map +1 -1
- package/lib/browser/merge-editor/MergeEditorFloatComponents.js +73 -49
- package/lib/browser/merge-editor/MergeEditorFloatComponents.js.map +1 -1
- package/lib/browser/merge-editor/merge-editor.module.less +71 -0
- package/lib/browser/merge-editor/merge-editor.provider.d.ts.map +1 -1
- package/lib/browser/merge-editor/merge-editor.provider.js +3 -0
- package/lib/browser/merge-editor/merge-editor.provider.js.map +1 -1
- package/lib/browser/tab.view.d.ts.map +1 -1
- package/lib/browser/tab.view.js +6 -5
- package/lib/browser/tab.view.js.map +1 -1
- package/lib/browser/types.d.ts +6 -0
- package/lib/browser/types.d.ts.map +1 -1
- package/lib/browser/types.js.map +1 -1
- package/lib/browser/workbench-editor.service.d.ts +1 -1
- package/lib/browser/workbench-editor.service.js +1 -1
- package/lib/common/editor.d.ts +3 -1
- package/lib/common/editor.d.ts.map +1 -1
- package/lib/common/editor.js.map +1 -1
- package/package.json +14 -14
- package/src/browser/doc-model/editor-document-model-service.ts +11 -1
- package/src/browser/doc-model/types.ts +4 -0
- package/src/browser/editor-collection.service.ts +7 -7
- package/src/browser/editor-electron.contribution.ts +1 -2
- package/src/browser/editor.context.ts +11 -0
- package/src/browser/editor.contribution.ts +0 -6
- package/src/browser/editor.decoration.service.ts +75 -34
- package/src/browser/editor.module.less +0 -54
- package/src/browser/editor.view.tsx +102 -77
- package/src/browser/hooks/useEditor.ts +34 -0
- package/src/browser/hooks/useInMergeChanges.ts +30 -0
- package/src/browser/merge-conflict/conflict-parser.ts +323 -0
- package/src/browser/merge-conflict/index.ts +2 -0
- package/src/browser/merge-conflict/types.ts +73 -0
- package/src/browser/merge-editor/MergeEditorFloatComponents.tsx +111 -73
- package/src/browser/merge-editor/merge-editor.module.less +71 -0
- package/src/browser/merge-editor/merge-editor.provider.ts +3 -0
- package/src/browser/tab.view.tsx +7 -6
- package/src/browser/types.ts +8 -0
- package/src/browser/workbench-editor.service.ts +1 -1
- package/src/common/editor.ts +3 -1
|
@@ -12,7 +12,9 @@ const ide_core_browser_1 = require("@opensumi/ide-core-browser");
|
|
|
12
12
|
const components_1 = require("@opensumi/ide-core-browser/lib/components");
|
|
13
13
|
const view_id_1 = require("@opensumi/ide-core-browser/lib/layout/view-id");
|
|
14
14
|
const react_hooks_1 = require("@opensumi/ide-core-browser/lib/react-hooks");
|
|
15
|
+
const monaco_api_1 = require("@opensumi/ide-monaco/lib/browser/monaco-api");
|
|
15
16
|
const common_1 = require("../common");
|
|
17
|
+
const editor_context_1 = require("./editor.context");
|
|
16
18
|
const editor_module_less_1 = tslib_1.__importDefault(require("./editor.module.less"));
|
|
17
19
|
const grid_service_1 = require("./grid/grid.service");
|
|
18
20
|
const navigation_view_1 = require("./navigation.view");
|
|
@@ -191,6 +193,7 @@ exports.EditorGroupView = (0, mobx_react_lite_1.observer)(({ group }) => {
|
|
|
191
193
|
react_1.default.createElement(EmptyEditorViewConfig.component, EmptyEditorViewConfig.initialProps))) : null))));
|
|
192
194
|
});
|
|
193
195
|
exports.EditorGroupBody = (0, mobx_react_lite_1.observer)(({ group }) => {
|
|
196
|
+
const [context, setContext] = react_1.default.useState(editor_context_1.defaultEditorContext);
|
|
194
197
|
const editorBodyRef = react_1.default.useRef(null);
|
|
195
198
|
const editorService = (0, react_hooks_1.useInjectable)(common_1.WorkbenchEditorService);
|
|
196
199
|
const eventBus = (0, react_hooks_1.useInjectable)(ide_core_browser_1.IEventBus);
|
|
@@ -202,6 +205,10 @@ exports.EditorGroupBody = (0, mobx_react_lite_1.observer)(({ group }) => {
|
|
|
202
205
|
const [, updateState] = react_1.default.useState();
|
|
203
206
|
const forceUpdate = react_1.default.useCallback(() => updateState({}), []);
|
|
204
207
|
react_1.default.useEffect(() => {
|
|
208
|
+
const disposables = new ide_core_browser_1.DisposableStore();
|
|
209
|
+
disposables.add(group.onDidEditorGroupBodyChanged(() => {
|
|
210
|
+
forceUpdate();
|
|
211
|
+
}));
|
|
205
212
|
if (codeEditorRef.current) {
|
|
206
213
|
if (cachedEditor[group.name]) {
|
|
207
214
|
cachedEditor[group.name].remove();
|
|
@@ -212,6 +219,17 @@ exports.EditorGroupBody = (0, mobx_react_lite_1.observer)(({ group }) => {
|
|
|
212
219
|
codeEditorRef.current.appendChild(container);
|
|
213
220
|
cachedEditor[group.name] = container;
|
|
214
221
|
group.createEditor(container);
|
|
222
|
+
const minimapWith = group.codeEditor.monacoEditor.getOption(monaco_api_1.monaco.editor.EditorOption.layoutInfo).minimap
|
|
223
|
+
.minimapWidth;
|
|
224
|
+
setContext({ minimapWidth: minimapWith });
|
|
225
|
+
disposables.add(group.codeEditor.monacoEditor.onDidChangeConfiguration((e) => {
|
|
226
|
+
if (e.hasChanged(monaco_api_1.monaco.editor.EditorOption.layoutInfo)) {
|
|
227
|
+
setContext({
|
|
228
|
+
minimapWidth: group.codeEditor.monacoEditor.getOption(monaco_api_1.monaco.editor.EditorOption.layoutInfo).minimap
|
|
229
|
+
.minimapWidth,
|
|
230
|
+
});
|
|
231
|
+
}
|
|
232
|
+
}));
|
|
215
233
|
}
|
|
216
234
|
}
|
|
217
235
|
if (diffEditorRef.current) {
|
|
@@ -220,10 +238,10 @@ exports.EditorGroupBody = (0, mobx_react_lite_1.observer)(({ group }) => {
|
|
|
220
238
|
if (mergeEditorRef.current) {
|
|
221
239
|
group.attachMergeEditorDom(mergeEditorRef.current);
|
|
222
240
|
}
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
}
|
|
241
|
+
return () => {
|
|
242
|
+
disposables.dispose();
|
|
243
|
+
};
|
|
244
|
+
}, []);
|
|
227
245
|
group.activeComponents.forEach((resources, component) => {
|
|
228
246
|
const initialProps = group.activateComponentsProps.get(component);
|
|
229
247
|
components.push(react_1.default.createElement("div", { key: component.uid, className: (0, classnames_1.default)({
|
|
@@ -249,55 +267,56 @@ exports.EditorGroupBody = (0, mobx_react_lite_1.observer)(({ group }) => {
|
|
|
249
267
|
}));
|
|
250
268
|
}
|
|
251
269
|
});
|
|
252
|
-
return (react_1.default.createElement(
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
}, onDragLeave: (e) => {
|
|
259
|
-
if (editorBodyRef.current) {
|
|
260
|
-
removeDecorationDragOverElement(editorBodyRef.current);
|
|
261
|
-
}
|
|
262
|
-
}, onDrop: (e) => {
|
|
263
|
-
if (editorBodyRef.current) {
|
|
264
|
-
removeDecorationDragOverElement(editorBodyRef.current);
|
|
265
|
-
if (e.dataTransfer.getData('uri')) {
|
|
266
|
-
const uri = new ide_core_browser_1.URI(e.dataTransfer.getData('uri'));
|
|
267
|
-
let sourceGroup;
|
|
268
|
-
if (e.dataTransfer.getData('uri-source-group')) {
|
|
269
|
-
sourceGroup = editorService.getEditorGroup(e.dataTransfer.getData('uri-source-group'));
|
|
270
|
-
}
|
|
271
|
-
group.dropUri(uri, getDragOverPosition(e.nativeEvent, editorBodyRef.current), sourceGroup);
|
|
270
|
+
return (react_1.default.createElement(editor_context_1.EditorContext.Provider, { value: context },
|
|
271
|
+
react_1.default.createElement("div", { id: view_id_1.VIEW_CONTAINERS.EDITOR, ref: editorBodyRef, className: editor_module_less_1.default.kt_editor_body, onDragOver: (e) => {
|
|
272
|
+
e.preventDefault();
|
|
273
|
+
if (editorBodyRef.current) {
|
|
274
|
+
const position = getDragOverPosition(e.nativeEvent, editorBodyRef.current);
|
|
275
|
+
decorateDragOverElement(editorBodyRef.current, position);
|
|
272
276
|
}
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
files: e.dataTransfer.files,
|
|
277
|
-
position: getDragOverPosition(e.nativeEvent, editorBodyRef.current),
|
|
278
|
-
}));
|
|
277
|
+
}, onDragLeave: (e) => {
|
|
278
|
+
if (editorBodyRef.current) {
|
|
279
|
+
removeDecorationDragOverElement(editorBodyRef.current);
|
|
279
280
|
}
|
|
280
|
-
}
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
281
|
+
}, onDrop: (e) => {
|
|
282
|
+
if (editorBodyRef.current) {
|
|
283
|
+
removeDecorationDragOverElement(editorBodyRef.current);
|
|
284
|
+
if (e.dataTransfer.getData('uri')) {
|
|
285
|
+
const uri = new ide_core_browser_1.URI(e.dataTransfer.getData('uri'));
|
|
286
|
+
let sourceGroup;
|
|
287
|
+
if (e.dataTransfer.getData('uri-source-group')) {
|
|
288
|
+
sourceGroup = editorService.getEditorGroup(e.dataTransfer.getData('uri-source-group'));
|
|
289
|
+
}
|
|
290
|
+
group.dropUri(uri, getDragOverPosition(e.nativeEvent, editorBodyRef.current), sourceGroup);
|
|
291
|
+
}
|
|
292
|
+
if (e.dataTransfer.files.length > 0) {
|
|
293
|
+
eventBus.fire(new types_1.EditorGroupFileDropEvent({
|
|
294
|
+
group,
|
|
295
|
+
files: e.dataTransfer.files,
|
|
296
|
+
position: getDragOverPosition(e.nativeEvent, editorBodyRef.current),
|
|
297
|
+
}));
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
} },
|
|
301
|
+
group.currentResource && react_1.default.createElement(EditorSideView, { side: 'top', resource: group.currentResource }),
|
|
302
|
+
!editorHasNoTab && react_1.default.createElement(navigation_view_1.NavigationBar, { editorGroup: group }),
|
|
303
|
+
react_1.default.createElement("div", { className: editor_module_less_1.default.kt_editor_components },
|
|
304
|
+
react_1.default.createElement("div", { className: (0, classnames_1.default)({
|
|
305
|
+
[styles_kt_editor_component]: true,
|
|
306
|
+
[editor_module_less_1.default.kt_hidden]: !group.currentOpenType || group.currentOpenType.type !== types_1.EditorOpenType.component,
|
|
307
|
+
}) }, components),
|
|
308
|
+
react_1.default.createElement("div", { className: (0, classnames_1.default)({
|
|
309
|
+
[editor_module_less_1.default.kt_editor_code_editor]: true,
|
|
310
|
+
[styles_kt_editor_component]: true,
|
|
311
|
+
[editor_module_less_1.default.kt_hidden]: !group.currentOpenType || group.currentOpenType.type !== types_1.EditorOpenType.code,
|
|
312
|
+
}), ref: codeEditorRef }),
|
|
313
|
+
react_1.default.createElement("div", { className: (0, classnames_1.default)(editor_module_less_1.default.kt_editor_diff_editor, styles_kt_editor_component, {
|
|
314
|
+
[editor_module_less_1.default.kt_hidden]: !group.currentOpenType || group.currentOpenType.type !== types_1.EditorOpenType.diff,
|
|
315
|
+
}), ref: diffEditorRef }),
|
|
316
|
+
react_1.default.createElement("div", { className: (0, classnames_1.default)(editor_module_less_1.default.kt_editor_diff_3_editor, styles_kt_editor_component, {
|
|
317
|
+
[editor_module_less_1.default.kt_hidden]: !group.currentOpenType || group.currentOpenType.type !== types_1.EditorOpenType.mergeEditor,
|
|
318
|
+
}), ref: mergeEditorRef })),
|
|
319
|
+
group.currentResource && react_1.default.createElement(EditorSideView, { side: 'bottom', resource: group.currentResource }))));
|
|
301
320
|
});
|
|
302
321
|
const ComponentsWrapper = (_a) => {
|
|
303
322
|
var { component, resources, current } = _a, other = tslib_1.__rest(_a, ["component", "resources", "current"]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editor.view.js","sourceRoot":"","sources":["../../src/browser/editor.view.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"editor.view.js","sourceRoot":"","sources":["../../src/browser/editor.view.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useEditor.d.ts","sourceRoot":"","sources":["../../../src/browser/hooks/useEditor.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAiB,MAAM,4BAA4B,CAAC;AAGhE,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAEnD,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,GAAG,kCA0BjD"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useEditorDocumentModelRef = void 0;
|
|
4
|
+
const react_1 = require("react");
|
|
5
|
+
const ide_core_browser_1 = require("@opensumi/ide-core-browser");
|
|
6
|
+
const types_1 = require("../doc-model/types");
|
|
7
|
+
function useEditorDocumentModelRef(uri) {
|
|
8
|
+
const documentService = (0, ide_core_browser_1.useInjectable)(types_1.IEditorDocumentModelService);
|
|
9
|
+
const [ref, setRef] = (0, react_1.useState)(null);
|
|
10
|
+
(0, react_1.useEffect)(() => {
|
|
11
|
+
const run = () => {
|
|
12
|
+
const ref = documentService.getModelReference(uri);
|
|
13
|
+
if (ref) {
|
|
14
|
+
setRef(ref);
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
const toDispose = documentService.onDocumentModelCreated(uri.toString(), () => {
|
|
18
|
+
run();
|
|
19
|
+
});
|
|
20
|
+
run();
|
|
21
|
+
return () => {
|
|
22
|
+
toDispose.dispose();
|
|
23
|
+
if (ref) {
|
|
24
|
+
ref.dispose();
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
}, [uri]);
|
|
28
|
+
return ref;
|
|
29
|
+
}
|
|
30
|
+
exports.useEditorDocumentModelRef = useEditorDocumentModelRef;
|
|
31
|
+
//# sourceMappingURL=useEditor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useEditor.js","sourceRoot":"","sources":["../../../src/browser/hooks/useEditor.ts"],"names":[],"mappings":";;;AAAA,iCAA4C;AAE5C,iEAAgE;AAEhE,8CAAiE;AAGjE,SAAgB,yBAAyB,CAAC,GAAQ;IAChD,MAAM,eAAe,GAAgC,IAAA,gCAAa,EAAC,mCAA2B,CAAC,CAAC;IAChG,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,IAAA,gBAAQ,EAAiC,IAAI,CAAC,CAAC;IAErE,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,MAAM,GAAG,GAAG,GAAG,EAAE;YACf,MAAM,GAAG,GAAG,eAAe,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;YACnD,IAAI,GAAG,EAAE;gBACP,MAAM,CAAC,GAAG,CAAC,CAAC;aACb;QACH,CAAC,CAAC;QAEF,MAAM,SAAS,GAAG,eAAe,CAAC,sBAAsB,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE;YAC5E,GAAG,EAAE,CAAC;QACR,CAAC,CAAC,CAAC;QAEH,GAAG,EAAE,CAAC;QACN,OAAO,GAAG,EAAE;YACV,SAAS,CAAC,OAAO,EAAE,CAAC;YACpB,IAAI,GAAG,EAAE;gBACP,GAAG,CAAC,OAAO,EAAE,CAAC;aACf;QACH,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAEV,OAAO,GAAG,CAAC;AACb,CAAC;AA1BD,8DA0BC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useInMergeChanges.d.ts","sourceRoot":"","sources":["../../../src/browser/hooks/useInMergeChanges.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,kBAAkB,aAAwB,CAAC;AAExD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,WAqB/C"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useInMergeChanges = exports.gitMergeChangesSet = void 0;
|
|
4
|
+
const react_1 = require("react");
|
|
5
|
+
const ide_core_browser_1 = require("@opensumi/ide-core-browser");
|
|
6
|
+
const contextKey = 'git.mergeChangesObj';
|
|
7
|
+
exports.gitMergeChangesSet = new Set([contextKey]);
|
|
8
|
+
function useInMergeChanges(uriStr) {
|
|
9
|
+
const contextKeyService = (0, ide_core_browser_1.useInjectable)(ide_core_browser_1.IContextKeyService);
|
|
10
|
+
const [inMergeChanges, setInMergeChanges] = (0, react_1.useState)(false);
|
|
11
|
+
(0, react_1.useEffect)(() => {
|
|
12
|
+
function run() {
|
|
13
|
+
const mergeChanges = contextKeyService.getValue(contextKey) || {};
|
|
14
|
+
setInMergeChanges(mergeChanges[uriStr] || false);
|
|
15
|
+
}
|
|
16
|
+
run();
|
|
17
|
+
const disposed = contextKeyService.onDidChangeContext(({ payload }) => {
|
|
18
|
+
if (payload.affectsSome(exports.gitMergeChangesSet)) {
|
|
19
|
+
run();
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
return () => disposed.dispose();
|
|
23
|
+
}, [uriStr]);
|
|
24
|
+
return inMergeChanges;
|
|
25
|
+
}
|
|
26
|
+
exports.useInMergeChanges = useInMergeChanges;
|
|
27
|
+
//# sourceMappingURL=useInMergeChanges.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useInMergeChanges.js","sourceRoot":"","sources":["../../../src/browser/hooks/useInMergeChanges.ts"],"names":[],"mappings":";;;AAAA,iCAA4C;AAE5C,iEAA+E;AAE/E,MAAM,UAAU,GAAG,qBAAqB,CAAC;AAE5B,QAAA,kBAAkB,GAAG,IAAI,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;AAExD,SAAgB,iBAAiB,CAAC,MAAc;IAC9C,MAAM,iBAAiB,GAAG,IAAA,gCAAa,EAAqB,qCAAkB,CAAC,CAAC;IAEhF,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IAE5D,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,SAAS,GAAG;YACV,MAAM,YAAY,GAAG,iBAAiB,CAAC,QAAQ,CAA0B,UAAU,CAAC,IAAI,EAAE,CAAC;YAC3F,iBAAiB,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC;QACnD,CAAC;QACD,GAAG,EAAE,CAAC;QAEN,MAAM,QAAQ,GAAG,iBAAiB,CAAC,kBAAkB,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;YACpE,IAAI,OAAO,CAAC,WAAW,CAAC,0BAAkB,CAAC,EAAE;gBAC3C,GAAG,EAAE,CAAC;aACP;QACH,CAAC,CAAC,CAAC;QACH,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;IAClC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,OAAO,cAAc,CAAC;AACxB,CAAC;AArBD,8CAqBC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { Disposable, LRUCache } from '@opensumi/ide-core-common';
|
|
2
|
+
import * as monaco from '@opensumi/ide-monaco';
|
|
3
|
+
import { ICacheDocumentMergeConflict, IDocumentMergeConflictDescriptor, IMergeRegion } from './types';
|
|
4
|
+
export interface IConflictCache {
|
|
5
|
+
id: string;
|
|
6
|
+
range: monaco.Range;
|
|
7
|
+
text: string;
|
|
8
|
+
isResolved: boolean;
|
|
9
|
+
}
|
|
10
|
+
export declare class TextLine {
|
|
11
|
+
lineNumber: number;
|
|
12
|
+
text: string;
|
|
13
|
+
range: monaco.Range;
|
|
14
|
+
rangeIncludingLineBreak: monaco.Range;
|
|
15
|
+
firstNonWhitespaceCharacterIndex: number;
|
|
16
|
+
isEmptyOrWhitespace: boolean;
|
|
17
|
+
constructor(document: monaco.editor.ITextModel, line: number);
|
|
18
|
+
}
|
|
19
|
+
export declare class MergeConflictParser extends Disposable {
|
|
20
|
+
cache: LRUCache<string, DocumentMergeConflict[]>;
|
|
21
|
+
private _conflictTextCaches;
|
|
22
|
+
private _conflictRangeCaches;
|
|
23
|
+
private static createCacheKey;
|
|
24
|
+
scanDocument(document: monaco.editor.ITextModel): DocumentMergeConflict[];
|
|
25
|
+
getConflictText(uri: string): string | undefined;
|
|
26
|
+
getAllConflictsByUri(uri: string): IConflictCache[] | undefined;
|
|
27
|
+
getAllConflicts(): Map<string, IConflictCache[]>;
|
|
28
|
+
setConflictResolved(uri: string, id: string): void;
|
|
29
|
+
deleteConflictText(uri: string): void;
|
|
30
|
+
dispose(): void;
|
|
31
|
+
}
|
|
32
|
+
export declare class DocumentMergeConflict implements ICacheDocumentMergeConflict {
|
|
33
|
+
range: monaco.Range;
|
|
34
|
+
current: IMergeRegion;
|
|
35
|
+
incoming: IMergeRegion;
|
|
36
|
+
commonAncestors: IMergeRegion[];
|
|
37
|
+
splitter: monaco.Range;
|
|
38
|
+
incomingContent: string;
|
|
39
|
+
currentContent: string;
|
|
40
|
+
bothContent: string;
|
|
41
|
+
aiContent?: string;
|
|
42
|
+
defaultContent: string;
|
|
43
|
+
private applied;
|
|
44
|
+
constructor(descriptor: IDocumentMergeConflictDescriptor);
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=conflict-parser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conflict-parser.d.ts","sourceRoot":"","sources":["../../../src/browser/merge-conflict/conflict-parser.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAQ,MAAM,2BAA2B,CAAC;AACvE,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAC;AAE/C,OAAO,EAAE,2BAA2B,EAAE,gCAAgC,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AActG,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,qBAAa,QAAQ;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;IACpB,uBAAuB,EAAE,MAAM,CAAC,KAAK,CAAC;IACtC,gCAAgC,EAAE,MAAM,CAAC;IACzC,mBAAmB,EAAE,OAAO,CAAC;gBACjB,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,EAAE,MAAM;CAY7D;AAED,qBACa,mBAAoB,SAAQ,UAAU;IACjD,KAAK,4CAAsD;IAE3D,OAAO,CAAC,mBAAmB,CAA6B;IAExD,OAAO,CAAC,oBAAoB,CAAuC;IAEnE,OAAO,CAAC,MAAM,CAAC,cAAc;IAI7B,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU;IAkF/C,eAAe,CAAC,GAAG,EAAE,MAAM;IAG3B,oBAAoB,CAAC,GAAG,EAAE,MAAM;IAIhC,eAAe;IAIf,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM;IAU3C,kBAAkB,CAAC,GAAG,EAAE,MAAM;IAG9B,OAAO;CAIR;AAiID,qBAAa,qBAAsB,YAAW,2BAA2B;IAChE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;IACpB,OAAO,EAAE,YAAY,CAAC;IACtB,QAAQ,EAAE,YAAY,CAAC;IACvB,eAAe,EAAE,YAAY,EAAE,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IAC9B,OAAO,CAAC,OAAO,CAAS;gBACZ,UAAU,EAAE,gCAAgC;CAOzD"}
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* ---------------------------------------------------------------------------------------------
|
|
3
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
4
|
+
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
5
|
+
*--------------------------------------------------------------------------------------------*/
|
|
6
|
+
// Some code copied and modified from https://github.com/microsoft/vscode/blob/main/extensions/merge-conflict/src/mergeConflictParser.ts
|
|
7
|
+
var MergeConflictParser_1;
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.DocumentMergeConflict = exports.MergeConflictParser = exports.TextLine = void 0;
|
|
10
|
+
const tslib_1 = require("tslib");
|
|
11
|
+
const di_1 = require("@opensumi/di");
|
|
12
|
+
const ide_core_common_1 = require("@opensumi/ide-core-common");
|
|
13
|
+
const monaco = tslib_1.__importStar(require("@opensumi/ide-monaco"));
|
|
14
|
+
const startHeaderMarker = '<<<<<<<';
|
|
15
|
+
const commonAncestorsMarker = '|||||||';
|
|
16
|
+
const splitterMarker = '=======';
|
|
17
|
+
const endFooterMarker = '>>>>>>>';
|
|
18
|
+
class TextLine {
|
|
19
|
+
constructor(document, line) {
|
|
20
|
+
if (typeof line !== 'number' || line <= 0 || line > document.getLineCount()) {
|
|
21
|
+
throw new Error('Illegal value for `line`');
|
|
22
|
+
}
|
|
23
|
+
this.text = document.getLineContent(line);
|
|
24
|
+
this.firstNonWhitespaceCharacterIndex = /^(\s*)/.exec(this.text)[1].length;
|
|
25
|
+
this.range = new monaco.Range(line, 1, line, this.text.length + 1);
|
|
26
|
+
this.rangeIncludingLineBreak =
|
|
27
|
+
line <= document.getLineCount() ? new monaco.Range(line, 1, line + 1, 1) : this.range;
|
|
28
|
+
this.lineNumber = line;
|
|
29
|
+
this.isEmptyOrWhitespace = this.firstNonWhitespaceCharacterIndex === this.text.length;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
exports.TextLine = TextLine;
|
|
33
|
+
let MergeConflictParser = MergeConflictParser_1 = class MergeConflictParser extends ide_core_common_1.Disposable {
|
|
34
|
+
constructor() {
|
|
35
|
+
super(...arguments);
|
|
36
|
+
this.cache = new ide_core_common_1.LRUCache(100);
|
|
37
|
+
this._conflictTextCaches = new Map();
|
|
38
|
+
this._conflictRangeCaches = new Map();
|
|
39
|
+
}
|
|
40
|
+
static createCacheKey(document) {
|
|
41
|
+
return `${document.uri.toString()}-${document.getAlternativeVersionId()}`;
|
|
42
|
+
}
|
|
43
|
+
scanDocument(document) {
|
|
44
|
+
const cacheKey = MergeConflictParser_1.createCacheKey(document);
|
|
45
|
+
if (this.cache.has(cacheKey)) {
|
|
46
|
+
return this.cache.get(cacheKey);
|
|
47
|
+
}
|
|
48
|
+
// Scan each line in the document, we already know there is at least a <<<<<<< and
|
|
49
|
+
// >>>>>> marker within the document, we need to group these into conflict ranges.
|
|
50
|
+
// We initially build a scan match, that references the lines of the header, splitter
|
|
51
|
+
// and footer. This is then converted into a full descriptor containing all required
|
|
52
|
+
// ranges.
|
|
53
|
+
let currentConflict = null;
|
|
54
|
+
const conflictDescriptors = [];
|
|
55
|
+
const cacheConflictDescriptors = this._conflictTextCaches.get(document.uri.toString());
|
|
56
|
+
for (let i = 0; i < document.getLineCount(); i++) {
|
|
57
|
+
const line = new TextLine(document, i + 1);
|
|
58
|
+
// Ignore empty lines
|
|
59
|
+
if (!line || line.isEmptyOrWhitespace) {
|
|
60
|
+
continue;
|
|
61
|
+
}
|
|
62
|
+
// Is this a start line? <<<<<<<
|
|
63
|
+
if (line.text.startsWith(startHeaderMarker)) {
|
|
64
|
+
if (currentConflict !== null) {
|
|
65
|
+
// Error, we should not see a startMarker before we've seen an endMarker
|
|
66
|
+
currentConflict = null;
|
|
67
|
+
// Give up parsing, anything matched up this to this point will be decorated
|
|
68
|
+
// anything after will not
|
|
69
|
+
break;
|
|
70
|
+
}
|
|
71
|
+
// Create a new conflict starting at this line
|
|
72
|
+
currentConflict = { startHeader: line, commonAncestors: [] };
|
|
73
|
+
}
|
|
74
|
+
// Are we within a conflict block and is this a common ancestors marker? |||||||
|
|
75
|
+
else if (currentConflict && !currentConflict.splitter && line.text.startsWith(commonAncestorsMarker)) {
|
|
76
|
+
currentConflict.commonAncestors.push(line);
|
|
77
|
+
}
|
|
78
|
+
// Are we within a conflict block and is this a splitter? =======
|
|
79
|
+
else if (currentConflict && !currentConflict.splitter && line.text === splitterMarker) {
|
|
80
|
+
currentConflict.splitter = line;
|
|
81
|
+
}
|
|
82
|
+
// Are we within a conflict block and is this a footer? >>>>>>>
|
|
83
|
+
else if (currentConflict && line.text.startsWith(endFooterMarker)) {
|
|
84
|
+
currentConflict.endFooter = line;
|
|
85
|
+
// Create a full descriptor from the lines that we matched. This can return
|
|
86
|
+
// null if the descriptor could not be completed.
|
|
87
|
+
const completeDescriptor = scanItemTolMergeConflictDescriptor(document, currentConflict);
|
|
88
|
+
if (completeDescriptor !== null) {
|
|
89
|
+
conflictDescriptors.push(completeDescriptor);
|
|
90
|
+
}
|
|
91
|
+
// Reset the current conflict to be empty, so we can match the next
|
|
92
|
+
// starting header marker.
|
|
93
|
+
currentConflict = null;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
if (!cacheConflictDescriptors && conflictDescriptors.length) {
|
|
97
|
+
this._conflictTextCaches.set(document.uri.toString(), document.getValue());
|
|
98
|
+
const conflictRanges = [];
|
|
99
|
+
conflictDescriptors.filter(Boolean).forEach((descriptor) => {
|
|
100
|
+
const range = descriptor.range;
|
|
101
|
+
conflictRanges.push({
|
|
102
|
+
id: (0, ide_core_common_1.uuid)(),
|
|
103
|
+
range,
|
|
104
|
+
text: document.getValueInRange(range),
|
|
105
|
+
isResolved: false,
|
|
106
|
+
});
|
|
107
|
+
});
|
|
108
|
+
this._conflictRangeCaches.set(document.uri.toString(), conflictRanges);
|
|
109
|
+
}
|
|
110
|
+
const result = conflictDescriptors === null || conflictDescriptors === void 0 ? void 0 : conflictDescriptors.filter(Boolean).map((descriptor) => new DocumentMergeConflict(descriptor));
|
|
111
|
+
this.cache.set(cacheKey, result);
|
|
112
|
+
return result;
|
|
113
|
+
}
|
|
114
|
+
getConflictText(uri) {
|
|
115
|
+
return this._conflictTextCaches.get(uri);
|
|
116
|
+
}
|
|
117
|
+
getAllConflictsByUri(uri) {
|
|
118
|
+
return this._conflictRangeCaches.get(uri);
|
|
119
|
+
}
|
|
120
|
+
getAllConflicts() {
|
|
121
|
+
return this._conflictRangeCaches;
|
|
122
|
+
}
|
|
123
|
+
setConflictResolved(uri, id) {
|
|
124
|
+
const conflictRanges = this._conflictRangeCaches.get(uri);
|
|
125
|
+
if (conflictRanges) {
|
|
126
|
+
const conflictRange = conflictRanges.find((item) => item.id === id);
|
|
127
|
+
if (conflictRange) {
|
|
128
|
+
conflictRange.isResolved = true;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
deleteConflictText(uri) {
|
|
133
|
+
this._conflictTextCaches.delete(uri);
|
|
134
|
+
}
|
|
135
|
+
dispose() {
|
|
136
|
+
this._conflictTextCaches.clear();
|
|
137
|
+
this._conflictRangeCaches.clear();
|
|
138
|
+
}
|
|
139
|
+
};
|
|
140
|
+
MergeConflictParser = MergeConflictParser_1 = tslib_1.__decorate([
|
|
141
|
+
(0, di_1.Injectable)()
|
|
142
|
+
], MergeConflictParser);
|
|
143
|
+
exports.MergeConflictParser = MergeConflictParser;
|
|
144
|
+
function scanItemTolMergeConflictDescriptor(document, scanned) {
|
|
145
|
+
// Validate we have all the required lines within the scan item.
|
|
146
|
+
if (!scanned.startHeader || !scanned.splitter || !scanned.endFooter) {
|
|
147
|
+
return null;
|
|
148
|
+
}
|
|
149
|
+
const tokenAfterCurrentBlock = scanned.commonAncestors[0] || scanned.splitter;
|
|
150
|
+
// Assume that descriptor.current.header, descriptor.incoming.header and descriptor.splitter
|
|
151
|
+
// have valid ranges, fill in content and total ranges from these parts.
|
|
152
|
+
// NOTE: We need to shift the decorator range back one character so the splitter does not end up with
|
|
153
|
+
// two decoration colors (current and splitter), if we take the new line from the content into account
|
|
154
|
+
// the decorator will wrap to the next line.
|
|
155
|
+
return {
|
|
156
|
+
current: {
|
|
157
|
+
header: scanned.startHeader.range,
|
|
158
|
+
decoratorContent: new monaco.Range(scanned.startHeader.rangeIncludingLineBreak.endLineNumber, scanned.startHeader.rangeIncludingLineBreak.endColumn, shiftBackOneCharacter(document, tokenAfterCurrentBlock.range.getStartPosition(), scanned.startHeader.rangeIncludingLineBreak.getEndPosition()).lineNumber, shiftBackOneCharacter(document, tokenAfterCurrentBlock.range.getStartPosition(), scanned.startHeader.rangeIncludingLineBreak.getEndPosition()).column),
|
|
159
|
+
// Current content is range between header (shifted for linebreak) and splitter or common ancestors mark start
|
|
160
|
+
content: new monaco.Range(scanned.startHeader.rangeIncludingLineBreak.endLineNumber, scanned.startHeader.rangeIncludingLineBreak.endColumn, tokenAfterCurrentBlock.range.startLineNumber, tokenAfterCurrentBlock.range.startColumn),
|
|
161
|
+
name: scanned.startHeader.text.substring(startHeaderMarker.length + 1),
|
|
162
|
+
},
|
|
163
|
+
commonAncestors: scanned.commonAncestors.map((currentTokenLine, index, commonAncestors) => {
|
|
164
|
+
const nextTokenLine = commonAncestors[index + 1] || scanned.splitter;
|
|
165
|
+
return {
|
|
166
|
+
header: currentTokenLine.range,
|
|
167
|
+
decoratorContent: new monaco.Range(currentTokenLine.rangeIncludingLineBreak.endLineNumber, currentTokenLine.rangeIncludingLineBreak.endColumn, shiftBackOneCharacter(document, nextTokenLine.range.getStartPosition(), currentTokenLine.rangeIncludingLineBreak.getEndPosition()).lineNumber, shiftBackOneCharacter(document, nextTokenLine.range.getStartPosition(), currentTokenLine.rangeIncludingLineBreak.getEndPosition()).lineNumber),
|
|
168
|
+
// Each common ancestors block is range between one common ancestors token
|
|
169
|
+
// (shifted for linebreak) and start of next common ancestors token or splitter
|
|
170
|
+
content: new monaco.Range(currentTokenLine.rangeIncludingLineBreak.endLineNumber, currentTokenLine.rangeIncludingLineBreak.endColumn, nextTokenLine.range.startLineNumber, nextTokenLine.range.startColumn),
|
|
171
|
+
name: currentTokenLine.text.substring(commonAncestorsMarker.length + 1),
|
|
172
|
+
};
|
|
173
|
+
}),
|
|
174
|
+
splitter: scanned.splitter.range,
|
|
175
|
+
incoming: {
|
|
176
|
+
header: scanned.endFooter.range,
|
|
177
|
+
decoratorContent: new monaco.Range(scanned.splitter.rangeIncludingLineBreak.endLineNumber, scanned.splitter.rangeIncludingLineBreak.endColumn, shiftBackOneCharacter(document, scanned.endFooter.range.getStartPosition(), scanned.splitter.rangeIncludingLineBreak.getEndPosition()).lineNumber, shiftBackOneCharacter(document, scanned.endFooter.range.getStartPosition(), scanned.splitter.rangeIncludingLineBreak.getEndPosition()).column),
|
|
178
|
+
// Incoming content is range between splitter (shifted for linebreak) and footer start
|
|
179
|
+
content: new monaco.Range(scanned.splitter.rangeIncludingLineBreak.endLineNumber, scanned.splitter.rangeIncludingLineBreak.endColumn, scanned.endFooter.range.startLineNumber, scanned.endFooter.range.startColumn),
|
|
180
|
+
name: scanned.endFooter.text.substring(endFooterMarker.length + 1),
|
|
181
|
+
},
|
|
182
|
+
// Entire range is between current header start and incoming header end (including line break)
|
|
183
|
+
range: new monaco.Range(scanned.startHeader.range.startLineNumber, scanned.startHeader.range.startColumn, scanned.endFooter.range.endLineNumber, scanned.endFooter.range.endColumn),
|
|
184
|
+
};
|
|
185
|
+
}
|
|
186
|
+
function shiftBackOneCharacter(document, range, unlessEqual) {
|
|
187
|
+
if (range.equals(unlessEqual)) {
|
|
188
|
+
return range;
|
|
189
|
+
}
|
|
190
|
+
let line = range.lineNumber;
|
|
191
|
+
let character = range.column - 1;
|
|
192
|
+
if (character < 0) {
|
|
193
|
+
line--;
|
|
194
|
+
character = new TextLine(document, line).range.endColumn;
|
|
195
|
+
}
|
|
196
|
+
return new monaco.Position(line, character);
|
|
197
|
+
}
|
|
198
|
+
class DocumentMergeConflict {
|
|
199
|
+
constructor(descriptor) {
|
|
200
|
+
this.applied = false;
|
|
201
|
+
this.range = descriptor.range;
|
|
202
|
+
this.current = descriptor.current;
|
|
203
|
+
this.incoming = descriptor.incoming;
|
|
204
|
+
this.commonAncestors = descriptor.commonAncestors;
|
|
205
|
+
this.splitter = descriptor.splitter;
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
exports.DocumentMergeConflict = DocumentMergeConflict;
|
|
209
|
+
//# sourceMappingURL=conflict-parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conflict-parser.js","sourceRoot":"","sources":["../../../src/browser/merge-conflict/conflict-parser.ts"],"names":[],"mappings":"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"}
|