@opensumi/ide-ai-native 3.4.4 → 3.4.5-next-1729482152.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.map +1 -1
- package/lib/browser/ai-core.contribution.js +18 -17
- package/lib/browser/ai-core.contribution.js.map +1 -1
- package/lib/browser/components/utils.d.ts +2 -2
- package/lib/browser/contrib/inline-completions/inline-completions.controller.d.ts +18 -0
- package/lib/browser/contrib/inline-completions/inline-completions.controller.d.ts.map +1 -0
- package/lib/browser/contrib/{intelligent-completions/intelligent-completions.source.js → inline-completions/inline-completions.controller.js} +48 -38
- package/lib/browser/contrib/inline-completions/inline-completions.controller.js.map +1 -0
- package/lib/browser/contrib/inline-completions/model/competionModel.d.ts +1 -1
- package/lib/browser/contrib/inline-completions/model/competionModel.d.ts.map +1 -1
- package/lib/browser/contrib/inline-completions/model/inlineCompletionRequestTask.js +4 -4
- package/lib/browser/contrib/inline-completions/model/inlineCompletionRequestTask.js.map +1 -1
- package/lib/browser/contrib/inline-completions/prompt/prompt.d.ts +3 -3
- package/lib/browser/contrib/inline-completions/prompt/prompt.d.ts.map +1 -1
- package/lib/browser/contrib/inline-completions/prompt/prompt.js.map +1 -1
- package/lib/browser/contrib/inline-completions/prompt/tokenizer.d.ts +1 -1
- package/lib/browser/contrib/inline-completions/prompt/tokenizer.d.ts.map +1 -1
- package/lib/browser/contrib/inline-completions/prompt/tokenizer.js +2 -3
- package/lib/browser/contrib/inline-completions/prompt/tokenizer.js.map +1 -1
- package/lib/browser/contrib/inline-completions/promptCache.d.ts +1 -1
- package/lib/browser/contrib/inline-completions/promptCache.d.ts.map +1 -1
- package/lib/browser/contrib/inline-completions/service/ai-completions.service.d.ts +1 -1
- package/lib/browser/contrib/inline-completions/service/ai-completions.service.d.ts.map +1 -1
- package/lib/browser/contrib/intelligent-completions/{additions-deletions.decoration.d.ts → decoration/additions-deletions.decoration.d.ts} +1 -1
- package/lib/browser/contrib/intelligent-completions/decoration/additions-deletions.decoration.d.ts.map +1 -0
- package/lib/browser/contrib/intelligent-completions/{additions-deletions.decoration.js → decoration/additions-deletions.decoration.js} +3 -3
- package/lib/browser/contrib/intelligent-completions/decoration/additions-deletions.decoration.js.map +1 -0
- package/lib/browser/contrib/intelligent-completions/{multi-line.decoration.d.ts → decoration/multi-line.decoration.d.ts} +1 -1
- package/lib/browser/contrib/intelligent-completions/decoration/multi-line.decoration.d.ts.map +1 -0
- package/lib/browser/contrib/intelligent-completions/{multi-line.decoration.js → decoration/multi-line.decoration.js} +1 -1
- package/lib/browser/contrib/intelligent-completions/decoration/multi-line.decoration.js.map +1 -0
- package/lib/browser/contrib/intelligent-completions/index.d.ts +30 -0
- package/lib/browser/contrib/intelligent-completions/index.d.ts.map +1 -0
- package/lib/browser/contrib/intelligent-completions/index.js +8 -0
- package/lib/browser/contrib/intelligent-completions/index.js.map +1 -0
- package/lib/browser/contrib/intelligent-completions/intelligent-completions.controller.d.ts +3 -4
- package/lib/browser/contrib/intelligent-completions/intelligent-completions.controller.d.ts.map +1 -1
- package/lib/browser/contrib/intelligent-completions/intelligent-completions.controller.js +26 -25
- package/lib/browser/contrib/intelligent-completions/intelligent-completions.controller.js.map +1 -1
- package/lib/browser/contrib/intelligent-completions/intelligent-completions.feature.registry.d.ts +7 -3
- package/lib/browser/contrib/intelligent-completions/intelligent-completions.feature.registry.d.ts.map +1 -1
- package/lib/browser/contrib/intelligent-completions/intelligent-completions.feature.registry.js +12 -3
- package/lib/browser/contrib/intelligent-completions/intelligent-completions.feature.registry.js.map +1 -1
- package/lib/browser/contrib/intelligent-completions/lint-error.source.d.ts +29 -0
- package/lib/browser/contrib/intelligent-completions/lint-error.source.d.ts.map +1 -0
- package/lib/browser/contrib/intelligent-completions/lint-error.source.js +99 -0
- package/lib/browser/contrib/intelligent-completions/lint-error.source.js.map +1 -0
- package/lib/browser/contrib/terminal/decoration/terminal-decoration.d.ts +1 -1
- package/lib/browser/contrib/terminal/decoration/terminal-decoration.d.ts.map +1 -1
- package/lib/browser/contrib/terminal/decoration/terminal-decoration.js.map +1 -1
- package/lib/browser/contrib/terminal/ps1-terminal.service.js.map +1 -1
- package/lib/browser/index.d.ts.map +1 -1
- package/lib/browser/index.js +5 -0
- package/lib/browser/index.js.map +1 -1
- package/lib/browser/types.d.ts +13 -3
- package/lib/browser/types.d.ts.map +1 -1
- package/lib/browser/types.js.map +1 -1
- package/lib/browser/widget/inline-diff/index.d.ts +1 -0
- package/lib/browser/widget/inline-diff/index.d.ts.map +1 -1
- package/lib/browser/widget/inline-diff/index.js +1 -0
- package/lib/browser/widget/inline-diff/index.js.map +1 -1
- package/lib/browser/widget/inline-diff/inline-diff-previewer.d.ts +4 -1
- package/lib/browser/widget/inline-diff/inline-diff-previewer.d.ts.map +1 -1
- package/lib/browser/widget/inline-diff/inline-diff-previewer.js +0 -4
- package/lib/browser/widget/inline-diff/inline-diff-previewer.js.map +1 -1
- package/lib/browser/widget/inline-diff/inline-diff.controller.d.ts +0 -3
- package/lib/browser/widget/inline-diff/inline-diff.controller.d.ts.map +1 -1
- package/lib/browser/widget/inline-diff/inline-diff.controller.js +0 -7
- package/lib/browser/widget/inline-diff/inline-diff.controller.js.map +1 -1
- package/lib/browser/widget/inline-diff/inline-diff.service.d.ts +10 -0
- package/lib/browser/widget/inline-diff/inline-diff.service.d.ts.map +1 -0
- package/lib/browser/widget/inline-diff/inline-diff.service.js +23 -0
- package/lib/browser/widget/inline-diff/inline-diff.service.js.map +1 -0
- package/lib/browser/widget/inline-stream-diff/inline-stream-diff.handler.d.ts +0 -1
- 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 +5 -3
- package/lib/browser/widget/inline-stream-diff/inline-stream-diff.handler.js.map +1 -1
- package/lib/browser/widget/inline-stream-diff/live-preview.component.d.ts +9 -0
- package/lib/browser/widget/inline-stream-diff/live-preview.component.d.ts.map +1 -1
- package/lib/browser/widget/inline-stream-diff/live-preview.component.js +10 -3
- package/lib/browser/widget/inline-stream-diff/live-preview.component.js.map +1 -1
- package/lib/browser/widget/inline-stream-diff/live-preview.decoration.d.ts +8 -3
- 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 +54 -24
- package/lib/browser/widget/inline-stream-diff/live-preview.decoration.js.map +1 -1
- package/lib/browser/widget/rewrite/rewrite-widget.d.ts.map +1 -1
- package/lib/browser/widget/rewrite/rewrite-widget.js +2 -1
- package/lib/browser/widget/rewrite/rewrite-widget.js.map +1 -1
- package/package.json +24 -24
- package/src/browser/ai-core.contribution.ts +23 -17
- package/src/browser/contrib/{intelligent-completions/intelligent-completions.source.ts → inline-completions/inline-completions.controller.ts} +51 -23
- package/src/browser/contrib/inline-completions/model/competionModel.ts +1 -1
- package/src/browser/contrib/inline-completions/model/inlineCompletionRequestTask.ts +5 -5
- package/src/browser/contrib/inline-completions/prompt/prompt.ts +9 -5
- package/src/browser/contrib/inline-completions/prompt/tokenizer.ts +2 -3
- package/src/browser/contrib/inline-completions/promptCache.ts +1 -1
- package/src/browser/contrib/inline-completions/service/ai-completions.service.ts +1 -1
- package/src/browser/contrib/intelligent-completions/{additions-deletions.decoration.ts → decoration/additions-deletions.decoration.ts} +4 -5
- package/src/browser/contrib/intelligent-completions/{multi-line.decoration.ts → decoration/multi-line.decoration.ts} +2 -3
- package/src/browser/contrib/intelligent-completions/index.ts +34 -0
- package/src/browser/contrib/intelligent-completions/intelligent-completions.controller.ts +31 -44
- package/src/browser/contrib/intelligent-completions/intelligent-completions.feature.registry.ts +18 -5
- package/src/browser/contrib/intelligent-completions/lint-error.source.ts +130 -0
- package/src/browser/contrib/terminal/ai-terminal.service.ts +1 -1
- package/src/browser/contrib/terminal/decoration/terminal-decoration.tsx +1 -1
- package/src/browser/contrib/terminal/ps1-terminal.service.tsx +1 -1
- package/src/browser/index.ts +5 -0
- package/src/browser/types.ts +24 -3
- package/src/browser/widget/inline-diff/index.ts +1 -0
- package/src/browser/widget/inline-diff/inline-diff-previewer.ts +5 -3
- package/src/browser/widget/inline-diff/inline-diff.controller.ts +0 -12
- package/src/browser/widget/inline-diff/inline-diff.service.ts +17 -0
- package/src/browser/widget/inline-stream-diff/inline-stream-diff.handler.tsx +6 -4
- package/src/browser/widget/inline-stream-diff/live-preview.component.tsx +15 -0
- package/src/browser/widget/inline-stream-diff/live-preview.decoration.tsx +72 -26
- package/src/browser/widget/rewrite/rewrite-widget.tsx +2 -1
- package/lib/browser/contrib/intelligent-completions/additions-deletions.decoration.d.ts.map +0 -1
- package/lib/browser/contrib/intelligent-completions/additions-deletions.decoration.js.map +0 -1
- package/lib/browser/contrib/intelligent-completions/intelligent-completions.d.ts +0 -15
- package/lib/browser/contrib/intelligent-completions/intelligent-completions.d.ts.map +0 -1
- package/lib/browser/contrib/intelligent-completions/intelligent-completions.js +0 -3
- package/lib/browser/contrib/intelligent-completions/intelligent-completions.js.map +0 -1
- package/lib/browser/contrib/intelligent-completions/intelligent-completions.source.d.ts +0 -15
- package/lib/browser/contrib/intelligent-completions/intelligent-completions.source.d.ts.map +0 -1
- package/lib/browser/contrib/intelligent-completions/intelligent-completions.source.js.map +0 -1
- package/lib/browser/contrib/intelligent-completions/multi-line.decoration.d.ts.map +0 -1
- package/lib/browser/contrib/intelligent-completions/multi-line.decoration.js.map +0 -1
- package/src/browser/contrib/intelligent-completions/intelligent-completions.ts +0 -15
package/src/browser/index.ts
CHANGED
|
@@ -47,6 +47,7 @@ import { AINativePreferencesContribution } from './preferences';
|
|
|
47
47
|
import { AINativeCoreContribution } from './types';
|
|
48
48
|
import { InlineChatFeatureRegistry } from './widget/inline-chat/inline-chat.feature.registry';
|
|
49
49
|
import { AIInlineChatService } from './widget/inline-chat/inline-chat.service';
|
|
50
|
+
import { InlineDiffService } from './widget/inline-diff';
|
|
50
51
|
|
|
51
52
|
@Injectable()
|
|
52
53
|
export class AINativeModule extends BrowserModule {
|
|
@@ -135,6 +136,10 @@ export class AINativeModule extends BrowserModule {
|
|
|
135
136
|
token: IAIInlineCompletionsProvider,
|
|
136
137
|
useClass: AIInlineCompletionsProvider,
|
|
137
138
|
},
|
|
139
|
+
{
|
|
140
|
+
token: InlineDiffService,
|
|
141
|
+
useClass: InlineDiffService,
|
|
142
|
+
},
|
|
138
143
|
];
|
|
139
144
|
|
|
140
145
|
backServices = [
|
package/src/browser/types.ts
CHANGED
|
@@ -19,7 +19,11 @@ import { IMarker } from '@opensumi/monaco-editor-core/esm/vs/platform/markers/co
|
|
|
19
19
|
|
|
20
20
|
import { IChatWelcomeMessageContent, ISampleQuestions, ITerminalCommandSuggestionDesc } from '../common';
|
|
21
21
|
|
|
22
|
-
import {
|
|
22
|
+
import {
|
|
23
|
+
ICodeEditsContextBean,
|
|
24
|
+
ICodeEditsResult,
|
|
25
|
+
IIntelligentCompletionsResult,
|
|
26
|
+
} from './contrib/intelligent-completions';
|
|
23
27
|
import { BaseTerminalDetectionLineMatcher } from './contrib/terminal/matcher';
|
|
24
28
|
import { InlineChatController } from './widget/inline-chat/inline-chat-controller';
|
|
25
29
|
|
|
@@ -81,11 +85,11 @@ export interface IInlineChatFeatureRegistry {
|
|
|
81
85
|
*/
|
|
82
86
|
registerTerminalInlineChat(operational: AIActionItem, handler: ITerminalInlineChatHandler): IDisposable;
|
|
83
87
|
/**
|
|
84
|
-
*
|
|
88
|
+
* 注册 terminal 内联功能
|
|
85
89
|
*/
|
|
86
90
|
unregisterTerminalInlineChat(operational: AIActionItem): void;
|
|
87
91
|
/**
|
|
88
|
-
*
|
|
92
|
+
* 注册 interactive input 功能
|
|
89
93
|
*/
|
|
90
94
|
registerInteractiveInput(
|
|
91
95
|
strategyOptions: IInteractiveInputRunStrategy,
|
|
@@ -212,8 +216,24 @@ export type IIntelligentCompletionProvider = (
|
|
|
212
216
|
contextBean: IAICompletionOption,
|
|
213
217
|
token: CancellationToken,
|
|
214
218
|
) => MaybePromise<IIntelligentCompletionsResult>;
|
|
219
|
+
|
|
220
|
+
export type ICodeEditsProvider = (
|
|
221
|
+
editor: ICodeEditor,
|
|
222
|
+
position: IPosition,
|
|
223
|
+
contextBean: ICodeEditsContextBean,
|
|
224
|
+
token: CancellationToken,
|
|
225
|
+
) => MaybePromise<ICodeEditsResult | undefined>;
|
|
226
|
+
|
|
215
227
|
export interface IIntelligentCompletionsRegistry {
|
|
228
|
+
/**
|
|
229
|
+
* @deprecated use registerInlineCompletionProvider API
|
|
230
|
+
*/
|
|
216
231
|
registerIntelligentCompletionProvider(provider: IIntelligentCompletionProvider): void;
|
|
232
|
+
registerInlineCompletionsProvider(provider: IIntelligentCompletionProvider): void;
|
|
233
|
+
/**
|
|
234
|
+
* 注册 code edits 功能
|
|
235
|
+
*/
|
|
236
|
+
registerCodeEditsProvider(provider: ICodeEditsProvider): void;
|
|
217
237
|
}
|
|
218
238
|
|
|
219
239
|
export interface IProblemFixContext {
|
|
@@ -267,6 +287,7 @@ export interface AINativeCoreContribution {
|
|
|
267
287
|
registerTerminalProvider?(registry: ITerminalProviderRegistry): void;
|
|
268
288
|
/**
|
|
269
289
|
* 注册智能代码补全相关功能
|
|
290
|
+
* proposed api
|
|
270
291
|
*/
|
|
271
292
|
registerIntelligentCompletionFeature?(registry: IIntelligentCompletionsRegistry): void;
|
|
272
293
|
}
|
|
@@ -19,6 +19,10 @@ import { InlineDiffWidget } from './inline-diff-widget';
|
|
|
19
19
|
|
|
20
20
|
export interface IDiffPreviewerOptions {
|
|
21
21
|
disposeWhenEditorClosed: boolean;
|
|
22
|
+
/**
|
|
23
|
+
* 是否隐藏接受部分编辑的 widget,用于只展示 diff 的场景
|
|
24
|
+
*/
|
|
25
|
+
hideAcceptPartialEditWidget?: boolean;
|
|
22
26
|
}
|
|
23
27
|
|
|
24
28
|
export interface IInlineDiffPreviewerNode extends IDisposable {
|
|
@@ -388,9 +392,7 @@ export class LiveInlineDiffPreviewer extends BaseInlineDiffPreviewer<InlineStrea
|
|
|
388
392
|
this.node?.finallyRender(diffModel);
|
|
389
393
|
}
|
|
390
394
|
}
|
|
391
|
-
|
|
392
|
-
return this.node?.onPartialEditEvent;
|
|
393
|
-
}
|
|
395
|
+
|
|
394
396
|
revealFirstDiff(): void {
|
|
395
397
|
this.node?.revealFirstDiff();
|
|
396
398
|
}
|
|
@@ -18,7 +18,6 @@ import { EInlineDiffPreviewMode } from '../../preferences/schema';
|
|
|
18
18
|
import { InlineChatController } from '../inline-chat/inline-chat-controller';
|
|
19
19
|
import { EResultKind } from '../inline-chat/inline-chat.service';
|
|
20
20
|
import { InlineStreamDiffHandler } from '../inline-stream-diff/inline-stream-diff.handler';
|
|
21
|
-
import { IPartialEditEvent } from '../inline-stream-diff/live-preview.component';
|
|
22
21
|
|
|
23
22
|
import {
|
|
24
23
|
BaseInlineDiffPreviewer,
|
|
@@ -43,9 +42,6 @@ export class InlineDiffController extends BaseAIMonacoEditorController {
|
|
|
43
42
|
return this.injector.get(IEventBus);
|
|
44
43
|
}
|
|
45
44
|
|
|
46
|
-
private readonly _onPartialEditEvent = this.registerDispose(new Emitter<IPartialEditEvent>());
|
|
47
|
-
public readonly onPartialEditEvent: Event<IPartialEditEvent> = this._onPartialEditEvent.event;
|
|
48
|
-
|
|
49
45
|
private readonly _onMaxLineCount = new Emitter<number>();
|
|
50
46
|
public readonly onMaxLineCount: Event<number> = this._onMaxLineCount.event;
|
|
51
47
|
|
|
@@ -228,14 +224,6 @@ export class InlineDiffController extends BaseAIMonacoEditorController {
|
|
|
228
224
|
return;
|
|
229
225
|
}
|
|
230
226
|
|
|
231
|
-
if (previewer instanceof LiveInlineDiffPreviewer) {
|
|
232
|
-
previewer.addDispose(
|
|
233
|
-
previewer.onPartialEditEvent!((event) => {
|
|
234
|
-
this._onPartialEditEvent.fire(event);
|
|
235
|
-
}),
|
|
236
|
-
);
|
|
237
|
-
}
|
|
238
|
-
|
|
239
227
|
previewer.addDispose(previewer.onLineCount((lineCount) => this._onMaxLineCount.fire(lineCount)));
|
|
240
228
|
}
|
|
241
229
|
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Injectable } from '@opensumi/di';
|
|
2
|
+
import { Emitter } from '@opensumi/ide-utils';
|
|
3
|
+
|
|
4
|
+
import { IPartialEditEvent } from '../inline-stream-diff/live-preview.component';
|
|
5
|
+
|
|
6
|
+
@Injectable()
|
|
7
|
+
export class InlineDiffService {
|
|
8
|
+
/**
|
|
9
|
+
* Used in `codeblitz`, do not remove it.
|
|
10
|
+
*/
|
|
11
|
+
private _partialEventEmitter = new Emitter<IPartialEditEvent>();
|
|
12
|
+
public onPartialEdit = this._partialEventEmitter.event;
|
|
13
|
+
|
|
14
|
+
public firePartialEdit(event: IPartialEditEvent) {
|
|
15
|
+
this._partialEventEmitter.fire(event);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -101,6 +101,12 @@ export class InlineStreamDiffHandler extends Disposable implements IInlineDiffPr
|
|
|
101
101
|
|
|
102
102
|
setPreviewerOptions(options: IDiffPreviewerOptions): void {
|
|
103
103
|
this.previewerOptions = options;
|
|
104
|
+
|
|
105
|
+
this.livePreviewDiffDecorationModel.setPreviewerOptions({
|
|
106
|
+
partialEditWidgetOptions: {
|
|
107
|
+
hideAcceptPartialEditWidget: options.hideAcceptPartialEditWidget,
|
|
108
|
+
},
|
|
109
|
+
});
|
|
104
110
|
}
|
|
105
111
|
|
|
106
112
|
initialize(selection: Selection): void {
|
|
@@ -508,10 +514,6 @@ export class InlineStreamDiffHandler extends Disposable implements IInlineDiffPr
|
|
|
508
514
|
this.monacoEditor.focus();
|
|
509
515
|
}
|
|
510
516
|
|
|
511
|
-
get onPartialEditEvent() {
|
|
512
|
-
return this.livePreviewDiffDecorationModel.onPartialEditEvent;
|
|
513
|
-
}
|
|
514
|
-
|
|
515
517
|
acceptAll(): void {
|
|
516
518
|
this.livePreviewDiffDecorationModel.acceptUnProcessed();
|
|
517
519
|
this.dispose();
|
|
@@ -124,6 +124,13 @@ const PartialEditComponent = (props: {
|
|
|
124
124
|
);
|
|
125
125
|
};
|
|
126
126
|
|
|
127
|
+
export interface IPartialEditWidgetOptions {
|
|
128
|
+
/**
|
|
129
|
+
* In some case, we don't want to show the accept and reject button
|
|
130
|
+
*/
|
|
131
|
+
hideAcceptPartialEditWidget?: boolean;
|
|
132
|
+
}
|
|
133
|
+
|
|
127
134
|
@Injectable({ multiple: true })
|
|
128
135
|
export class AcceptPartialEditWidget extends ReactInlineContentWidget {
|
|
129
136
|
static ID = 'AcceptPartialEditWidgetID';
|
|
@@ -142,6 +149,10 @@ export class AcceptPartialEditWidget extends ReactInlineContentWidget {
|
|
|
142
149
|
|
|
143
150
|
positionPreference = [ContentWidgetPositionPreference.EXACT];
|
|
144
151
|
|
|
152
|
+
constructor(protected readonly editor: ICodeEditor, protected editWidgetOptions?: IPartialEditWidgetOptions) {
|
|
153
|
+
super(editor);
|
|
154
|
+
}
|
|
155
|
+
|
|
145
156
|
public addedLinesCount: number = 0;
|
|
146
157
|
public deletedLinesCount: number = 0;
|
|
147
158
|
public status: IWidgetStatus = 'pending';
|
|
@@ -166,6 +177,10 @@ export class AcceptPartialEditWidget extends ReactInlineContentWidget {
|
|
|
166
177
|
}
|
|
167
178
|
|
|
168
179
|
public renderView(): React.ReactNode {
|
|
180
|
+
if (this.editWidgetOptions?.hideAcceptPartialEditWidget) {
|
|
181
|
+
return;
|
|
182
|
+
}
|
|
183
|
+
|
|
169
184
|
const keyStrings = this.getSequenceKeyStrings();
|
|
170
185
|
if (!keyStrings) {
|
|
171
186
|
return;
|
|
@@ -1,6 +1,14 @@
|
|
|
1
1
|
import { Autowired, INJECTOR_TOKEN, Injectable, Injector } from '@opensumi/di';
|
|
2
2
|
import { StackingLevel } from '@opensumi/ide-core-browser';
|
|
3
|
-
import {
|
|
3
|
+
import {
|
|
4
|
+
ActionSourceEnum,
|
|
5
|
+
ActionTypeEnum,
|
|
6
|
+
Disposable,
|
|
7
|
+
Emitter,
|
|
8
|
+
Event,
|
|
9
|
+
IAIReporter,
|
|
10
|
+
runWhenIdle,
|
|
11
|
+
} from '@opensumi/ide-core-common';
|
|
4
12
|
import { ISingleEditOperation } from '@opensumi/ide-editor';
|
|
5
13
|
import { ICodeEditor, IEditorDecorationsCollection, ITextModel, Position, Range } from '@opensumi/ide-monaco';
|
|
6
14
|
import { StandaloneServices } from '@opensumi/ide-monaco/lib/browser/monaco-api/services';
|
|
@@ -19,6 +27,7 @@ import {
|
|
|
19
27
|
IDecorationSerializableState,
|
|
20
28
|
IEnhanceModelDeltaDecoration,
|
|
21
29
|
} from '../../model/enhanceDecorationsCollection';
|
|
30
|
+
import { InlineDiffService } from '../inline-diff';
|
|
22
31
|
|
|
23
32
|
import styles from './inline-stream-diff.module.less';
|
|
24
33
|
import { InlineStreamDiffService } from './inline-stream-diff.service';
|
|
@@ -29,6 +38,7 @@ import {
|
|
|
29
38
|
AddedRangeDecoration,
|
|
30
39
|
EPartialEdit,
|
|
31
40
|
IPartialEditEvent,
|
|
41
|
+
IPartialEditWidgetOptions,
|
|
32
42
|
IRemovedWidgetState,
|
|
33
43
|
IRemovedZoneWidgetOptions,
|
|
34
44
|
ITextLinesTokens,
|
|
@@ -53,6 +63,10 @@ export interface ITotalCodeInfo {
|
|
|
53
63
|
unresolvedChangedLinesCount: number;
|
|
54
64
|
}
|
|
55
65
|
|
|
66
|
+
export interface IModelOptions {
|
|
67
|
+
partialEditWidgetOptions?: IPartialEditWidgetOptions;
|
|
68
|
+
}
|
|
69
|
+
|
|
56
70
|
@Injectable({ multiple: true })
|
|
57
71
|
export class LivePreviewDiffDecorationModel extends Disposable {
|
|
58
72
|
@Autowired(INJECTOR_TOKEN)
|
|
@@ -64,8 +78,8 @@ export class LivePreviewDiffDecorationModel extends Disposable {
|
|
|
64
78
|
@Autowired(InlineStreamDiffService)
|
|
65
79
|
private readonly inlineStreamDiffService: InlineStreamDiffService;
|
|
66
80
|
|
|
67
|
-
|
|
68
|
-
|
|
81
|
+
@Autowired(InlineDiffService)
|
|
82
|
+
private readonly inlineDiffService: InlineDiffService;
|
|
69
83
|
|
|
70
84
|
private activeLineDec: IEditorDecorationsCollection;
|
|
71
85
|
private pendingRangeDec: IEditorDecorationsCollection;
|
|
@@ -76,12 +90,16 @@ export class LivePreviewDiffDecorationModel extends Disposable {
|
|
|
76
90
|
public readonly onPartialEditWidgetListChange: Event<AcceptPartialEditWidget[]> =
|
|
77
91
|
this._onPartialEditWidgetListChange.event;
|
|
78
92
|
|
|
93
|
+
protected options: IModelOptions = {
|
|
94
|
+
partialEditWidgetOptions: {},
|
|
95
|
+
};
|
|
96
|
+
|
|
79
97
|
protected model: ITextModel;
|
|
80
98
|
|
|
81
99
|
// Parts that require snapshots
|
|
82
100
|
private addedRangeDec: EnhanceDecorationsCollection;
|
|
83
101
|
private partialEditWidgetList: AcceptPartialEditWidget[] = [];
|
|
84
|
-
private removedZoneWidgets:
|
|
102
|
+
private removedZoneWidgets: RemovedZoneWidget[] = [];
|
|
85
103
|
private zone: LineRange;
|
|
86
104
|
|
|
87
105
|
constructor(private readonly monacoEditor: ICodeEditor) {
|
|
@@ -490,7 +508,7 @@ export class LivePreviewDiffDecorationModel extends Disposable {
|
|
|
490
508
|
|
|
491
509
|
this.monacoEditor.focus();
|
|
492
510
|
|
|
493
|
-
this.
|
|
511
|
+
this.inlineDiffService.firePartialEdit(event);
|
|
494
512
|
this.firePartialEditWidgetList();
|
|
495
513
|
}
|
|
496
514
|
|
|
@@ -506,17 +524,29 @@ export class LivePreviewDiffDecorationModel extends Disposable {
|
|
|
506
524
|
return newElement;
|
|
507
525
|
}
|
|
508
526
|
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
const
|
|
527
|
+
static computeCodeInfo(
|
|
528
|
+
partialEditWidgetList: AcceptPartialEditWidget[],
|
|
529
|
+
addedDecList: IEnhanceModelDeltaDecoration[],
|
|
530
|
+
removedWidgetList: RemovedZoneWidget[],
|
|
531
|
+
): ITotalCodeInfo {
|
|
532
|
+
// 代码除了新增和删除行,还需要统计变更行
|
|
533
|
+
// 1. 新增 N 行 => N
|
|
534
|
+
// 2. 删除 N 行 => N
|
|
535
|
+
// 3. 新增 M 行,删除 N 行 => max(M, N)
|
|
536
|
+
// 综上所述,变更行数 = sum(list.map(item => max(新增行数, 删除行数)))
|
|
537
|
+
const resolvedStatus = caculate(partialEditWidgetList);
|
|
538
|
+
const unresolvedStatus = { added: 0, deleted: 0, changed: 0 };
|
|
539
|
+
partialEditWidgetList.forEach((v, idx) => {
|
|
540
|
+
if (v.status === 'pending') {
|
|
541
|
+
const addedDec = addedDecList[idx];
|
|
542
|
+
const removedWidget = removedWidgetList[idx];
|
|
543
|
+
const addedLinesCount = addedDec?.length || 0;
|
|
544
|
+
const deletedLinesCount = removedWidget?.height || 0;
|
|
545
|
+
unresolvedStatus.added += addedLinesCount;
|
|
546
|
+
unresolvedStatus.deleted += deletedLinesCount;
|
|
547
|
+
unresolvedStatus.changed += Math.max(addedLinesCount, deletedLinesCount);
|
|
548
|
+
}
|
|
549
|
+
});
|
|
520
550
|
|
|
521
551
|
return {
|
|
522
552
|
totalAddedLinesCount: resolvedStatus.added,
|
|
@@ -527,11 +557,6 @@ export class LivePreviewDiffDecorationModel extends Disposable {
|
|
|
527
557
|
unresolvedChangedLinesCount: unresolvedStatus.changed,
|
|
528
558
|
};
|
|
529
559
|
|
|
530
|
-
// 代码除了新增和删除行,还需要统计变更行
|
|
531
|
-
// 1. 新增 N 行 => N
|
|
532
|
-
// 2. 删除 N 行 => N
|
|
533
|
-
// 3. 新增 M 行,删除 N 行 => max(M, N)
|
|
534
|
-
// 综上所述,变更行数 = sum(list.map(item => max(新增行数, 删除行数)))
|
|
535
560
|
function caculate(list: AcceptPartialEditWidget[]) {
|
|
536
561
|
const result = { added: 0, deleted: 0, changed: 0 };
|
|
537
562
|
list.forEach((widget) => {
|
|
@@ -545,6 +570,19 @@ export class LivePreviewDiffDecorationModel extends Disposable {
|
|
|
545
570
|
}
|
|
546
571
|
}
|
|
547
572
|
|
|
573
|
+
/**
|
|
574
|
+
* 获取当前编辑器的代码采纳状态
|
|
575
|
+
* 1. 已经采纳的代码信息
|
|
576
|
+
* 2. 还未处理的代码信息
|
|
577
|
+
*/
|
|
578
|
+
getTotalCodeInfo(): ITotalCodeInfo {
|
|
579
|
+
const partialEditWidgetList = this.partialEditWidgetList;
|
|
580
|
+
const addedDecList = this.addedRangeDec.getDecorations();
|
|
581
|
+
const removedWidgetList = this.removedZoneWidgets;
|
|
582
|
+
|
|
583
|
+
return LivePreviewDiffDecorationModel.computeCodeInfo(partialEditWidgetList, addedDecList, removedWidgetList);
|
|
584
|
+
}
|
|
585
|
+
|
|
548
586
|
/**
|
|
549
587
|
* 记录 partial edit widget 与 added range 的映射关系(主要用于位置计算)
|
|
550
588
|
*/
|
|
@@ -575,7 +613,10 @@ export class LivePreviewDiffDecorationModel extends Disposable {
|
|
|
575
613
|
}
|
|
576
614
|
|
|
577
615
|
private createPartialEditWidget(lineNumber: number): AcceptPartialEditWidget {
|
|
578
|
-
const acceptPartialEditWidget = this.injector.get(AcceptPartialEditWidget, [
|
|
616
|
+
const acceptPartialEditWidget = this.injector.get(AcceptPartialEditWidget, [
|
|
617
|
+
this.monacoEditor,
|
|
618
|
+
this.options.partialEditWidgetOptions,
|
|
619
|
+
]);
|
|
579
620
|
acceptPartialEditWidget.show({ position: { lineNumber, column: 1 } });
|
|
580
621
|
|
|
581
622
|
const disposable = acceptPartialEditWidget.onDispose(() => {
|
|
@@ -635,10 +676,11 @@ export class LivePreviewDiffDecorationModel extends Disposable {
|
|
|
635
676
|
}
|
|
636
677
|
|
|
637
678
|
public touchRemovedWidget(states: IRemovedWidgetState[]) {
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
679
|
+
runWhenIdle(() => {
|
|
680
|
+
this.clearRemovedWidgets();
|
|
681
|
+
states.forEach(({ textLines, position }) => {
|
|
682
|
+
this.showRemovedWidgetByLineNumber(position.lineNumber, textLines, {});
|
|
683
|
+
});
|
|
642
684
|
});
|
|
643
685
|
}
|
|
644
686
|
|
|
@@ -702,4 +744,8 @@ export class LivePreviewDiffDecorationModel extends Disposable {
|
|
|
702
744
|
}
|
|
703
745
|
}
|
|
704
746
|
}
|
|
747
|
+
|
|
748
|
+
setPreviewerOptions(options: IModelOptions) {
|
|
749
|
+
this.options = options;
|
|
750
|
+
}
|
|
705
751
|
}
|
|
@@ -129,6 +129,7 @@ const TextBoxProvider = React.memo((props: ITextBoxProviderProps) => {
|
|
|
129
129
|
|
|
130
130
|
const lineCount = currentLineNumber - range.startLineNumber;
|
|
131
131
|
const spaceWidth = virtualEditor!.getOption(monaco.editor.EditorOption.fontInfo).spaceWidth;
|
|
132
|
+
const contentLeft = virtualEditor!.getOption(monaco.editor.EditorOption.layoutInfo).contentLeft;
|
|
132
133
|
let maxColumnWidth = 0;
|
|
133
134
|
const tabSize = virtualModel.getOptions().tabSize;
|
|
134
135
|
Array.from(
|
|
@@ -149,7 +150,7 @@ const TextBoxProvider = React.memo((props: ITextBoxProviderProps) => {
|
|
|
149
150
|
}
|
|
150
151
|
});
|
|
151
152
|
|
|
152
|
-
setEditorSize({ width: maxColumnWidth * spaceWidth, height: lineHeight * (lineCount + 1) });
|
|
153
|
+
setEditorSize({ width: maxColumnWidth * spaceWidth + contentLeft * 2, height: lineHeight * (lineCount + 1) });
|
|
153
154
|
},
|
|
154
155
|
[editorSize, editor],
|
|
155
156
|
);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"additions-deletions.decoration.d.ts","sourceRoot":"","sources":["../../../../src/browser/contrib/intelligent-completions/additions-deletions.decoration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAyB,MAAM,EAA0B,MAAM,sBAAsB,CAAC;AAK1G,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAG7D,qBAAa,iCAAiC;IAIhC,OAAO,CAAC,QAAQ,CAAC,MAAM;IAHnC,OAAO,CAAC,oBAAoB,CAA+B;IAC3D,OAAO,CAAC,oBAAoB,CAA+B;gBAE9B,MAAM,EAAE,WAAW;IAKhD,OAAO,CAAC,aAAa;IAgCrB,yBAAyB;IAIzB,yBAAyB;IAIzB,yBAAyB,CAAC,WAAW,EAAE,0BAA0B,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;IA6B/F,yBAAyB,CAAC,cAAc,EAAE,MAAM,EAAE;CAYnD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"additions-deletions.decoration.js","sourceRoot":"","sources":["../../../../src/browser/contrib/intelligent-completions/additions-deletions.decoration.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { InlineCompletion } from '@opensumi/ide-monaco';
|
|
2
|
-
export interface IIntelligentCompletionsResult<T = any> {
|
|
3
|
-
readonly items: InlineCompletion[];
|
|
4
|
-
/**
|
|
5
|
-
* 是否开启多行补全
|
|
6
|
-
* 开启后,items 中的 range 必填
|
|
7
|
-
* 否则显示默认的 inline completion
|
|
8
|
-
*/
|
|
9
|
-
readonly enableMultiLine?: boolean | undefined;
|
|
10
|
-
/**
|
|
11
|
-
* 定义的额外信息
|
|
12
|
-
*/
|
|
13
|
-
extra?: T;
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=intelligent-completions.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"intelligent-completions.d.ts","sourceRoot":"","sources":["../../../../src/browser/contrib/intelligent-completions/intelligent-completions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,MAAM,WAAW,6BAA6B,CAAC,CAAC,GAAG,GAAG;IACpD,QAAQ,CAAC,KAAK,EAAE,gBAAgB,EAAE,CAAC;IACnC;;;;OAIG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/C;;OAEG;IACH,KAAK,CAAC,EAAE,CAAC,CAAC;CACX"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"intelligent-completions.js","sourceRoot":"","sources":["../../../../src/browser/contrib/intelligent-completions/intelligent-completions.ts"],"names":[],"mappings":""}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { Injector } from '@opensumi/di';
|
|
2
|
-
import { Disposable, IDisposable } from '@opensumi/ide-core-common';
|
|
3
|
-
import { ICodeEditor } from '@opensumi/ide-monaco';
|
|
4
|
-
export declare class InlineCompletionsSource extends Disposable {
|
|
5
|
-
private readonly monacoEditor;
|
|
6
|
-
protected readonly injector: Injector;
|
|
7
|
-
private eventBus;
|
|
8
|
-
private commandService;
|
|
9
|
-
private readonly aiInlineCompletionsProvider;
|
|
10
|
-
private sequencer;
|
|
11
|
-
private preDidShowItems;
|
|
12
|
-
constructor(monacoEditor: ICodeEditor);
|
|
13
|
-
fetch(): IDisposable;
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=intelligent-completions.source.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"intelligent-completions.source.d.ts","sourceRoot":"","sources":["../../../../src/browser/contrib/intelligent-completions/intelligent-completions.source.ts"],"names":[],"mappings":"AAEA,OAAO,EAAyC,QAAQ,EAAY,MAAM,cAAc,CAAC;AAEzF,OAAO,EAGL,UAAU,EACV,WAAW,EAIZ,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,WAAW,EAAsC,MAAM,sBAAsB,CAAC;AASvF,qBACa,uBAAwB,SAAQ,UAAU;IAgB7B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAdrD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAGtC,OAAO,CAAC,QAAQ,CAAY;IAG5B,OAAO,CAAC,cAAc,CAAqB;IAG3C,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAA+B;IAE3E,OAAO,CAAC,SAAS,CAAmB;IACpC,OAAO,CAAC,eAAe,CAAgC;gBAEd,YAAY,EAAE,WAAW;IAyE3D,KAAK,IAAI,WAAW;CAyC5B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"intelligent-completions.source.js","sourceRoot":"","sources":["../../../../src/browser/contrib/intelligent-completions/intelligent-completions.source.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"multi-line.decoration.d.ts","sourceRoot":"","sources":["../../../../src/browser/contrib/intelligent-completions/multi-line.decoration.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAyB,SAAS,EAAmB,MAAM,sBAAsB,CAAC;AAGtG,OAAO,EAAE,cAAc,EAAE,MAAM,8EAA8E,CAAC;AAI9G,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAE7D,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAWD,UAAU,iBAAiB;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,cAAc,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,0BAA0B;IACzC,YAAY,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAAA;KAAE,CAAC;IACrD,UAAU,EAAE,oBAAoB,EAAE,CAAC;CACpC;AAGD,eAAO,MAAM,sBAAsB,0BAA0B,CAAC;AAC9D,eAAO,MAAM,UAAU,eAAe,CAAC;AAEvC,qBAAa,wBAAwB;IAGvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAFnC,OAAO,CAAC,oBAAoB,CAA+B;gBAE9B,MAAM,EAAE,WAAW;IAIhD;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA8BxB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAiB7B,OAAO,CAAC,wBAAwB;IAmFhC,OAAO,CAAC,QAAQ;IAYT,gBAAgB,IAAI,IAAI;IAIxB,iCAAiC,CAAC,aAAa,EAAE,oBAAoB,EAAE;IAgCvE,sBAAsB,CAC3B,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,0BAA0B,EAAE,EACrC,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,SAAS,GACxB,0BAA0B,GAAG,SAAS;IA+KlC,MAAM;CAkBd"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"multi-line.decoration.js","sourceRoot":"","sources":["../../../../src/browser/contrib/intelligent-completions/multi-line.decoration.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { InlineCompletion } from '@opensumi/ide-monaco';
|
|
2
|
-
|
|
3
|
-
export interface IIntelligentCompletionsResult<T = any> {
|
|
4
|
-
readonly items: InlineCompletion[];
|
|
5
|
-
/**
|
|
6
|
-
* 是否开启多行补全
|
|
7
|
-
* 开启后,items 中的 range 必填
|
|
8
|
-
* 否则显示默认的 inline completion
|
|
9
|
-
*/
|
|
10
|
-
readonly enableMultiLine?: boolean | undefined;
|
|
11
|
-
/**
|
|
12
|
-
* 定义的额外信息
|
|
13
|
-
*/
|
|
14
|
-
extra?: T;
|
|
15
|
-
}
|