@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.
Files changed (128) hide show
  1. package/lib/browser/ai-core.contribution.d.ts.map +1 -1
  2. package/lib/browser/ai-core.contribution.js +18 -17
  3. package/lib/browser/ai-core.contribution.js.map +1 -1
  4. package/lib/browser/components/utils.d.ts +2 -2
  5. package/lib/browser/contrib/inline-completions/inline-completions.controller.d.ts +18 -0
  6. package/lib/browser/contrib/inline-completions/inline-completions.controller.d.ts.map +1 -0
  7. package/lib/browser/contrib/{intelligent-completions/intelligent-completions.source.js → inline-completions/inline-completions.controller.js} +48 -38
  8. package/lib/browser/contrib/inline-completions/inline-completions.controller.js.map +1 -0
  9. package/lib/browser/contrib/inline-completions/model/competionModel.d.ts +1 -1
  10. package/lib/browser/contrib/inline-completions/model/competionModel.d.ts.map +1 -1
  11. package/lib/browser/contrib/inline-completions/model/inlineCompletionRequestTask.js +4 -4
  12. package/lib/browser/contrib/inline-completions/model/inlineCompletionRequestTask.js.map +1 -1
  13. package/lib/browser/contrib/inline-completions/prompt/prompt.d.ts +3 -3
  14. package/lib/browser/contrib/inline-completions/prompt/prompt.d.ts.map +1 -1
  15. package/lib/browser/contrib/inline-completions/prompt/prompt.js.map +1 -1
  16. package/lib/browser/contrib/inline-completions/prompt/tokenizer.d.ts +1 -1
  17. package/lib/browser/contrib/inline-completions/prompt/tokenizer.d.ts.map +1 -1
  18. package/lib/browser/contrib/inline-completions/prompt/tokenizer.js +2 -3
  19. package/lib/browser/contrib/inline-completions/prompt/tokenizer.js.map +1 -1
  20. package/lib/browser/contrib/inline-completions/promptCache.d.ts +1 -1
  21. package/lib/browser/contrib/inline-completions/promptCache.d.ts.map +1 -1
  22. package/lib/browser/contrib/inline-completions/service/ai-completions.service.d.ts +1 -1
  23. package/lib/browser/contrib/inline-completions/service/ai-completions.service.d.ts.map +1 -1
  24. package/lib/browser/contrib/intelligent-completions/{additions-deletions.decoration.d.ts → decoration/additions-deletions.decoration.d.ts} +1 -1
  25. package/lib/browser/contrib/intelligent-completions/decoration/additions-deletions.decoration.d.ts.map +1 -0
  26. package/lib/browser/contrib/intelligent-completions/{additions-deletions.decoration.js → decoration/additions-deletions.decoration.js} +3 -3
  27. package/lib/browser/contrib/intelligent-completions/decoration/additions-deletions.decoration.js.map +1 -0
  28. package/lib/browser/contrib/intelligent-completions/{multi-line.decoration.d.ts → decoration/multi-line.decoration.d.ts} +1 -1
  29. package/lib/browser/contrib/intelligent-completions/decoration/multi-line.decoration.d.ts.map +1 -0
  30. package/lib/browser/contrib/intelligent-completions/{multi-line.decoration.js → decoration/multi-line.decoration.js} +1 -1
  31. package/lib/browser/contrib/intelligent-completions/decoration/multi-line.decoration.js.map +1 -0
  32. package/lib/browser/contrib/intelligent-completions/index.d.ts +30 -0
  33. package/lib/browser/contrib/intelligent-completions/index.d.ts.map +1 -0
  34. package/lib/browser/contrib/intelligent-completions/index.js +8 -0
  35. package/lib/browser/contrib/intelligent-completions/index.js.map +1 -0
  36. package/lib/browser/contrib/intelligent-completions/intelligent-completions.controller.d.ts +3 -4
  37. package/lib/browser/contrib/intelligent-completions/intelligent-completions.controller.d.ts.map +1 -1
  38. package/lib/browser/contrib/intelligent-completions/intelligent-completions.controller.js +26 -25
  39. package/lib/browser/contrib/intelligent-completions/intelligent-completions.controller.js.map +1 -1
  40. package/lib/browser/contrib/intelligent-completions/intelligent-completions.feature.registry.d.ts +7 -3
  41. package/lib/browser/contrib/intelligent-completions/intelligent-completions.feature.registry.d.ts.map +1 -1
  42. package/lib/browser/contrib/intelligent-completions/intelligent-completions.feature.registry.js +12 -3
  43. package/lib/browser/contrib/intelligent-completions/intelligent-completions.feature.registry.js.map +1 -1
  44. package/lib/browser/contrib/intelligent-completions/lint-error.source.d.ts +29 -0
  45. package/lib/browser/contrib/intelligent-completions/lint-error.source.d.ts.map +1 -0
  46. package/lib/browser/contrib/intelligent-completions/lint-error.source.js +99 -0
  47. package/lib/browser/contrib/intelligent-completions/lint-error.source.js.map +1 -0
  48. package/lib/browser/contrib/terminal/decoration/terminal-decoration.d.ts +1 -1
  49. package/lib/browser/contrib/terminal/decoration/terminal-decoration.d.ts.map +1 -1
  50. package/lib/browser/contrib/terminal/decoration/terminal-decoration.js.map +1 -1
  51. package/lib/browser/contrib/terminal/ps1-terminal.service.js.map +1 -1
  52. package/lib/browser/index.d.ts.map +1 -1
  53. package/lib/browser/index.js +5 -0
  54. package/lib/browser/index.js.map +1 -1
  55. package/lib/browser/types.d.ts +13 -3
  56. package/lib/browser/types.d.ts.map +1 -1
  57. package/lib/browser/types.js.map +1 -1
  58. package/lib/browser/widget/inline-diff/index.d.ts +1 -0
  59. package/lib/browser/widget/inline-diff/index.d.ts.map +1 -1
  60. package/lib/browser/widget/inline-diff/index.js +1 -0
  61. package/lib/browser/widget/inline-diff/index.js.map +1 -1
  62. package/lib/browser/widget/inline-diff/inline-diff-previewer.d.ts +4 -1
  63. package/lib/browser/widget/inline-diff/inline-diff-previewer.d.ts.map +1 -1
  64. package/lib/browser/widget/inline-diff/inline-diff-previewer.js +0 -4
  65. package/lib/browser/widget/inline-diff/inline-diff-previewer.js.map +1 -1
  66. package/lib/browser/widget/inline-diff/inline-diff.controller.d.ts +0 -3
  67. package/lib/browser/widget/inline-diff/inline-diff.controller.d.ts.map +1 -1
  68. package/lib/browser/widget/inline-diff/inline-diff.controller.js +0 -7
  69. package/lib/browser/widget/inline-diff/inline-diff.controller.js.map +1 -1
  70. package/lib/browser/widget/inline-diff/inline-diff.service.d.ts +10 -0
  71. package/lib/browser/widget/inline-diff/inline-diff.service.d.ts.map +1 -0
  72. package/lib/browser/widget/inline-diff/inline-diff.service.js +23 -0
  73. package/lib/browser/widget/inline-diff/inline-diff.service.js.map +1 -0
  74. package/lib/browser/widget/inline-stream-diff/inline-stream-diff.handler.d.ts +0 -1
  75. package/lib/browser/widget/inline-stream-diff/inline-stream-diff.handler.d.ts.map +1 -1
  76. package/lib/browser/widget/inline-stream-diff/inline-stream-diff.handler.js +5 -3
  77. package/lib/browser/widget/inline-stream-diff/inline-stream-diff.handler.js.map +1 -1
  78. package/lib/browser/widget/inline-stream-diff/live-preview.component.d.ts +9 -0
  79. package/lib/browser/widget/inline-stream-diff/live-preview.component.d.ts.map +1 -1
  80. package/lib/browser/widget/inline-stream-diff/live-preview.component.js +10 -3
  81. package/lib/browser/widget/inline-stream-diff/live-preview.component.js.map +1 -1
  82. package/lib/browser/widget/inline-stream-diff/live-preview.decoration.d.ts +8 -3
  83. package/lib/browser/widget/inline-stream-diff/live-preview.decoration.d.ts.map +1 -1
  84. package/lib/browser/widget/inline-stream-diff/live-preview.decoration.js +54 -24
  85. package/lib/browser/widget/inline-stream-diff/live-preview.decoration.js.map +1 -1
  86. package/lib/browser/widget/rewrite/rewrite-widget.d.ts.map +1 -1
  87. package/lib/browser/widget/rewrite/rewrite-widget.js +2 -1
  88. package/lib/browser/widget/rewrite/rewrite-widget.js.map +1 -1
  89. package/package.json +24 -24
  90. package/src/browser/ai-core.contribution.ts +23 -17
  91. package/src/browser/contrib/{intelligent-completions/intelligent-completions.source.ts → inline-completions/inline-completions.controller.ts} +51 -23
  92. package/src/browser/contrib/inline-completions/model/competionModel.ts +1 -1
  93. package/src/browser/contrib/inline-completions/model/inlineCompletionRequestTask.ts +5 -5
  94. package/src/browser/contrib/inline-completions/prompt/prompt.ts +9 -5
  95. package/src/browser/contrib/inline-completions/prompt/tokenizer.ts +2 -3
  96. package/src/browser/contrib/inline-completions/promptCache.ts +1 -1
  97. package/src/browser/contrib/inline-completions/service/ai-completions.service.ts +1 -1
  98. package/src/browser/contrib/intelligent-completions/{additions-deletions.decoration.ts → decoration/additions-deletions.decoration.ts} +4 -5
  99. package/src/browser/contrib/intelligent-completions/{multi-line.decoration.ts → decoration/multi-line.decoration.ts} +2 -3
  100. package/src/browser/contrib/intelligent-completions/index.ts +34 -0
  101. package/src/browser/contrib/intelligent-completions/intelligent-completions.controller.ts +31 -44
  102. package/src/browser/contrib/intelligent-completions/intelligent-completions.feature.registry.ts +18 -5
  103. package/src/browser/contrib/intelligent-completions/lint-error.source.ts +130 -0
  104. package/src/browser/contrib/terminal/ai-terminal.service.ts +1 -1
  105. package/src/browser/contrib/terminal/decoration/terminal-decoration.tsx +1 -1
  106. package/src/browser/contrib/terminal/ps1-terminal.service.tsx +1 -1
  107. package/src/browser/index.ts +5 -0
  108. package/src/browser/types.ts +24 -3
  109. package/src/browser/widget/inline-diff/index.ts +1 -0
  110. package/src/browser/widget/inline-diff/inline-diff-previewer.ts +5 -3
  111. package/src/browser/widget/inline-diff/inline-diff.controller.ts +0 -12
  112. package/src/browser/widget/inline-diff/inline-diff.service.ts +17 -0
  113. package/src/browser/widget/inline-stream-diff/inline-stream-diff.handler.tsx +6 -4
  114. package/src/browser/widget/inline-stream-diff/live-preview.component.tsx +15 -0
  115. package/src/browser/widget/inline-stream-diff/live-preview.decoration.tsx +72 -26
  116. package/src/browser/widget/rewrite/rewrite-widget.tsx +2 -1
  117. package/lib/browser/contrib/intelligent-completions/additions-deletions.decoration.d.ts.map +0 -1
  118. package/lib/browser/contrib/intelligent-completions/additions-deletions.decoration.js.map +0 -1
  119. package/lib/browser/contrib/intelligent-completions/intelligent-completions.d.ts +0 -15
  120. package/lib/browser/contrib/intelligent-completions/intelligent-completions.d.ts.map +0 -1
  121. package/lib/browser/contrib/intelligent-completions/intelligent-completions.js +0 -3
  122. package/lib/browser/contrib/intelligent-completions/intelligent-completions.js.map +0 -1
  123. package/lib/browser/contrib/intelligent-completions/intelligent-completions.source.d.ts +0 -15
  124. package/lib/browser/contrib/intelligent-completions/intelligent-completions.source.d.ts.map +0 -1
  125. package/lib/browser/contrib/intelligent-completions/intelligent-completions.source.js.map +0 -1
  126. package/lib/browser/contrib/intelligent-completions/multi-line.decoration.d.ts.map +0 -1
  127. package/lib/browser/contrib/intelligent-completions/multi-line.decoration.js.map +0 -1
  128. package/src/browser/contrib/intelligent-completions/intelligent-completions.ts +0 -15
