@opensumi/ide-editor 3.1.3-next-1719216888.0 → 3.1.3-next-1719220003.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/component.js.map +1 -1
- package/lib/browser/editor-collection.service.d.ts +0 -3
- package/lib/browser/editor-collection.service.d.ts.map +1 -1
- package/lib/browser/editor-collection.service.js +2 -14
- package/lib/browser/editor-collection.service.js.map +1 -1
- package/lib/browser/fs-resource/fs-editor-doc.d.ts.map +1 -1
- package/lib/browser/fs-resource/fs-editor-doc.js +0 -1
- package/lib/browser/fs-resource/fs-editor-doc.js.map +1 -1
- package/lib/browser/fs-resource/fs-resource.d.ts.map +1 -1
- package/lib/browser/fs-resource/fs-resource.js +1 -0
- package/lib/browser/fs-resource/fs-resource.js.map +1 -1
- package/lib/browser/merge-conflict/types.d.ts +17 -0
- package/lib/browser/merge-conflict/types.d.ts.map +1 -1
- package/lib/browser/merge-conflict/types.js +6 -1
- package/lib/browser/merge-conflict/types.js.map +1 -1
- package/lib/browser/merge-editor/MergeEditorFloatComponents.d.ts.map +1 -1
- package/lib/browser/merge-editor/MergeEditorFloatComponents.js +40 -7
- package/lib/browser/merge-editor/MergeEditorFloatComponents.js.map +1 -1
- package/lib/browser/tab.view.d.ts.map +1 -1
- package/lib/browser/tab.view.js +1 -1
- package/lib/browser/tab.view.js.map +1 -1
- package/lib/browser/types.d.ts +2 -2
- 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.map +1 -1
- package/lib/browser/workbench-editor.service.js +12 -9
- package/lib/browser/workbench-editor.service.js.map +1 -1
- package/lib/common/editor.d.ts +0 -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/component.ts +1 -1
- package/src/browser/editor-collection.service.ts +2 -18
- package/src/browser/fs-resource/fs-editor-doc.ts +0 -4
- package/src/browser/fs-resource/fs-resource.ts +1 -0
- package/src/browser/merge-conflict/types.ts +21 -0
- package/src/browser/merge-editor/MergeEditorFloatComponents.tsx +45 -10
- package/src/browser/preference/schema.ts +1 -1
- package/src/browser/tab.view.tsx +0 -1
- package/src/browser/types.ts +6 -3
- package/src/browser/workbench-editor.service.ts +13 -9
- package/src/common/editor.ts +0 -2
- package/lib/browser/merge-conflict/merge-conflict.model.d.ts +0 -7
- package/lib/browser/merge-conflict/merge-conflict.model.d.ts.map +0 -1
- package/lib/browser/merge-conflict/merge-conflict.model.js +0 -51
- package/lib/browser/merge-conflict/merge-conflict.model.js.map +0 -1
- package/lib/browser/merge-conflict/merge-conflict.service.d.ts +0 -14
- package/lib/browser/merge-conflict/merge-conflict.service.d.ts.map +0 -1
- package/lib/browser/merge-conflict/merge-conflict.service.js +0 -66
- package/lib/browser/merge-conflict/merge-conflict.service.js.map +0 -1
- package/src/browser/merge-conflict/merge-conflict.model.ts +0 -63
- package/src/browser/merge-conflict/merge-conflict.service.ts +0 -65
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import { Autowired, Injectable } from '@opensumi/di';
|
|
2
|
-
import * as monaco from '@opensumi/ide-monaco';
|
|
3
|
-
import { NavigationDirection, findRangeForNavigation } from '@opensumi/ide-monaco/lib/browser/contrib/merge-editor';
|
|
4
|
-
import { IMessageService } from '@opensumi/ide-overlay';
|
|
5
|
-
|
|
6
|
-
import { IEditor, WorkbenchEditorService } from '../types';
|
|
7
|
-
|
|
8
|
-
import { DocumentMergeConflict, MergeConflictParser } from './conflict-parser';
|
|
9
|
-
|
|
10
|
-
@Injectable()
|
|
11
|
-
export class MergeConflictService {
|
|
12
|
-
@Autowired(MergeConflictParser)
|
|
13
|
-
parser: MergeConflictParser;
|
|
14
|
-
|
|
15
|
-
@Autowired(WorkbenchEditorService)
|
|
16
|
-
private readonly editorService: WorkbenchEditorService;
|
|
17
|
-
|
|
18
|
-
@Autowired(IMessageService)
|
|
19
|
-
private readonly messageService: IMessageService;
|
|
20
|
-
|
|
21
|
-
conflicts = [] as DocumentMergeConflict[];
|
|
22
|
-
|
|
23
|
-
scanDocument(model: monaco.editor.ITextModel) {
|
|
24
|
-
this.conflicts = this.parser.scanDocument(model);
|
|
25
|
-
return this.conflicts.length;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
clear(): void {
|
|
29
|
-
this.conflicts = [];
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
private async navigate(editor: IEditor, direction: NavigationDirection): Promise<void> {
|
|
33
|
-
this.conflicts = this.parser.scanDocument(editor.monacoEditor.getModel()!);
|
|
34
|
-
const ranges = this.conflicts.map((conflict) => conflict.range);
|
|
35
|
-
|
|
36
|
-
const navigationResult = findRangeForNavigation(direction, ranges, editor.monacoEditor.getPosition()!);
|
|
37
|
-
|
|
38
|
-
if (!navigationResult) {
|
|
39
|
-
this.messageService.warning('No merge conflicts found in this file');
|
|
40
|
-
return;
|
|
41
|
-
} else if (!navigationResult.canNavigate) {
|
|
42
|
-
this.messageService.warning('No other merge conflicts within this file');
|
|
43
|
-
return;
|
|
44
|
-
} else if (!navigationResult.range) {
|
|
45
|
-
// impossible path
|
|
46
|
-
return;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
editor.monacoEditor.setPosition(navigationResult.range.getStartPosition());
|
|
50
|
-
|
|
51
|
-
// when navigating, we want to show the codelens on the first line of the conflict
|
|
52
|
-
const range = navigationResult.range.delta(-1);
|
|
53
|
-
|
|
54
|
-
editor.monacoEditor.revealRangeNearTopIfOutsideViewport(range);
|
|
55
|
-
editor.monacoEditor.focus();
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
navigateNext(): Promise<void> {
|
|
59
|
-
return this.navigate(this.editorService.currentEditor!, NavigationDirection.Forwards);
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
navigatePrevious(): Promise<void> {
|
|
63
|
-
return this.navigate(this.editorService.currentEditor!, NavigationDirection.Backwards);
|
|
64
|
-
}
|
|
65
|
-
}
|