@opensumi/ide-ai-native 3.2.4 → 3.2.5-next-1724062137.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/ai-core.contribution.d.ts +1 -0
- package/lib/browser/ai-core.contribution.d.ts.map +1 -1
- package/lib/browser/ai-core.contribution.js +14 -25
- package/lib/browser/ai-core.contribution.js.map +1 -1
- package/lib/browser/ai-editor.contribution.d.ts +1 -0
- package/lib/browser/ai-editor.contribution.d.ts.map +1 -1
- package/lib/browser/ai-editor.contribution.js +8 -0
- package/lib/browser/ai-editor.contribution.js.map +1 -1
- package/lib/browser/chat/chat-agent.service.d.ts +1 -0
- package/lib/browser/chat/chat-agent.service.d.ts.map +1 -1
- package/lib/browser/chat/chat-agent.service.js +1 -3
- package/lib/browser/chat/chat-agent.service.js.map +1 -1
- package/lib/browser/chat/chat.view.d.ts.map +1 -1
- package/lib/browser/chat/chat.view.js +22 -4
- package/lib/browser/chat/chat.view.js.map +1 -1
- package/lib/browser/components/ChatEditor.d.ts +2 -1
- package/lib/browser/components/ChatEditor.d.ts.map +1 -1
- package/lib/browser/components/ChatEditor.js +8 -8
- package/lib/browser/components/ChatEditor.js.map +1 -1
- package/lib/browser/components/ChatMarkdown.d.ts +1 -0
- package/lib/browser/components/ChatMarkdown.d.ts.map +1 -1
- package/lib/browser/components/ChatMarkdown.js +2 -2
- package/lib/browser/components/ChatMarkdown.js.map +1 -1
- package/lib/browser/components/ChatThinking.d.ts.map +1 -1
- package/lib/browser/components/ChatThinking.js +2 -2
- package/lib/browser/components/ChatThinking.js.map +1 -1
- package/lib/browser/contextkey/ai-native.contextkey.service.d.ts +1 -0
- package/lib/browser/contextkey/ai-native.contextkey.service.d.ts.map +1 -1
- package/lib/browser/contextkey/ai-native.contextkey.service.js +1 -0
- package/lib/browser/contextkey/ai-native.contextkey.service.js.map +1 -1
- package/lib/browser/contrib/inline-completions/completeProvider.d.ts +4 -31
- package/lib/browser/contrib/inline-completions/completeProvider.d.ts.map +1 -1
- package/lib/browser/contrib/inline-completions/completeProvider.js +3 -224
- package/lib/browser/contrib/inline-completions/completeProvider.js.map +1 -1
- package/lib/browser/contrib/inline-completions/inline-completions.handler.d.ts +1 -3
- package/lib/browser/contrib/inline-completions/inline-completions.handler.d.ts.map +1 -1
- package/lib/browser/contrib/inline-completions/inline-completions.handler.js +8 -20
- package/lib/browser/contrib/inline-completions/inline-completions.handler.js.map +1 -1
- package/lib/browser/contrib/inline-completions/model/competionModel.d.ts +2 -2
- package/lib/browser/contrib/inline-completions/model/competionModel.d.ts.map +1 -1
- package/lib/browser/contrib/inline-completions/model/inlineCompletionRequestTask.d.ts +28 -0
- package/lib/browser/contrib/inline-completions/model/inlineCompletionRequestTask.d.ts.map +1 -0
- package/lib/browser/contrib/inline-completions/model/inlineCompletionRequestTask.js +210 -0
- package/lib/browser/contrib/inline-completions/model/inlineCompletionRequestTask.js.map +1 -0
- package/lib/browser/contrib/inline-completions/promptCache.d.ts +3 -2
- package/lib/browser/contrib/inline-completions/promptCache.d.ts.map +1 -1
- package/lib/browser/contrib/inline-completions/promptCache.js.map +1 -1
- package/lib/browser/contrib/inline-completions/service/ai-completions.service.d.ts +7 -6
- package/lib/browser/contrib/inline-completions/service/ai-completions.service.d.ts.map +1 -1
- package/lib/browser/contrib/inline-completions/service/ai-completions.service.js +48 -25
- package/lib/browser/contrib/inline-completions/service/ai-completions.service.js.map +1 -1
- package/lib/browser/contrib/intelligent-completions/diff-computer.d.ts +18 -0
- package/lib/browser/contrib/intelligent-completions/diff-computer.d.ts.map +1 -0
- package/lib/browser/contrib/intelligent-completions/diff-computer.js +144 -0
- package/lib/browser/contrib/intelligent-completions/diff-computer.js.map +1 -0
- package/lib/browser/contrib/intelligent-completions/intelligent-completions.contribution.d.ts +8 -0
- package/lib/browser/contrib/intelligent-completions/intelligent-completions.contribution.d.ts.map +1 -0
- package/lib/browser/contrib/intelligent-completions/intelligent-completions.contribution.js +47 -0
- package/lib/browser/contrib/intelligent-completions/intelligent-completions.contribution.js.map +1 -0
- package/lib/browser/contrib/intelligent-completions/intelligent-completions.d.ts +15 -0
- package/lib/browser/contrib/intelligent-completions/intelligent-completions.d.ts.map +1 -0
- package/lib/browser/contrib/intelligent-completions/intelligent-completions.feature.registry.d.ts +8 -0
- package/lib/browser/contrib/intelligent-completions/intelligent-completions.feature.registry.d.ts.map +1 -0
- package/lib/browser/contrib/intelligent-completions/intelligent-completions.feature.registry.js +19 -0
- package/lib/browser/contrib/intelligent-completions/intelligent-completions.feature.registry.js.map +1 -0
- package/lib/browser/contrib/intelligent-completions/intelligent-completions.handler.d.ts +20 -0
- package/lib/browser/contrib/intelligent-completions/intelligent-completions.handler.d.ts.map +1 -0
- package/lib/browser/contrib/intelligent-completions/intelligent-completions.handler.js +94 -0
- package/lib/browser/contrib/intelligent-completions/intelligent-completions.handler.js.map +1 -0
- package/lib/browser/contrib/intelligent-completions/intelligent-completions.js +3 -0
- package/lib/browser/contrib/intelligent-completions/intelligent-completions.js.map +1 -0
- package/lib/browser/contrib/intelligent-completions/multi-line.decoration.d.ts +33 -0
- package/lib/browser/contrib/intelligent-completions/multi-line.decoration.d.ts.map +1 -0
- package/lib/browser/contrib/intelligent-completions/multi-line.decoration.js +258 -0
- package/lib/browser/contrib/intelligent-completions/multi-line.decoration.js.map +1 -0
- package/lib/browser/contrib/merge-conflict/merge-conflict.feature.registry.d.ts +0 -1
- package/lib/browser/contrib/merge-conflict/merge-conflict.feature.registry.d.ts.map +1 -1
- package/lib/browser/contrib/merge-conflict/merge-conflict.feature.registry.js +0 -3
- package/lib/browser/contrib/merge-conflict/merge-conflict.feature.registry.js.map +1 -1
- package/lib/browser/contrib/rename/rename.handler.d.ts.map +1 -1
- package/lib/browser/contrib/rename/rename.handler.js +1 -0
- package/lib/browser/contrib/rename/rename.handler.js.map +1 -1
- package/lib/browser/index.d.ts.map +1 -1
- package/lib/browser/index.js +7 -0
- package/lib/browser/index.js.map +1 -1
- package/lib/browser/layout/ai-layout.d.ts.map +1 -1
- package/lib/browser/layout/ai-layout.js +4 -4
- package/lib/browser/layout/ai-layout.js.map +1 -1
- package/lib/browser/model/enhanceDecorationsCollection.d.ts +38 -4
- package/lib/browser/model/enhanceDecorationsCollection.d.ts.map +1 -1
- package/lib/browser/model/enhanceDecorationsCollection.js +44 -23
- package/lib/browser/model/enhanceDecorationsCollection.js.map +1 -1
- package/lib/browser/types.d.ts +20 -13
- package/lib/browser/types.d.ts.map +1 -1
- package/lib/browser/types.js +0 -4
- package/lib/browser/types.js.map +1 -1
- package/lib/browser/widget/inline-chat/inline-chat.handler.d.ts.map +1 -1
- package/lib/browser/widget/inline-chat/inline-chat.handler.js +31 -12
- package/lib/browser/widget/inline-chat/inline-chat.handler.js.map +1 -1
- package/lib/browser/widget/inline-chat/inline-content-widget.d.ts +5 -2
- package/lib/browser/widget/inline-chat/inline-content-widget.d.ts.map +1 -1
- package/lib/browser/widget/inline-chat/inline-content-widget.js +45 -53
- package/lib/browser/widget/inline-chat/inline-content-widget.js.map +1 -1
- package/lib/browser/widget/inline-diff/inline-diff-previewer.d.ts +20 -14
- package/lib/browser/widget/inline-diff/inline-diff-previewer.d.ts.map +1 -1
- package/lib/browser/widget/inline-diff/inline-diff-previewer.js +114 -46
- package/lib/browser/widget/inline-diff/inline-diff-previewer.js.map +1 -1
- package/lib/browser/widget/inline-diff/inline-diff-widget.d.ts +5 -2
- package/lib/browser/widget/inline-diff/inline-diff-widget.d.ts.map +1 -1
- package/lib/browser/widget/inline-diff/inline-diff-widget.js +3 -0
- package/lib/browser/widget/inline-diff/inline-diff-widget.js.map +1 -1
- package/lib/browser/widget/inline-diff/inline-diff.handler.d.ts +13 -13
- package/lib/browser/widget/inline-diff/inline-diff.handler.d.ts.map +1 -1
- package/lib/browser/widget/inline-diff/inline-diff.handler.js +71 -76
- package/lib/browser/widget/inline-diff/inline-diff.handler.js.map +1 -1
- package/lib/browser/widget/inline-input/inline-input-widget.d.ts +1 -0
- package/lib/browser/widget/inline-input/inline-input-widget.d.ts.map +1 -1
- package/lib/browser/widget/inline-input/inline-input-widget.js +1 -0
- package/lib/browser/widget/inline-input/inline-input-widget.js.map +1 -1
- package/lib/browser/widget/inline-input/inline-input.handler.js +2 -2
- package/lib/browser/widget/inline-input/inline-input.handler.js.map +1 -1
- package/lib/browser/widget/inline-stream-diff/inline-stream-diff.handler.d.ts +28 -15
- package/lib/browser/widget/inline-stream-diff/inline-stream-diff.handler.d.ts.map +1 -1
- package/lib/browser/widget/inline-stream-diff/inline-stream-diff.handler.js +52 -31
- package/lib/browser/widget/inline-stream-diff/inline-stream-diff.handler.js.map +1 -1
- package/lib/browser/widget/inline-stream-diff/inline-stream-diff.module.less +9 -6
- package/lib/browser/widget/inline-stream-diff/live-preview-stack.d.ts +21 -0
- package/lib/browser/widget/inline-stream-diff/live-preview-stack.d.ts.map +1 -0
- package/lib/browser/widget/inline-stream-diff/live-preview-stack.js +41 -0
- package/lib/browser/widget/inline-stream-diff/live-preview-stack.js.map +1 -0
- package/lib/browser/widget/inline-stream-diff/live-preview.component.d.ts +105 -0
- package/lib/browser/widget/inline-stream-diff/live-preview.component.d.ts.map +1 -0
- package/lib/browser/widget/inline-stream-diff/live-preview.component.js +237 -0
- package/lib/browser/widget/inline-stream-diff/live-preview.component.js.map +1 -0
- package/lib/browser/widget/inline-stream-diff/live-preview.decoration.d.ts +27 -103
- package/lib/browser/widget/inline-stream-diff/live-preview.decoration.d.ts.map +1 -1
- package/lib/browser/widget/inline-stream-diff/live-preview.decoration.js +185 -369
- package/lib/browser/widget/inline-stream-diff/live-preview.decoration.js.map +1 -1
- package/lib/common/index.d.ts +1 -0
- package/lib/common/index.d.ts.map +1 -1
- package/lib/common/index.js.map +1 -1
- package/package.json +19 -19
- package/src/browser/ai-core.contribution.ts +14 -28
- package/src/browser/ai-editor.contribution.ts +9 -0
- package/src/browser/chat/chat-agent.service.ts +1 -3
- package/src/browser/chat/chat.view.tsx +49 -4
- package/src/browser/components/ChatEditor.tsx +21 -7
- package/src/browser/components/ChatMarkdown.tsx +8 -2
- package/src/browser/components/ChatThinking.tsx +3 -1
- package/src/browser/contextkey/ai-native.contextkey.service.ts +3 -0
- package/src/browser/contrib/inline-completions/completeProvider.ts +7 -289
- package/src/browser/contrib/inline-completions/inline-completions.handler.ts +15 -22
- package/src/browser/contrib/inline-completions/model/competionModel.ts +3 -2
- package/src/browser/contrib/inline-completions/model/inlineCompletionRequestTask.ts +272 -0
- package/src/browser/contrib/inline-completions/promptCache.ts +3 -2
- package/src/browser/contrib/inline-completions/service/ai-completions.service.ts +55 -38
- package/src/browser/contrib/intelligent-completions/diff-computer.ts +185 -0
- package/src/browser/contrib/intelligent-completions/intelligent-completions.contribution.ts +54 -0
- package/src/browser/contrib/intelligent-completions/intelligent-completions.feature.registry.ts +17 -0
- package/src/browser/contrib/intelligent-completions/intelligent-completions.handler.ts +130 -0
- package/src/browser/contrib/intelligent-completions/intelligent-completions.ts +15 -0
- package/src/browser/contrib/intelligent-completions/multi-line.decoration.ts +325 -0
- package/src/browser/contrib/merge-conflict/merge-conflict.feature.registry.ts +0 -4
- package/src/browser/contrib/rename/rename.handler.ts +1 -0
- package/src/browser/index.ts +8 -1
- package/src/browser/layout/ai-layout.tsx +7 -1
- package/src/browser/model/enhanceDecorationsCollection.ts +71 -34
- package/src/browser/types.ts +27 -14
- package/src/browser/widget/inline-chat/inline-chat.handler.ts +34 -19
- package/src/browser/widget/inline-chat/inline-content-widget.tsx +58 -61
- package/src/browser/widget/inline-diff/inline-diff-previewer.ts +118 -61
- package/src/browser/widget/inline-diff/inline-diff-widget.tsx +8 -2
- package/src/browser/widget/inline-diff/inline-diff.handler.ts +83 -92
- package/src/browser/widget/inline-input/inline-input-widget.tsx +1 -0
- package/src/browser/widget/inline-input/inline-input.handler.ts +2 -2
- package/src/browser/widget/inline-stream-diff/inline-stream-diff.handler.tsx +98 -44
- package/src/browser/widget/inline-stream-diff/inline-stream-diff.module.less +9 -6
- package/src/browser/widget/inline-stream-diff/live-preview-stack.ts +52 -0
- package/src/browser/widget/inline-stream-diff/live-preview.component.tsx +388 -0
- package/src/browser/widget/inline-stream-diff/live-preview.decoration.tsx +243 -543
- package/src/common/index.ts +2 -0
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var AcceptPartialEditWidget_1;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.RemovedZoneWidget = exports.AcceptPartialEditWidget = exports.EPartialEdit = exports.PendingRangeDecoration = exports.AddedRangeDecoration = exports.ActiveLineDecoration = void 0;
|
|
5
|
+
const tslib_1 = require("tslib");
|
|
6
|
+
const classnames_1 = tslib_1.__importDefault(require("classnames"));
|
|
7
|
+
const react_1 = tslib_1.__importStar(require("react"));
|
|
8
|
+
const client_1 = tslib_1.__importDefault(require("react-dom/client"));
|
|
9
|
+
const di_1 = require("@opensumi/di");
|
|
10
|
+
const ide_core_browser_1 = require("@opensumi/ide-core-browser");
|
|
11
|
+
const command_1 = require("@opensumi/ide-core-browser/lib/ai-native/command");
|
|
12
|
+
const ide_core_common_1 = require("@opensumi/ide-core-common");
|
|
13
|
+
const BaseInlineContentWidget_1 = require("@opensumi/ide-monaco/lib/browser/ai-native/BaseInlineContentWidget");
|
|
14
|
+
const editor_1 = require("@opensumi/ide-monaco/lib/browser/monaco-exports/editor");
|
|
15
|
+
const editorOptions_1 = require("@opensumi/monaco-editor-core/esm/vs/editor/common/config/editorOptions");
|
|
16
|
+
const zoneWidget_1 = require("@opensumi/monaco-editor-core/esm/vs/editor/contrib/zoneWidget/browser/zoneWidget");
|
|
17
|
+
const index_1 = require("../ghost-text-widget/index");
|
|
18
|
+
const inline_stream_diff_module_less_1 = tslib_1.__importDefault(require("./inline-stream-diff.module.less"));
|
|
19
|
+
exports.ActiveLineDecoration = 'activeLine-decoration';
|
|
20
|
+
exports.AddedRangeDecoration = 'added-range-decoration';
|
|
21
|
+
exports.PendingRangeDecoration = 'pending-range-decoration';
|
|
22
|
+
var EPartialEdit;
|
|
23
|
+
(function (EPartialEdit) {
|
|
24
|
+
EPartialEdit["accept"] = "accept";
|
|
25
|
+
EPartialEdit["discard"] = "discard";
|
|
26
|
+
})(EPartialEdit = exports.EPartialEdit || (exports.EPartialEdit = {}));
|
|
27
|
+
const PartialEditComponent = (props) => {
|
|
28
|
+
const { keyStrings, onAccept, onDiscard, editor } = props;
|
|
29
|
+
const [scrollLeft, setScrollLeft] = react_1.default.useState(0);
|
|
30
|
+
const handleAccept = (0, react_1.useCallback)(() => {
|
|
31
|
+
onAccept === null || onAccept === void 0 ? void 0 : onAccept();
|
|
32
|
+
}, [onAccept]);
|
|
33
|
+
const handleDiscard = (0, react_1.useCallback)(() => {
|
|
34
|
+
onDiscard === null || onDiscard === void 0 ? void 0 : onDiscard();
|
|
35
|
+
}, [onDiscard]);
|
|
36
|
+
(0, ide_core_browser_1.useDisposable)(() => editor.onDidScrollChange((event) => {
|
|
37
|
+
const { scrollLeftChanged, scrollLeft } = event;
|
|
38
|
+
if (scrollLeftChanged) {
|
|
39
|
+
setScrollLeft(scrollLeft);
|
|
40
|
+
}
|
|
41
|
+
}), [editor]);
|
|
42
|
+
return (react_1.default.createElement("div", { className: (0, classnames_1.default)('kt-inline-diff-accept-partial-widget-container', inline_stream_diff_module_less_1.default.inline_diff_accept_partial_widget_container), style: { marginLeft: scrollLeft } },
|
|
43
|
+
react_1.default.createElement("div", { className: inline_stream_diff_module_less_1.default.content },
|
|
44
|
+
react_1.default.createElement("span", { className: (0, classnames_1.default)(inline_stream_diff_module_less_1.default.accept_btn, inline_stream_diff_module_less_1.default.btn), onClick: handleAccept }, keyStrings.acceptSequence),
|
|
45
|
+
react_1.default.createElement("span", { className: (0, classnames_1.default)(inline_stream_diff_module_less_1.default.discard_btn, inline_stream_diff_module_less_1.default.btn), onClick: handleDiscard }, keyStrings.discardSequence))));
|
|
46
|
+
};
|
|
47
|
+
let AcceptPartialEditWidget = AcceptPartialEditWidget_1 = class AcceptPartialEditWidget extends BaseInlineContentWidget_1.ReactInlineContentWidget {
|
|
48
|
+
constructor() {
|
|
49
|
+
super(...arguments);
|
|
50
|
+
this._onAccept = this.registerDispose(new ide_core_common_1.Emitter());
|
|
51
|
+
this.onAccept = this._onAccept.event;
|
|
52
|
+
this._onDiscard = this.registerDispose(new ide_core_common_1.Emitter());
|
|
53
|
+
this.onDiscard = this._onDiscard.event;
|
|
54
|
+
this.positionPreference = [editor_1.ContentWidgetPositionPreference.EXACT];
|
|
55
|
+
this.addedLinesCount = 0;
|
|
56
|
+
this.deletedLinesCount = 0;
|
|
57
|
+
this.status = 'pending';
|
|
58
|
+
}
|
|
59
|
+
get group() {
|
|
60
|
+
return this._group;
|
|
61
|
+
}
|
|
62
|
+
getSequenceKeyStrings() {
|
|
63
|
+
let keybindings = this.keybindingRegistry.getKeybindingsForCommand(command_1.AI_INLINE_DIFF_PARTIAL_EDIT.id);
|
|
64
|
+
keybindings = keybindings.sort((a, b) => b.args - a.args);
|
|
65
|
+
if (!keybindings || (keybindings.length !== 2 && keybindings.some((k) => (0, ide_core_common_1.isUndefined)(k.resolved)))) {
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
return {
|
|
69
|
+
acceptSequence: this.keybindingRegistry.acceleratorForSequence(keybindings[0].resolved, '')[0],
|
|
70
|
+
discardSequence: this.keybindingRegistry.acceleratorForSequence(keybindings[1].resolved, '')[0],
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
renderView() {
|
|
74
|
+
const keyStrings = this.getSequenceKeyStrings();
|
|
75
|
+
if (!keyStrings) {
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
return (react_1.default.createElement(PartialEditComponent, { keyStrings: keyStrings, onAccept: () => this._onAccept.fire(), onDiscard: () => this._onDiscard.fire(), editor: this.editor }));
|
|
79
|
+
}
|
|
80
|
+
id() {
|
|
81
|
+
if (!this._id) {
|
|
82
|
+
this._id = `${AcceptPartialEditWidget_1.ID}_${(0, ide_core_common_1.uuid)(4)}`;
|
|
83
|
+
}
|
|
84
|
+
return this._id;
|
|
85
|
+
}
|
|
86
|
+
getClassName() {
|
|
87
|
+
return inline_stream_diff_module_less_1.default.accept_partial_edit_widget_id;
|
|
88
|
+
}
|
|
89
|
+
recordDecorationId(id) {
|
|
90
|
+
this._decorationId = id;
|
|
91
|
+
}
|
|
92
|
+
getDecorationId() {
|
|
93
|
+
return this._decorationId;
|
|
94
|
+
}
|
|
95
|
+
resume() {
|
|
96
|
+
this.status = 'pending';
|
|
97
|
+
this.addedLinesCount = 0;
|
|
98
|
+
this.deletedLinesCount = 0;
|
|
99
|
+
super.resume();
|
|
100
|
+
}
|
|
101
|
+
setGroup(group) {
|
|
102
|
+
this._group = group;
|
|
103
|
+
}
|
|
104
|
+
accept(addedLinesCount, deletedLinesCount) {
|
|
105
|
+
this.status = 'accept';
|
|
106
|
+
this.addedLinesCount = addedLinesCount;
|
|
107
|
+
this.deletedLinesCount = deletedLinesCount;
|
|
108
|
+
super.hide();
|
|
109
|
+
}
|
|
110
|
+
get isAccepted() {
|
|
111
|
+
return this.status === 'accept';
|
|
112
|
+
}
|
|
113
|
+
discard(addedLinesCount, deletedLinesCount) {
|
|
114
|
+
this.status = 'discard';
|
|
115
|
+
this.addedLinesCount = addedLinesCount;
|
|
116
|
+
this.deletedLinesCount = deletedLinesCount;
|
|
117
|
+
super.hide();
|
|
118
|
+
}
|
|
119
|
+
get isRejected() {
|
|
120
|
+
return this.status === 'discard';
|
|
121
|
+
}
|
|
122
|
+
};
|
|
123
|
+
AcceptPartialEditWidget.ID = 'AcceptPartialEditWidgetID';
|
|
124
|
+
tslib_1.__decorate([
|
|
125
|
+
(0, di_1.Autowired)(ide_core_browser_1.KeybindingRegistry),
|
|
126
|
+
tslib_1.__metadata("design:type", Object)
|
|
127
|
+
], AcceptPartialEditWidget.prototype, "keybindingRegistry", void 0);
|
|
128
|
+
AcceptPartialEditWidget = AcceptPartialEditWidget_1 = tslib_1.__decorate([
|
|
129
|
+
(0, di_1.Injectable)({ multiple: true })
|
|
130
|
+
], AcceptPartialEditWidget);
|
|
131
|
+
exports.AcceptPartialEditWidget = AcceptPartialEditWidget;
|
|
132
|
+
const RemovedWidgetComponent = ({ dom, editor }) => {
|
|
133
|
+
const ref = react_1.default.useRef(null);
|
|
134
|
+
const [scrollLeft, setScrollLeft] = react_1.default.useState(0);
|
|
135
|
+
const [marginWidth, setMarginWidth] = react_1.default.useState(0);
|
|
136
|
+
(0, react_1.useEffect)(() => {
|
|
137
|
+
if (dom && ref && ref.current) {
|
|
138
|
+
ref.current.appendChild(dom);
|
|
139
|
+
}
|
|
140
|
+
}, [dom, ref]);
|
|
141
|
+
(0, ide_core_browser_1.useDisposable)(() => editor.onDidScrollChange((event) => {
|
|
142
|
+
const { scrollLeftChanged, scrollLeft } = event;
|
|
143
|
+
if (scrollLeftChanged) {
|
|
144
|
+
setScrollLeft(scrollLeft);
|
|
145
|
+
}
|
|
146
|
+
}), [editor]);
|
|
147
|
+
(0, ide_core_browser_1.useDisposable)(() => {
|
|
148
|
+
setMarginWidth(editor.getOption(editorOptions_1.EditorOption.layoutInfo).contentLeft);
|
|
149
|
+
return editor.onDidChangeConfiguration((event) => {
|
|
150
|
+
if (event.hasChanged(editorOptions_1.EditorOption.layoutInfo)) {
|
|
151
|
+
setMarginWidth(editor.getOption(editorOptions_1.EditorOption.layoutInfo).contentLeft);
|
|
152
|
+
}
|
|
153
|
+
});
|
|
154
|
+
}, [editor]);
|
|
155
|
+
return (react_1.default.createElement("div", { className: inline_stream_diff_module_less_1.default.inline_diff_remove_zone_fixed_box, style: { marginLeft: marginWidth + 'px' } },
|
|
156
|
+
react_1.default.createElement("div", { className: inline_stream_diff_module_less_1.default.inline_diff_remove_zone, ref: ref, style: { marginLeft: -scrollLeft + 'px' } })));
|
|
157
|
+
};
|
|
158
|
+
class RemovedZoneWidget extends zoneWidget_1.ZoneWidget {
|
|
159
|
+
get isHidden() {
|
|
160
|
+
return this._hidden;
|
|
161
|
+
}
|
|
162
|
+
get group() {
|
|
163
|
+
return this._group;
|
|
164
|
+
}
|
|
165
|
+
constructor(editor, textLines, options) {
|
|
166
|
+
super(editor, options);
|
|
167
|
+
this.textLines = textLines;
|
|
168
|
+
this._hidden = false;
|
|
169
|
+
if ((0, ide_core_common_1.isDefined)(options.isHidden)) {
|
|
170
|
+
this._hidden = options.isHidden;
|
|
171
|
+
}
|
|
172
|
+
if ((0, ide_core_common_1.isDefined)(options.recordPosition)) {
|
|
173
|
+
this._recordPosition = options.recordPosition;
|
|
174
|
+
}
|
|
175
|
+
if ((0, ide_core_common_1.isDefined)(options.undoRedoGroup)) {
|
|
176
|
+
this._group = options.undoRedoGroup;
|
|
177
|
+
}
|
|
178
|
+
// 监听 position 的位置变化
|
|
179
|
+
const positionMarkerId = this['_positionMarkerId'];
|
|
180
|
+
this._disposables.add(positionMarkerId.onDidChange((event) => {
|
|
181
|
+
const range = positionMarkerId.getRange(0);
|
|
182
|
+
if (range) {
|
|
183
|
+
this._recordPosition = range.getStartPosition();
|
|
184
|
+
}
|
|
185
|
+
}));
|
|
186
|
+
}
|
|
187
|
+
setGroup(group) {
|
|
188
|
+
this._group = group;
|
|
189
|
+
}
|
|
190
|
+
_fillContainer(container) {
|
|
191
|
+
container.classList.add(inline_stream_diff_module_less_1.default.inline_diff_remove_zone_widget_container);
|
|
192
|
+
this.root = client_1.default.createRoot(container);
|
|
193
|
+
}
|
|
194
|
+
getRemovedTextLines() {
|
|
195
|
+
return this.textLines.map((v) => v.text);
|
|
196
|
+
}
|
|
197
|
+
get height() {
|
|
198
|
+
return this.textLines.length;
|
|
199
|
+
}
|
|
200
|
+
getLastPosition() {
|
|
201
|
+
return this.position || this._recordPosition;
|
|
202
|
+
}
|
|
203
|
+
hide() {
|
|
204
|
+
this._hidden = true;
|
|
205
|
+
super.hide();
|
|
206
|
+
}
|
|
207
|
+
resume() {
|
|
208
|
+
const position = this.getLastPosition();
|
|
209
|
+
if (position) {
|
|
210
|
+
this.show(position, this.height);
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
show(pos, heightInLines) {
|
|
214
|
+
this._hidden = false;
|
|
215
|
+
super.show(pos, heightInLines);
|
|
216
|
+
}
|
|
217
|
+
revealRange() { }
|
|
218
|
+
create() {
|
|
219
|
+
super.create();
|
|
220
|
+
this.mountRender();
|
|
221
|
+
}
|
|
222
|
+
mountRender() {
|
|
223
|
+
const dom = document.createElement('div');
|
|
224
|
+
(0, index_1.renderLines)(dom, this.editor.getOption(editorOptions_1.EditorOption.tabIndex), this.textLines.map(({ text: content, lineTokens }) => ({
|
|
225
|
+
content,
|
|
226
|
+
decorations: [],
|
|
227
|
+
lineTokens,
|
|
228
|
+
})), this.editor.getOptions());
|
|
229
|
+
this.root.render(react_1.default.createElement(RemovedWidgetComponent, { dom: dom, editor: this.editor }));
|
|
230
|
+
}
|
|
231
|
+
dispose() {
|
|
232
|
+
this.root.unmount();
|
|
233
|
+
super.dispose();
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
exports.RemovedZoneWidget = RemovedZoneWidget;
|
|
237
|
+
//# sourceMappingURL=live-preview.component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"live-preview.component.js","sourceRoot":"","sources":["../../../../src/browser/widget/inline-stream-diff/live-preview.component.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,116 +1,47 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
import { ICodeEditor, ITextModel, Selection } from '@opensumi/ide-monaco';
|
|
4
|
-
import { ReactInlineContentWidget } from '@opensumi/ide-monaco/lib/browser/ai-native/BaseInlineContentWidget';
|
|
5
|
-
import { URI } from '@opensumi/ide-monaco/lib/browser/monaco-api';
|
|
6
|
-
import { ContentWidgetPositionPreference } from '@opensumi/ide-monaco/lib/browser/monaco-exports/editor';
|
|
1
|
+
import { Disposable, Emitter, Event } from '@opensumi/ide-core-common';
|
|
2
|
+
import { ICodeEditor, ITextModel } from '@opensumi/ide-monaco';
|
|
7
3
|
import { LineRange } from '@opensumi/monaco-editor-core/esm/vs/editor/common/core/lineRange';
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
* 总 diff 数
|
|
19
|
-
*/
|
|
20
|
-
totalPartialEditCount: number;
|
|
21
|
-
/**
|
|
22
|
-
* 已处理的个数
|
|
23
|
-
*/
|
|
24
|
-
resolvedPartialEditCount: number;
|
|
25
|
-
/**
|
|
26
|
-
* 已添加行数
|
|
27
|
-
*/
|
|
28
|
-
totalAddedLinesCount: number;
|
|
29
|
-
/**
|
|
30
|
-
* 已删除行数
|
|
31
|
-
*/
|
|
32
|
-
totalDeletedLinesCount: number;
|
|
33
|
-
currentPartialEdit: {
|
|
34
|
-
type: EPartialEdit;
|
|
35
|
-
addedLinesCount: number;
|
|
36
|
-
deletedLinesCount: number;
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
export interface ITextLinesTokens {
|
|
40
|
-
text: string;
|
|
41
|
-
lineTokens: LineTokens;
|
|
42
|
-
}
|
|
43
|
-
type IWidgetStatus = 'accept' | 'discard' | 'pending';
|
|
44
|
-
export interface IWidgetSerializedState {
|
|
45
|
-
addedLinesCount: number;
|
|
46
|
-
deletedLinesCount: number;
|
|
47
|
-
status: IWidgetStatus;
|
|
48
|
-
lineNumber: number;
|
|
49
|
-
}
|
|
50
|
-
export interface SerializableState {
|
|
51
|
-
addedState: IDecorationSerializableState[];
|
|
52
|
-
removedTextLines: IRemovedWidgetSerializedState[];
|
|
53
|
-
widgets: IWidgetSerializedState[];
|
|
54
|
-
selection: Selection;
|
|
55
|
-
}
|
|
56
|
-
export declare class AcceptPartialEditWidget extends ReactInlineContentWidget {
|
|
57
|
-
static ID: string;
|
|
58
|
-
private readonly keybindingRegistry;
|
|
59
|
-
private _id;
|
|
60
|
-
private _decorationId;
|
|
61
|
-
private readonly _onAccept;
|
|
62
|
-
readonly onAccept: Event<void>;
|
|
63
|
-
private readonly _onDiscard;
|
|
64
|
-
readonly onDiscard: Event<void>;
|
|
65
|
-
positionPreference: ContentWidgetPositionPreference[];
|
|
66
|
-
addedLinesCount: number;
|
|
67
|
-
deletedLinesCount: number;
|
|
68
|
-
status: IWidgetStatus;
|
|
69
|
-
private getSequenceKeyStrings;
|
|
70
|
-
renderView(): React.ReactNode;
|
|
71
|
-
id(): string;
|
|
72
|
-
getClassName(): string;
|
|
73
|
-
recordDecorationId(id: string): void;
|
|
74
|
-
getDecorationId(): string;
|
|
75
|
-
resume(): void;
|
|
76
|
-
accept(addedLinesCount: number, deletedLinesCount: number): void;
|
|
77
|
-
get isAccepted(): boolean;
|
|
78
|
-
discard(addedLinesCount: number, deletedLinesCount: number): void;
|
|
79
|
-
get isRejected(): boolean;
|
|
80
|
-
serializeState(): IWidgetSerializedState;
|
|
81
|
-
restoreSerializedState(state: IWidgetSerializedState): void;
|
|
82
|
-
}
|
|
83
|
-
export interface IRemovedWidgetSerializedState {
|
|
84
|
-
textLines: ITextLinesTokens[];
|
|
85
|
-
position: IPosition;
|
|
4
|
+
import { ResourceEditStackSnapshot, UndoRedoGroup } from '@opensumi/monaco-editor-core/esm/vs/platform/undoRedo/common/undoRedo';
|
|
5
|
+
import { IDecorationSerializableState, IEnhanceModelDeltaDecoration } from '../../model/enhanceDecorationsCollection';
|
|
6
|
+
import { LivePreviewUndoRedoStackElement } from './live-preview-stack';
|
|
7
|
+
import { AcceptPartialEditWidget, IPartialEditEvent, IRemovedWidgetState, IRemovedZoneWidgetOptions, ITextLinesTokens, RemovedZoneWidget } from './live-preview.component';
|
|
8
|
+
export interface ILivePreviewDiffDecorationSnapshotData {
|
|
9
|
+
addedDecList: IEnhanceModelDeltaDecoration[];
|
|
10
|
+
partialEditWidgetList: AcceptPartialEditWidget[];
|
|
11
|
+
removedWidgetList: RemovedZoneWidget[];
|
|
12
|
+
editStackSnapshot: ResourceEditStackSnapshot;
|
|
13
|
+
zone: LineRange;
|
|
86
14
|
}
|
|
87
15
|
export declare class LivePreviewDiffDecorationModel extends Disposable {
|
|
88
16
|
private readonly monacoEditor;
|
|
89
|
-
private selection;
|
|
90
17
|
private readonly injector;
|
|
91
18
|
private readonly inlineStreamDiffService;
|
|
92
19
|
private readonly _onPartialEditEvent;
|
|
93
20
|
readonly onPartialEditEvent: Event<IPartialEditEvent>;
|
|
94
21
|
private activeLineDec;
|
|
95
22
|
private pendingRangeDec;
|
|
96
|
-
private addedRangeDec;
|
|
97
|
-
private partialEditWidgetList;
|
|
98
|
-
private removedZoneWidgets;
|
|
99
|
-
private undoRedoService;
|
|
100
|
-
private zone;
|
|
101
23
|
private aiNativeContextKey;
|
|
24
|
+
private undoRedoService;
|
|
102
25
|
protected readonly _onPartialEditWidgetListChange: Emitter<AcceptPartialEditWidget[]>;
|
|
103
26
|
readonly onPartialEditWidgetListChange: Event<AcceptPartialEditWidget[]>;
|
|
104
27
|
protected model: ITextModel;
|
|
105
|
-
|
|
28
|
+
private addedRangeDec;
|
|
29
|
+
private partialEditWidgetList;
|
|
30
|
+
private removedZoneWidgets;
|
|
31
|
+
private zone;
|
|
32
|
+
constructor(monacoEditor: ICodeEditor);
|
|
106
33
|
clear(): void;
|
|
107
|
-
|
|
108
|
-
|
|
34
|
+
initialize(zone: LineRange): void;
|
|
35
|
+
restoreSnapshot(snapshot: ILivePreviewDiffDecorationSnapshotData): void;
|
|
36
|
+
createSnapshot(): ILivePreviewDiffDecorationSnapshotData;
|
|
37
|
+
showRemovedWidgetByLineNumber(lineNumber: number, texts: ITextLinesTokens[], options: IRemovedZoneWidgetOptions): void;
|
|
109
38
|
updateZone(newZone: LineRange): void;
|
|
110
39
|
getZone(): LineRange;
|
|
111
40
|
touchActiveLine(lineNumber: number): void;
|
|
112
41
|
private doDiscardPartialWidget;
|
|
113
42
|
private handlePartialEditAction;
|
|
43
|
+
private firePartialEditWidgetList;
|
|
44
|
+
createEditStackElement(group: UndoRedoGroup): LivePreviewUndoRedoStackElement;
|
|
114
45
|
protected getTotalCodeCount(): {
|
|
115
46
|
totalAddedLinesCount: number;
|
|
116
47
|
totalDeletedLinesCount: number;
|
|
@@ -121,23 +52,16 @@ export declare class LivePreviewDiffDecorationModel extends Disposable {
|
|
|
121
52
|
private recordPartialEditWidgetWithAddedDec;
|
|
122
53
|
acceptUnProcessed(): void;
|
|
123
54
|
discardUnProcessed(): void;
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
redo: () => void;
|
|
127
|
-
group?: UndoRedoGroup;
|
|
128
|
-
}): void;
|
|
129
|
-
touchPartialEditWidgets(startLineNumbers: number[]): void;
|
|
55
|
+
private createPartialEditWidget;
|
|
56
|
+
touchPartialEditWidgets(lineNumbers: number[]): void;
|
|
130
57
|
touchAddedRange(ranges: IDecorationSerializableState[]): void;
|
|
131
|
-
touchRemovedWidget(states:
|
|
58
|
+
touchRemovedWidget(states: IRemovedWidgetState[]): void;
|
|
132
59
|
touchPendingRange(range: LineRange): void;
|
|
133
60
|
clearPendingLine(): void;
|
|
134
61
|
clearActiveLine(): void;
|
|
135
62
|
clearAddedLine(): void;
|
|
136
63
|
clearPartialEditWidgetList(): void;
|
|
137
64
|
clearRemovedWidgets(): void;
|
|
138
|
-
serializeState(): SerializableState;
|
|
139
|
-
restoreSerializedState(state: SerializableState): void;
|
|
140
65
|
revealFirstDiff(): void;
|
|
141
66
|
}
|
|
142
|
-
export {};
|
|
143
67
|
//# sourceMappingURL=live-preview.decoration.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"live-preview.decoration.d.ts","sourceRoot":"","sources":["../../../../src/browser/widget/inline-stream-diff/live-preview.decoration.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"live-preview.decoration.d.ts","sourceRoot":"","sources":["../../../../src/browser/widget/inline-stream-diff/live-preview.decoration.tsx"],"names":[],"mappings":"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"}
|