@@ -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 = [
@@ -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 { IIntelligentCompletionsResult } from './contrib/intelligent-completions/intelligent-completions';
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
- * 注销 terminal 内联功能
88
+ * 注册 terminal 内联功能
85
89
  */
86
90
  unregisterTerminalInlineChat(operational: AIActionItem): void;
87
91
  /**
88
- * proposed api,可能随时都会有变化
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
  }
@@ -1,3 +1,4 @@
1
1
  export * from './inline-diff.controller';
2
2
  export * from './inline-diff-previewer';
3
3
  export * from './inline-diff-widget';
4
+ export * from './inline-diff.service';
@@ -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
- get onPartialEditEvent() {
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 { ActionSourceEnum, ActionTypeEnum, Disposable, Emitter, Event, IAIReporter } from '@opensumi/ide-core-common';
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
- private readonly _onPartialEditEvent = this.registerDispose(new Emitter<IPartialEditEvent>());
68
- public readonly onPartialEditEvent: Event<IPartialEditEvent> = this._onPartialEditEvent.event;
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: Array<RemovedZoneWidget> = [];
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._onPartialEditEvent.fire(event);
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
- * 1. 已经采纳的代码信息
512
- * 2. 还未处理的代码信息
513
- */
514
- getTotalCodeInfo(): ITotalCodeInfo {
515
- const resolvedList = this.partialEditWidgetList.filter((w) => w.isAccepted);
516
- const unresolvedList = this.partialEditWidgetList.filter((w) => w.isPending);
517
-
518
- const resolvedStatus = caculate(resolvedList);
519
- const unresolvedStatus = caculate(unresolvedList);
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, [this.monacoEditor]);
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
- this.clearRemovedWidgets();
639
-
640
- states.forEach(({ textLines, position }) => {
641
- this.showRemovedWidgetByLineNumber(position.lineNumber, textLines, {});
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,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=intelligent-completions.js.map
@@ -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
- }