@opensumi/ide-ai-native 3.7.1-next-1739448958.0 → 3.7.1-next-1739521933.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/components/utils.d.ts +2 -2
- package/lib/browser/contrib/intelligent-completions/index.d.ts +8 -12
- package/lib/browser/contrib/intelligent-completions/index.d.ts.map +1 -1
- package/lib/browser/contrib/intelligent-completions/index.js.map +1 -1
- package/lib/browser/contrib/intelligent-completions/source/base.d.ts +8 -1
- package/lib/browser/contrib/intelligent-completions/source/base.d.ts.map +1 -1
- package/lib/browser/contrib/intelligent-completions/source/base.js +21 -3
- package/lib/browser/contrib/intelligent-completions/source/base.js.map +1 -1
- package/lib/browser/contrib/intelligent-completions/source/line-change.source.d.ts +0 -2
- package/lib/browser/contrib/intelligent-completions/source/line-change.source.d.ts.map +1 -1
- package/lib/browser/contrib/intelligent-completions/source/line-change.source.js +5 -37
- package/lib/browser/contrib/intelligent-completions/source/line-change.source.js.map +1 -1
- package/lib/browser/contrib/intelligent-completions/source/lint-error.source.d.ts +1 -3
- package/lib/browser/contrib/intelligent-completions/source/lint-error.source.d.ts.map +1 -1
- package/lib/browser/contrib/intelligent-completions/source/lint-error.source.js +13 -20
- package/lib/browser/contrib/intelligent-completions/source/lint-error.source.js.map +1 -1
- package/lib/browser/contrib/intelligent-completions/source/typing.source.d.ts +2 -2
- package/lib/browser/contrib/intelligent-completions/source/typing.source.d.ts.map +1 -1
- package/lib/browser/contrib/intelligent-completions/source/typing.source.js +6 -8
- package/lib/browser/contrib/intelligent-completions/source/typing.source.js.map +1 -1
- package/lib/browser/contrib/terminal/component/terminal-command-suggest-controller.js +2 -2
- package/lib/browser/contrib/terminal/component/terminal-command-suggest-controller.js.map +1 -1
- package/package.json +21 -21
- package/src/browser/contrib/intelligent-completions/index.ts +9 -4
- package/src/browser/contrib/intelligent-completions/source/base.ts +28 -5
- package/src/browser/contrib/intelligent-completions/source/line-change.source.ts +7 -57
- package/src/browser/contrib/intelligent-completions/source/lint-error.source.ts +19 -31
- package/src/browser/contrib/intelligent-completions/source/typing.source.ts +7 -9
- package/src/browser/contrib/terminal/component/terminal-command-suggest-controller.tsx +1 -1
|
@@ -16,8 +16,8 @@ export declare const createMessageByUser: (message: UserMessageData, className?:
|
|
|
16
16
|
relationId: string;
|
|
17
17
|
text: string | React.ReactNode;
|
|
18
18
|
id: string | number;
|
|
19
|
-
title: string;
|
|
20
19
|
position: string;
|
|
20
|
+
title: string;
|
|
21
21
|
};
|
|
22
22
|
export declare const createMessageByAI: (message: AIMessageData, className?: string) => {
|
|
23
23
|
type: string;
|
|
@@ -26,8 +26,8 @@ export declare const createMessageByAI: (message: AIMessageData, className?: str
|
|
|
26
26
|
relationId: string;
|
|
27
27
|
text: string | React.ReactNode;
|
|
28
28
|
id: string | number;
|
|
29
|
-
title: string;
|
|
30
29
|
position: string;
|
|
30
|
+
title: string;
|
|
31
31
|
};
|
|
32
32
|
export declare const extractIcon: (question: ISampleQuestions) => ISampleQuestions;
|
|
33
33
|
export {};
|
|
@@ -9,19 +9,15 @@ export interface IIntelligentCompletionsResult<T = any> {
|
|
|
9
9
|
*/
|
|
10
10
|
extra?: T;
|
|
11
11
|
}
|
|
12
|
-
export
|
|
13
|
-
typing: ECodeEditsSourceTyping
|
|
12
|
+
export interface ICodeEditsContextBean {
|
|
13
|
+
typing: ECodeEditsSourceTyping;
|
|
14
14
|
position: IPosition;
|
|
15
|
-
data:
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
}
|
|
21
|
-
typing: ECodeEditsSourceTyping.Typing;
|
|
22
|
-
position: IPosition;
|
|
23
|
-
data: IModelContentChangedEvent;
|
|
24
|
-
};
|
|
15
|
+
data: {
|
|
16
|
+
[ECodeEditsSourceTyping.LinterErrors]?: ILinterErrorData;
|
|
17
|
+
[ECodeEditsSourceTyping.LineChange]?: ILineChangeData;
|
|
18
|
+
[ECodeEditsSourceTyping.Typing]?: IModelContentChangedEvent;
|
|
19
|
+
};
|
|
20
|
+
}
|
|
25
21
|
export interface ICodeEdit {
|
|
26
22
|
/**
|
|
27
23
|
* 插入的文本
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/browser/contrib/intelligent-completions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EAAE,yBAAyB,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAEtG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,MAAM,WAAW,6BAA6B,CAAC,CAAC,GAAG,GAAG;IACpD,QAAQ,CAAC,KAAK,EAAE,gBAAgB,EAAE,CAAC;IACnC;;OAEG;IACH,KAAK,CAAC,EAAE,CAAC,CAAC;CACX;AAED,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/browser/contrib/intelligent-completions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EAAE,yBAAyB,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAEtG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,MAAM,WAAW,6BAA6B,CAAC,CAAC,GAAG,GAAG;IACpD,QAAQ,CAAC,KAAK,EAAE,gBAAgB,EAAE,CAAC;IACnC;;OAEG;IACH,KAAK,CAAC,EAAE,CAAC,CAAC;CACX;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,sBAAsB,CAAC;IAC/B,QAAQ,EAAE,SAAS,CAAC;IACpB,IAAI,EAAE;QACJ,CAAC,sBAAsB,CAAC,YAAY,CAAC,CAAC,EAAE,gBAAgB,CAAC;QACzD,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC,EAAE,eAAe,CAAC;QACtD,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,EAAE,yBAAyB,CAAC;KAC7D,CAAC;CACH;AAED,MAAM,WAAW,SAAS;IACxB;;OAEG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AACD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC;CAC7B;AAED,qBAAa,oBAAqB,SAAQ,UAAU;IACtC,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,EAAE,gBAAgB;IAIlD,IAAW,KAAK,IAAI,SAAS,EAAE,CAE9B;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/browser/contrib/intelligent-completions/index.ts"],"names":[],"mappings":";;;AAAA,+DAA+E;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/browser/contrib/intelligent-completions/index.ts"],"names":[],"mappings":";;;AAAA,+DAA+E;AAsC/E,MAAa,oBAAqB,SAAQ,4BAAU;IAClD,YAA6B,GAAqB;QAChD,KAAK,EAAE,CAAC;QADmB,QAAG,GAAH,GAAG,CAAkB;IAElD,CAAC;IAED,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;IACxB,CAAC;CACF;AARD,oDAQC"}
|
|
@@ -9,8 +9,15 @@ export declare class CodeEditsContextBean extends Disposable {
|
|
|
9
9
|
constructor(raw: ICodeEditsContextBean, source: BaseCodeEditsSource);
|
|
10
10
|
get priority(): number;
|
|
11
11
|
get bean(): ICodeEditsContextBean;
|
|
12
|
+
get typing(): import("@opensumi/ide-core-browser").ECodeEditsSourceTyping;
|
|
12
13
|
get position(): import("@opensumi/ide-monaco").IPosition;
|
|
14
|
+
get data(): {
|
|
15
|
+
lint_errors?: import("./lint-error.source").ILinterErrorData;
|
|
16
|
+
line_change?: import("./line-change.source").ILineChangeData;
|
|
17
|
+
typing?: import("@opensumi/ide-monaco").IModelContentChangedEvent;
|
|
18
|
+
};
|
|
13
19
|
get token(): import("@opensumi/ide-monaco").CancellationToken;
|
|
20
|
+
joinData(data: ICodeEditsContextBean['data']): void;
|
|
14
21
|
reporterStart(): void;
|
|
15
22
|
cancelToken(): void;
|
|
16
23
|
reporterEnd(data: CodeEditsRT): void;
|
|
@@ -29,7 +36,7 @@ export declare abstract class BaseCodeEditsSource extends Disposable {
|
|
|
29
36
|
constructor(monacoEditor: ICodeEditor);
|
|
30
37
|
protected get model(): import("@opensumi/ide-monaco").ITextModel | null;
|
|
31
38
|
protected resetBean(): void;
|
|
32
|
-
protected setBean(bean: ICodeEditsContextBean): void;
|
|
39
|
+
protected setBean(bean: Omit<ICodeEditsContextBean, 'position'>): void;
|
|
33
40
|
reporterStart(): void;
|
|
34
41
|
reporterEnd(data: CodeEditsRT): void;
|
|
35
42
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../../src/browser/contrib/intelligent-completions/source/base.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAEL,WAAW,EACX,aAAa,EACb,UAAU,EAEV,WAAW,
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../../src/browser/contrib/intelligent-completions/source/base.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAEL,WAAW,EACX,aAAa,EACb,UAAU,EAEV,WAAW,EAEZ,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAA2B,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAU5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAEjD,qBAAa,oBAAqB,SAAQ,UAAU;IAGtC,OAAO,CAAC,QAAQ,CAAC,GAAG;IAAyB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAFhF,SAAgB,GAAG,SAAW;gBAED,GAAG,EAAE,qBAAqB,EAAmB,MAAM,EAAE,mBAAmB;IAIrG,IAAW,QAAQ,WAElB;IAED,IAAW,IAAI,0BAEd;IAED,IAAW,MAAM,gEAEhB;IAED,IAAW,QAAQ,6CAElB;IAED,IAAW,IAAI;;;;MAEd;IAED,IAAW,KAAK,qDAEf;IAEM,QAAQ,CAAC,IAAI,EAAE,qBAAqB,CAAC,MAAM,CAAC;IAI5C,aAAa;IAIb,WAAW;IAIX,WAAW,CAAC,IAAI,EAAE,WAAW;CAGrC;AAED,8BACsB,mBAAoB,SAAQ,UAAU;IAwBlC,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,WAAW;IAtBpE,OAAO,CAAC,UAAU,CAAc;IAGhC,SAAS,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAE/C,OAAO,CAAC,uBAAuB,CAAiC;IAChE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAwD;IAEnF,SAAgB,oBAAoB,qMAAgF;IACpH,SAAgB,QAAQ,EAAE,MAAM,CAAC;aACjB,KAAK,IAAI,WAAW;IACpC,IAAW,KAAK,qDAEf;IAEM,WAAW;gBAOyB,YAAY,EAAE,WAAW;IAIpE,SAAS,KAAK,KAAK,qDAElB;IAED,SAAS,CAAC,SAAS;IAOnB,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,qBAAqB,EAAE,UAAU,CAAC;IAOxD,aAAa;IAcb,WAAW,CAAC,IAAI,EAAE,WAAW;CAMrC;AAED,qBACa,yBAA0B,SAAQ,UAAU;IAOrD,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAN/B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;IAEpC,SAAgB,oBAAoB,qMAAgF;gBAGjG,kBAAkB,EAAE,aAAa,CAAC,mBAAmB,CAAC,EAAE,EACxD,YAAY,EAAE,WAAW;CAyD7C"}
|
|
@@ -20,12 +20,21 @@ class CodeEditsContextBean extends ide_core_common_1.Disposable {
|
|
|
20
20
|
get bean() {
|
|
21
21
|
return this.raw;
|
|
22
22
|
}
|
|
23
|
+
get typing() {
|
|
24
|
+
return this.raw.typing;
|
|
25
|
+
}
|
|
23
26
|
get position() {
|
|
24
27
|
return this.raw.position;
|
|
25
28
|
}
|
|
29
|
+
get data() {
|
|
30
|
+
return this.raw.data;
|
|
31
|
+
}
|
|
26
32
|
get token() {
|
|
27
33
|
return this.source.token;
|
|
28
34
|
}
|
|
35
|
+
joinData(data) {
|
|
36
|
+
this.raw.data = { ...this.data, ...data };
|
|
37
|
+
}
|
|
29
38
|
reporterStart() {
|
|
30
39
|
return this.source.reporterStart();
|
|
31
40
|
}
|
|
@@ -64,7 +73,7 @@ let BaseCodeEditsSource = class BaseCodeEditsSource extends ide_core_common_1.Di
|
|
|
64
73
|
}
|
|
65
74
|
setBean(bean) {
|
|
66
75
|
(0, observable_1.transaction)((tx) => {
|
|
67
|
-
const context = new CodeEditsContextBean(bean, this);
|
|
76
|
+
const context = new CodeEditsContextBean({ ...bean, position: this.monacoEditor.getPosition() }, this);
|
|
68
77
|
this.codeEditsContextBean.set(context, tx);
|
|
69
78
|
});
|
|
70
79
|
}
|
|
@@ -73,7 +82,7 @@ let BaseCodeEditsSource = class BaseCodeEditsSource extends ide_core_common_1.Di
|
|
|
73
82
|
if (context) {
|
|
74
83
|
const relationID = this.aiReporter.start(ide_core_common_1.AIServiceType.CodeEdits, {
|
|
75
84
|
type: ide_core_common_1.AIServiceType.CodeEdits,
|
|
76
|
-
actionSource: context === null || context === void 0 ? void 0 : context.
|
|
85
|
+
actionSource: context === null || context === void 0 ? void 0 : context.typing,
|
|
77
86
|
});
|
|
78
87
|
(0, observable_1.transaction)((tx) => {
|
|
79
88
|
this.relationID.set(relationID, tx);
|
|
@@ -127,10 +136,19 @@ let CodeEditsSourceCollection = class CodeEditsSourceCollection extends ide_core
|
|
|
127
136
|
let contextBean;
|
|
128
137
|
for (const source of lastSources) {
|
|
129
138
|
const value = source.codeEditsContextBean.get();
|
|
130
|
-
if (value
|
|
139
|
+
if (!value) {
|
|
140
|
+
return;
|
|
141
|
+
}
|
|
142
|
+
if (!contextBean) {
|
|
143
|
+
contextBean = value;
|
|
144
|
+
}
|
|
145
|
+
if (value.priority >= highestPriority) {
|
|
131
146
|
highestPriority = value.priority;
|
|
147
|
+
value.joinData(contextBean.data);
|
|
132
148
|
contextBean = value;
|
|
133
149
|
}
|
|
150
|
+
// 将多个 source 的 data 合并到一起
|
|
151
|
+
contextBean.joinData(value.data);
|
|
134
152
|
}
|
|
135
153
|
(0, observable_1.transaction)((tx) => {
|
|
136
154
|
// 只通知最高优先级的结果
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../../src/browser/contrib/intelligent-completions/source/base.ts"],"names":[],"mappings":";;;;AAAA,qCAAyF;AACzF,iEAA+D;AAC/D,+
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../../src/browser/contrib/intelligent-completions/source/base.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
import { IDisposable } from '@opensumi/ide-core-common';
|
|
2
|
-
import { IModelContentChangedEvent } from '@opensumi/ide-monaco';
|
|
3
2
|
import { BaseCodeEditsSource } from './base';
|
|
4
3
|
export interface ILineChangeData {
|
|
5
4
|
currentLineNumber: number;
|
|
6
5
|
preLineNumber?: number;
|
|
7
|
-
change?: IModelContentChangedEvent;
|
|
8
6
|
}
|
|
9
7
|
export declare class LineChangeCodeEditsSource extends BaseCodeEditsSource {
|
|
10
8
|
priority: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"line-change.source.d.ts","sourceRoot":"","sources":["../../../../../src/browser/contrib/intelligent-completions/source/line-change.source.ts"],"names":[],"mappings":"AACA,OAAO,EAAqD,WAAW,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"line-change.source.d.ts","sourceRoot":"","sources":["../../../../../src/browser/contrib/intelligent-completions/source/line-change.source.ts"],"names":[],"mappings":"AACA,OAAO,EAAqD,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAI3G,OAAO,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAE7C,MAAM,WAAW,eAAe;IAC9B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,qBACa,yBAA0B,SAAQ,mBAAmB;IACzD,QAAQ,SAAK;IAEb,KAAK,IAAI,WAAW;CAmC5B"}
|
|
@@ -9,41 +9,11 @@ const base_1 = require("./base");
|
|
|
9
9
|
let LineChangeCodeEditsSource = class LineChangeCodeEditsSource extends base_1.BaseCodeEditsSource {
|
|
10
10
|
constructor() {
|
|
11
11
|
super(...arguments);
|
|
12
|
-
this.priority =
|
|
12
|
+
this.priority = 1;
|
|
13
13
|
}
|
|
14
14
|
mount() {
|
|
15
|
-
const modelContentChangeObs = (0, observable_1.observableFromEvent)(this, this.monacoEditor.onDidChangeModelContent, (event) => event);
|
|
16
15
|
const positionChangeObs = (0, observable_1.observableFromEvent)(this, this.monacoEditor.onDidChangeCursorPosition, (event) => event);
|
|
17
|
-
const latestModelContentChangeObs = (0, observable_1.derivedHandleChanges)({
|
|
18
|
-
owner: this,
|
|
19
|
-
createEmptyChangeSummary: () => ({ change: undefined }),
|
|
20
|
-
handleChange: (ctx, changeSummary) => {
|
|
21
|
-
// 如果只是改了光标则设置 change 为空,避免获取到缓存的 change
|
|
22
|
-
if (ctx.didChange(positionChangeObs)) {
|
|
23
|
-
changeSummary.change = undefined;
|
|
24
|
-
}
|
|
25
|
-
else {
|
|
26
|
-
changeSummary.change = modelContentChangeObs.get();
|
|
27
|
-
}
|
|
28
|
-
return true;
|
|
29
|
-
},
|
|
30
|
-
}, (reader, changeSummary) => {
|
|
31
|
-
positionChangeObs.read(reader);
|
|
32
|
-
modelContentChangeObs.read(reader);
|
|
33
|
-
return changeSummary.change;
|
|
34
|
-
});
|
|
35
|
-
this.addDispose((0, observable_1.recomputeInitiallyAndOnChange)(latestModelContentChangeObs));
|
|
36
|
-
let lastModelContent;
|
|
37
|
-
this.addDispose(
|
|
38
|
-
/**
|
|
39
|
-
* 由于 monaco 的 changeModelContent 事件比 changeCursorPosition 事件先触发,所以这里需要拿上一次的值进行消费
|
|
40
|
-
* 否则永远返回 undefined
|
|
41
|
-
*/
|
|
42
|
-
(0, observable_1.autorunDelta)(latestModelContentChangeObs, ({ lastValue }) => {
|
|
43
|
-
lastModelContent = lastValue;
|
|
44
|
-
}));
|
|
45
16
|
this.addDispose((0, observable_1.autorunDelta)(positionChangeObs, ({ lastValue, newValue }) => {
|
|
46
|
-
const contentChange = lastModelContent;
|
|
47
17
|
const isLineChangeEnabled = this.preferenceService.getValid(ide_core_common_1.AINativeSettingSectionsId.CodeEditsLineChange, false);
|
|
48
18
|
if (!isLineChangeEnabled) {
|
|
49
19
|
return false;
|
|
@@ -53,16 +23,14 @@ let LineChangeCodeEditsSource = class LineChangeCodeEditsSource extends base_1.B
|
|
|
53
23
|
if (prePosition && prePosition.lineNumber !== (currentPosition === null || currentPosition === void 0 ? void 0 : currentPosition.lineNumber)) {
|
|
54
24
|
this.setBean({
|
|
55
25
|
typing: ide_core_common_1.ECodeEditsSourceTyping.LineChange,
|
|
56
|
-
position: currentPosition,
|
|
57
26
|
data: {
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
27
|
+
[ide_core_common_1.ECodeEditsSourceTyping.LineChange]: {
|
|
28
|
+
preLineNumber: prePosition.lineNumber,
|
|
29
|
+
currentLineNumber: currentPosition.lineNumber,
|
|
30
|
+
},
|
|
61
31
|
},
|
|
62
32
|
});
|
|
63
33
|
}
|
|
64
|
-
// 消费完之后设置为 undefined,避免下次获取到缓存的值
|
|
65
|
-
lastModelContent = undefined;
|
|
66
34
|
}));
|
|
67
35
|
return this;
|
|
68
36
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"line-change.source.js","sourceRoot":"","sources":["../../../../../src/browser/contrib/intelligent-completions/source/line-change.source.ts"],"names":[],"mappings":";;;;AAAA,qCAA0C;AAC1C,+DAA2G;AAE3G,
|
|
1
|
+
{"version":3,"file":"line-change.source.js","sourceRoot":"","sources":["../../../../../src/browser/contrib/intelligent-completions/source/line-change.source.ts"],"names":[],"mappings":";;;;AAAA,qCAA0C;AAC1C,+DAA2G;AAE3G,2EAA+F;AAE/F,iCAA6C;AAQtC,IAAM,yBAAyB,GAA/B,MAAM,yBAA0B,SAAQ,0BAAmB;IAA3D;;QACE,aAAQ,GAAG,CAAC,CAAC;IAqCtB,CAAC;IAnCQ,KAAK;QACV,MAAM,iBAAiB,GAAG,IAAA,gCAAmB,EAC3C,IAAI,EACJ,IAAI,CAAC,YAAY,CAAC,yBAAyB,EAC3C,CAAC,KAAkC,EAAE,EAAE,CAAC,KAAK,CAC9C,CAAC;QAEF,IAAI,CAAC,UAAU,CACb,IAAA,yBAAY,EAAC,iBAAiB,EAAE,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE;YAC1D,MAAM,mBAAmB,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CACzD,2CAAyB,CAAC,mBAAmB,EAC7C,KAAK,CACN,CAAC;YACF,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBACzB,OAAO,KAAK,CAAC;YACf,CAAC;YAED,MAAM,WAAW,GAAG,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ,CAAC;YACxC,MAAM,eAAe,GAAG,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,QAAQ,CAAC;YAC3C,IAAI,WAAW,IAAI,WAAW,CAAC,UAAU,MAAK,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,UAAU,CAAA,EAAE,CAAC;gBAC1E,IAAI,CAAC,OAAO,CAAC;oBACX,MAAM,EAAE,wCAAsB,CAAC,UAAU;oBACzC,IAAI,EAAE;wBACJ,CAAC,wCAAsB,CAAC,UAAU,CAAC,EAAE;4BACnC,aAAa,EAAE,WAAW,CAAC,UAAU;4BACrC,iBAAiB,EAAE,eAAe,CAAC,UAAU;yBAC9C;qBACF;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CACH,CAAC;QAEF,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAA;AAtCY,8DAAyB;oCAAzB,yBAAyB;IADrC,IAAA,eAAU,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;GAClB,yBAAyB,CAsCrC"}
|
|
@@ -4,7 +4,6 @@ import { URI } from '@opensumi/ide-monaco/lib/browser/monaco-api';
|
|
|
4
4
|
import { IRelatedInformation } from '@opensumi/monaco-editor-core/esm/vs/platform/markers/common/markers';
|
|
5
5
|
import { BaseCodeEditsSource } from './base';
|
|
6
6
|
export interface ILinterErrorData {
|
|
7
|
-
relativeWorkspacePath: string;
|
|
8
7
|
errors: Array<IMarkerErrorData>;
|
|
9
8
|
}
|
|
10
9
|
export interface IMarkerErrorData {
|
|
@@ -19,8 +18,7 @@ export interface IMarkerErrorData {
|
|
|
19
18
|
}
|
|
20
19
|
export declare class LintErrorCodeEditsSource extends BaseCodeEditsSource {
|
|
21
20
|
priority: number;
|
|
22
|
-
private readonly workspaceService;
|
|
23
21
|
mount(): IDisposable;
|
|
24
|
-
protected doTrigger(position: Position):
|
|
22
|
+
protected doTrigger(position: Position): void;
|
|
25
23
|
}
|
|
26
24
|
//# sourceMappingURL=lint-error.source.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lint-error.source.d.ts","sourceRoot":"","sources":["../../../../../src/browser/contrib/intelligent-completions/source/lint-error.source.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"lint-error.source.d.ts","sourceRoot":"","sources":["../../../../../src/browser/contrib/intelligent-completions/source/lint-error.source.ts"],"names":[],"mappings":"AACA,OAAO,EAAqD,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC3G,OAAO,EAA+B,SAAS,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACxF,OAAO,EAAE,GAAG,EAAE,MAAM,6CAA6C,CAAC;AAGlE,OAAO,EAGL,mBAAmB,EAEpB,MAAM,qEAAqE,CAAC;AAE7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAE7C,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE;QACL,aAAa,EAAE,SAAS,CAAC;QACzB,WAAW,EAAE,SAAS,CAAC;KACxB,CAAC;IACF,MAAM,EAAE,GAAG,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,kBAAkB,CAAC,EAAE,mBAAmB,EAAE,CAAC;CAC5C;AAuBD,qBACa,wBAAyB,SAAQ,mBAAmB;IACxD,QAAQ,SAAK;IAEb,KAAK,IAAI,WAAW;IA2B3B,SAAS,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ;CAwBvC"}
|
|
@@ -4,7 +4,7 @@ exports.LintErrorCodeEditsSource = void 0;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const di_1 = require("@opensumi/di");
|
|
6
6
|
const ide_core_common_1 = require("@opensumi/ide-core-common");
|
|
7
|
-
const
|
|
7
|
+
const observable_1 = require("@opensumi/ide-monaco/lib/common/observable");
|
|
8
8
|
const standaloneServices_1 = require("@opensumi/monaco-editor-core/esm/vs/editor/standalone/browser/standaloneServices");
|
|
9
9
|
const markers_1 = require("@opensumi/monaco-editor-core/esm/vs/platform/markers/common/markers");
|
|
10
10
|
const base_1 = require("./base");
|
|
@@ -33,28 +33,26 @@ var MarkerErrorData;
|
|
|
33
33
|
let LintErrorCodeEditsSource = class LintErrorCodeEditsSource extends base_1.BaseCodeEditsSource {
|
|
34
34
|
constructor() {
|
|
35
35
|
super(...arguments);
|
|
36
|
-
this.priority =
|
|
36
|
+
this.priority = 0;
|
|
37
37
|
}
|
|
38
38
|
mount() {
|
|
39
|
-
|
|
40
|
-
this.addDispose(
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
const currentPosition = event.position;
|
|
39
|
+
const positionChangeObs = (0, observable_1.observableFromEvent)(this, this.monacoEditor.onDidChangeCursorPosition, (event) => event);
|
|
40
|
+
this.addDispose((0, observable_1.autorunDelta)(positionChangeObs, ({ lastValue, newValue }) => {
|
|
41
|
+
const prePosition = lastValue === null || lastValue === void 0 ? void 0 : lastValue.position;
|
|
42
|
+
const currentPosition = newValue === null || newValue === void 0 ? void 0 : newValue.position;
|
|
44
43
|
// 如果是 selection 则不触发
|
|
45
44
|
const selection = this.monacoEditor.getSelection();
|
|
46
45
|
if (!(selection === null || selection === void 0 ? void 0 : selection.isEmpty())) {
|
|
47
46
|
return;
|
|
48
47
|
}
|
|
49
|
-
|
|
50
|
-
|
|
48
|
+
// 仅在光标的行号发生变化时,才触发
|
|
49
|
+
if (prePosition && prePosition.lineNumber !== (currentPosition === null || currentPosition === void 0 ? void 0 : currentPosition.lineNumber)) {
|
|
50
|
+
this.doTrigger(currentPosition);
|
|
51
51
|
}
|
|
52
|
-
prePosition = currentPosition;
|
|
53
52
|
}));
|
|
54
53
|
return this;
|
|
55
54
|
}
|
|
56
|
-
|
|
57
|
-
var _a;
|
|
55
|
+
doTrigger(position) {
|
|
58
56
|
const isLintErrorsEnabled = this.preferenceService.getValid(ide_core_common_1.AINativeSettingSectionsId.CodeEditsLintErrors, false);
|
|
59
57
|
if (!isLintErrorsEnabled || !this.model) {
|
|
60
58
|
return;
|
|
@@ -64,23 +62,18 @@ let LintErrorCodeEditsSource = class LintErrorCodeEditsSource extends base_1.Bas
|
|
|
64
62
|
let markers = markerService.read({ resource, severities: markers_1.MarkerSeverity.Error });
|
|
65
63
|
markers = markers.filter((marker) => Math.abs(marker.startLineNumber - position.lineNumber) <= 1);
|
|
66
64
|
if (markers.length) {
|
|
67
|
-
const relativeWorkspacePath = await this.workspaceService.asRelativePath(resource.path);
|
|
68
65
|
this.setBean({
|
|
69
66
|
typing: ide_core_common_1.ECodeEditsSourceTyping.LinterErrors,
|
|
70
|
-
position,
|
|
71
67
|
data: {
|
|
72
|
-
|
|
73
|
-
|
|
68
|
+
[ide_core_common_1.ECodeEditsSourceTyping.LinterErrors]: {
|
|
69
|
+
errors: markers.map((marker) => MarkerErrorData.toData(marker)),
|
|
70
|
+
},
|
|
74
71
|
},
|
|
75
72
|
});
|
|
76
73
|
}
|
|
77
74
|
}
|
|
78
75
|
};
|
|
79
76
|
exports.LintErrorCodeEditsSource = LintErrorCodeEditsSource;
|
|
80
|
-
tslib_1.__decorate([
|
|
81
|
-
(0, di_1.Autowired)(ide_workspace_1.IWorkspaceService),
|
|
82
|
-
tslib_1.__metadata("design:type", Object)
|
|
83
|
-
], LintErrorCodeEditsSource.prototype, "workspaceService", void 0);
|
|
84
77
|
exports.LintErrorCodeEditsSource = LintErrorCodeEditsSource = tslib_1.__decorate([
|
|
85
78
|
(0, di_1.Injectable)({ multiple: true })
|
|
86
79
|
], LintErrorCodeEditsSource);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lint-error.source.js","sourceRoot":"","sources":["../../../../../src/browser/contrib/intelligent-completions/source/lint-error.source.ts"],"names":[],"mappings":";;;;AAAA,
|
|
1
|
+
{"version":3,"file":"lint-error.source.js","sourceRoot":"","sources":["../../../../../src/browser/contrib/intelligent-completions/source/lint-error.source.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { IDisposable } from '@opensumi/ide-core-common';
|
|
2
|
-
import { IModelContentChangedEvent
|
|
2
|
+
import { IModelContentChangedEvent } from '@opensumi/ide-monaco';
|
|
3
3
|
import { BaseCodeEditsSource } from './base';
|
|
4
4
|
export declare class TypingCodeEditsSource extends BaseCodeEditsSource {
|
|
5
5
|
priority: number;
|
|
6
6
|
mount(): IDisposable;
|
|
7
|
-
protected doTrigger(
|
|
7
|
+
protected doTrigger(data: IModelContentChangedEvent): Promise<void>;
|
|
8
8
|
}
|
|
9
9
|
//# sourceMappingURL=typing.source.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typing.source.d.ts","sourceRoot":"","sources":["../../../../../src/browser/contrib/intelligent-completions/source/typing.source.ts"],"names":[],"mappings":"AACA,OAAO,EAAqD,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC3G,OAAO,EAAE,yBAAyB,EAAE,
|
|
1
|
+
{"version":3,"file":"typing.source.d.ts","sourceRoot":"","sources":["../../../../../src/browser/contrib/intelligent-completions/source/typing.source.ts"],"names":[],"mappings":"AACA,OAAO,EAAqD,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC3G,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAE7C,qBACa,qBAAsB,SAAQ,mBAAmB;IACrD,QAAQ,SAAK;IAEb,KAAK,IAAI,WAAW;cASX,SAAS,CAAC,IAAI,EAAE,yBAAyB;CAc1D"}
|
|
@@ -8,26 +8,24 @@ const base_1 = require("./base");
|
|
|
8
8
|
let TypingCodeEditsSource = class TypingCodeEditsSource extends base_1.BaseCodeEditsSource {
|
|
9
9
|
constructor() {
|
|
10
10
|
super(...arguments);
|
|
11
|
-
this.priority =
|
|
11
|
+
this.priority = 2;
|
|
12
12
|
}
|
|
13
13
|
mount() {
|
|
14
14
|
this.addDispose(this.monacoEditor.onDidChangeModelContent((event) => {
|
|
15
|
-
|
|
16
|
-
if (position) {
|
|
17
|
-
this.doTrigger(position, event);
|
|
18
|
-
}
|
|
15
|
+
this.doTrigger(event);
|
|
19
16
|
}));
|
|
20
17
|
return this;
|
|
21
18
|
}
|
|
22
|
-
async doTrigger(
|
|
19
|
+
async doTrigger(data) {
|
|
23
20
|
const isTypingEnabled = this.preferenceService.getValid(ide_core_common_1.AINativeSettingSectionsId.CodeEditsTyping, false);
|
|
24
21
|
if (!isTypingEnabled || !this.model) {
|
|
25
22
|
return;
|
|
26
23
|
}
|
|
27
24
|
this.setBean({
|
|
28
25
|
typing: ide_core_common_1.ECodeEditsSourceTyping.Typing,
|
|
29
|
-
|
|
30
|
-
|
|
26
|
+
data: {
|
|
27
|
+
[ide_core_common_1.ECodeEditsSourceTyping.Typing]: data,
|
|
28
|
+
},
|
|
31
29
|
});
|
|
32
30
|
}
|
|
33
31
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typing.source.js","sourceRoot":"","sources":["../../../../../src/browser/contrib/intelligent-completions/source/typing.source.ts"],"names":[],"mappings":";;;;AAAA,qCAA0C;AAC1C,+DAA2G;AAG3G,iCAA6C;AAGtC,IAAM,qBAAqB,GAA3B,MAAM,qBAAsB,SAAQ,0BAAmB;IAAvD;;QACE,aAAQ,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"typing.source.js","sourceRoot":"","sources":["../../../../../src/browser/contrib/intelligent-completions/source/typing.source.ts"],"names":[],"mappings":";;;;AAAA,qCAA0C;AAC1C,+DAA2G;AAG3G,iCAA6C;AAGtC,IAAM,qBAAqB,GAA3B,MAAM,qBAAsB,SAAQ,0BAAmB;IAAvD;;QACE,aAAQ,GAAG,CAAC,CAAC;IAyBtB,CAAC;IAvBQ,KAAK;QACV,IAAI,CAAC,UAAU,CACb,IAAI,CAAC,YAAY,CAAC,uBAAuB,CAAC,CAAC,KAAgC,EAAE,EAAE;YAC7E,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC,CAAC,CACH,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAES,KAAK,CAAC,SAAS,CAAC,IAA+B;QACvD,MAAM,eAAe,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,2CAAyB,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;QAE1G,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACpC,OAAO;QACT,CAAC;QAED,IAAI,CAAC,OAAO,CAAC;YACX,MAAM,EAAE,wCAAsB,CAAC,MAAM;YACrC,IAAI,EAAE;gBACJ,CAAC,wCAAsB,CAAC,MAAM,CAAC,EAAE,IAAI;aACtC;SACF,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AA1BY,sDAAqB;gCAArB,qBAAqB;IADjC,IAAA,eAAU,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;GAClB,qBAAqB,CA0BjC"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.AITerminalPrompt = exports.KeyboardSelectableList = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
const
|
|
5
|
+
const debounce_1 = tslib_1.__importDefault(require("lodash/debounce"));
|
|
6
6
|
const react_1 = tslib_1.__importStar(require("react"));
|
|
7
7
|
const ide_core_browser_1 = require("@opensumi/ide-core-browser");
|
|
8
8
|
const components_1 = require("@opensumi/ide-core-browser/lib/components");
|
|
@@ -92,7 +92,7 @@ const AITerminalPrompt = (props) => {
|
|
|
92
92
|
setSuggestions([...suggestions].reverse());
|
|
93
93
|
});
|
|
94
94
|
}, [suggestions]);
|
|
95
|
-
const debouncedSearch = (0, react_1.useCallback)((0,
|
|
95
|
+
const debouncedSearch = (0, react_1.useCallback)((0, debounce_1.default)((desc) => {
|
|
96
96
|
searchAICommands(desc);
|
|
97
97
|
}, 1000), []); // 延迟 1 秒
|
|
98
98
|
// ESC 事件监听
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal-command-suggest-controller.js","sourceRoot":"","sources":["../../../../../src/browser/contrib/terminal/component/terminal-command-suggest-controller.tsx"],"names":[],"mappings":";;;;AAAA,
|
|
1
|
+
{"version":3,"file":"terminal-command-suggest-controller.js","sourceRoot":"","sources":["../../../../../src/browser/contrib/terminal/component/terminal-command-suggest-controller.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opensumi/ide-ai-native",
|
|
3
|
-
"version": "3.7.1-next-
|
|
3
|
+
"version": "3.7.1-next-1739521933.0",
|
|
4
4
|
"files": [
|
|
5
5
|
"lib",
|
|
6
6
|
"src"
|
|
@@ -19,24 +19,24 @@
|
|
|
19
19
|
"url": "git@github.com:opensumi/core.git"
|
|
20
20
|
},
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"@opensumi/ide-components": "3.7.1-next-
|
|
23
|
-
"@opensumi/ide-core-common": "3.7.1-next-
|
|
24
|
-
"@opensumi/ide-core-node": "3.7.1-next-
|
|
25
|
-
"@opensumi/ide-debug": "3.7.1-next-
|
|
26
|
-
"@opensumi/ide-design": "3.7.1-next-
|
|
27
|
-
"@opensumi/ide-editor": "3.7.1-next-
|
|
28
|
-
"@opensumi/ide-file-service": "3.7.1-next-
|
|
29
|
-
"@opensumi/ide-file-tree-next": "3.7.1-next-
|
|
30
|
-
"@opensumi/ide-main-layout": "3.7.1-next-
|
|
31
|
-
"@opensumi/ide-markers": "3.7.1-next-
|
|
32
|
-
"@opensumi/ide-menu-bar": "3.7.1-next-
|
|
33
|
-
"@opensumi/ide-monaco": "3.7.1-next-
|
|
34
|
-
"@opensumi/ide-overlay": "3.7.1-next-
|
|
35
|
-
"@opensumi/ide-preferences": "3.7.1-next-
|
|
36
|
-
"@opensumi/ide-terminal-next": "3.7.1-next-
|
|
37
|
-
"@opensumi/ide-theme": "3.7.1-next-
|
|
38
|
-
"@opensumi/ide-utils": "3.7.1-next-
|
|
39
|
-
"@opensumi/ide-workspace": "3.7.1-next-
|
|
22
|
+
"@opensumi/ide-components": "3.7.1-next-1739521933.0",
|
|
23
|
+
"@opensumi/ide-core-common": "3.7.1-next-1739521933.0",
|
|
24
|
+
"@opensumi/ide-core-node": "3.7.1-next-1739521933.0",
|
|
25
|
+
"@opensumi/ide-debug": "3.7.1-next-1739521933.0",
|
|
26
|
+
"@opensumi/ide-design": "3.7.1-next-1739521933.0",
|
|
27
|
+
"@opensumi/ide-editor": "3.7.1-next-1739521933.0",
|
|
28
|
+
"@opensumi/ide-file-service": "3.7.1-next-1739521933.0",
|
|
29
|
+
"@opensumi/ide-file-tree-next": "3.7.1-next-1739521933.0",
|
|
30
|
+
"@opensumi/ide-main-layout": "3.7.1-next-1739521933.0",
|
|
31
|
+
"@opensumi/ide-markers": "3.7.1-next-1739521933.0",
|
|
32
|
+
"@opensumi/ide-menu-bar": "3.7.1-next-1739521933.0",
|
|
33
|
+
"@opensumi/ide-monaco": "3.7.1-next-1739521933.0",
|
|
34
|
+
"@opensumi/ide-overlay": "3.7.1-next-1739521933.0",
|
|
35
|
+
"@opensumi/ide-preferences": "3.7.1-next-1739521933.0",
|
|
36
|
+
"@opensumi/ide-terminal-next": "3.7.1-next-1739521933.0",
|
|
37
|
+
"@opensumi/ide-theme": "3.7.1-next-1739521933.0",
|
|
38
|
+
"@opensumi/ide-utils": "3.7.1-next-1739521933.0",
|
|
39
|
+
"@opensumi/ide-workspace": "3.7.1-next-1739521933.0",
|
|
40
40
|
"@xterm/xterm": "5.5.0",
|
|
41
41
|
"ansi-regex": "^2.0.0",
|
|
42
42
|
"dom-align": "^1.7.0",
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
"web-tree-sitter": "0.22.6"
|
|
47
47
|
},
|
|
48
48
|
"devDependencies": {
|
|
49
|
-
"@opensumi/ide-core-browser": "3.7.1-next-
|
|
49
|
+
"@opensumi/ide-core-browser": "3.7.1-next-1739521933.0"
|
|
50
50
|
},
|
|
51
|
-
"gitHead": "
|
|
51
|
+
"gitHead": "05e473d447ad4f49d0e3c1560faaeaf4ff12455c"
|
|
52
52
|
}
|
|
@@ -12,10 +12,15 @@ export interface IIntelligentCompletionsResult<T = any> {
|
|
|
12
12
|
extra?: T;
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
-
export
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
15
|
+
export interface ICodeEditsContextBean {
|
|
16
|
+
typing: ECodeEditsSourceTyping;
|
|
17
|
+
position: IPosition;
|
|
18
|
+
data: {
|
|
19
|
+
[ECodeEditsSourceTyping.LinterErrors]?: ILinterErrorData;
|
|
20
|
+
[ECodeEditsSourceTyping.LineChange]?: ILineChangeData;
|
|
21
|
+
[ECodeEditsSourceTyping.Typing]?: IModelContentChangedEvent;
|
|
22
|
+
};
|
|
23
|
+
}
|
|
19
24
|
|
|
20
25
|
export interface ICodeEdit {
|
|
21
26
|
/**
|
|
@@ -7,7 +7,6 @@ import {
|
|
|
7
7
|
Disposable,
|
|
8
8
|
IAIReporter,
|
|
9
9
|
IDisposable,
|
|
10
|
-
MaybePromise,
|
|
11
10
|
uuid,
|
|
12
11
|
} from '@opensumi/ide-core-common';
|
|
13
12
|
import { CancellationTokenSource, ICodeEditor } from '@opensumi/ide-monaco';
|
|
@@ -37,14 +36,26 @@ export class CodeEditsContextBean extends Disposable {
|
|
|
37
36
|
return this.raw;
|
|
38
37
|
}
|
|
39
38
|
|
|
39
|
+
public get typing() {
|
|
40
|
+
return this.raw.typing;
|
|
41
|
+
}
|
|
42
|
+
|
|
40
43
|
public get position() {
|
|
41
44
|
return this.raw.position;
|
|
42
45
|
}
|
|
43
46
|
|
|
47
|
+
public get data() {
|
|
48
|
+
return this.raw.data;
|
|
49
|
+
}
|
|
50
|
+
|
|
44
51
|
public get token() {
|
|
45
52
|
return this.source.token;
|
|
46
53
|
}
|
|
47
54
|
|
|
55
|
+
public joinData(data: ICodeEditsContextBean['data']) {
|
|
56
|
+
this.raw.data = { ...this.data, ...data };
|
|
57
|
+
}
|
|
58
|
+
|
|
48
59
|
public reporterStart() {
|
|
49
60
|
return this.source.reporterStart();
|
|
50
61
|
}
|
|
@@ -98,9 +109,9 @@ export abstract class BaseCodeEditsSource extends Disposable {
|
|
|
98
109
|
});
|
|
99
110
|
}
|
|
100
111
|
|
|
101
|
-
protected setBean(bean: ICodeEditsContextBean) {
|
|
112
|
+
protected setBean(bean: Omit<ICodeEditsContextBean, 'position'>) {
|
|
102
113
|
transaction((tx) => {
|
|
103
|
-
const context = new CodeEditsContextBean(bean, this);
|
|
114
|
+
const context = new CodeEditsContextBean({ ...bean, position: this.monacoEditor.getPosition()! }, this);
|
|
104
115
|
this.codeEditsContextBean.set(context, tx);
|
|
105
116
|
});
|
|
106
117
|
}
|
|
@@ -110,7 +121,7 @@ export abstract class BaseCodeEditsSource extends Disposable {
|
|
|
110
121
|
if (context) {
|
|
111
122
|
const relationID = this.aiReporter.start(AIServiceType.CodeEdits, {
|
|
112
123
|
type: AIServiceType.CodeEdits,
|
|
113
|
-
actionSource: context?.
|
|
124
|
+
actionSource: context?.typing,
|
|
114
125
|
});
|
|
115
126
|
|
|
116
127
|
transaction((tx) => {
|
|
@@ -166,11 +177,23 @@ export class CodeEditsSourceCollection extends Disposable {
|
|
|
166
177
|
|
|
167
178
|
for (const source of lastSources) {
|
|
168
179
|
const value = source.codeEditsContextBean.get();
|
|
180
|
+
if (!value) {
|
|
181
|
+
return;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
if (!contextBean) {
|
|
185
|
+
contextBean = value;
|
|
186
|
+
}
|
|
169
187
|
|
|
170
|
-
if (value
|
|
188
|
+
if (value.priority >= highestPriority) {
|
|
171
189
|
highestPriority = value.priority;
|
|
190
|
+
|
|
191
|
+
value.joinData(contextBean.data);
|
|
172
192
|
contextBean = value;
|
|
173
193
|
}
|
|
194
|
+
|
|
195
|
+
// 将多个 source 的 data 合并到一起
|
|
196
|
+
contextBean.joinData(value.data);
|
|
174
197
|
}
|
|
175
198
|
|
|
176
199
|
transaction((tx) => {
|
|
@@ -1,75 +1,28 @@
|
|
|
1
1
|
import { Injectable } from '@opensumi/di';
|
|
2
2
|
import { AINativeSettingSectionsId, ECodeEditsSourceTyping, IDisposable } from '@opensumi/ide-core-common';
|
|
3
|
-
import { ICursorPositionChangedEvent
|
|
4
|
-
import {
|
|
5
|
-
autorunDelta,
|
|
6
|
-
derivedHandleChanges,
|
|
7
|
-
observableFromEvent,
|
|
8
|
-
recomputeInitiallyAndOnChange,
|
|
9
|
-
} from '@opensumi/ide-monaco/lib/common/observable';
|
|
3
|
+
import { ICursorPositionChangedEvent } from '@opensumi/ide-monaco';
|
|
4
|
+
import { autorunDelta, observableFromEvent } from '@opensumi/ide-monaco/lib/common/observable';
|
|
10
5
|
|
|
11
6
|
import { BaseCodeEditsSource } from './base';
|
|
12
7
|
|
|
13
8
|
export interface ILineChangeData {
|
|
14
9
|
currentLineNumber: number;
|
|
15
10
|
preLineNumber?: number;
|
|
16
|
-
change?: IModelContentChangedEvent;
|
|
17
11
|
}
|
|
18
12
|
|
|
19
13
|
@Injectable({ multiple: true })
|
|
20
14
|
export class LineChangeCodeEditsSource extends BaseCodeEditsSource {
|
|
21
|
-
public priority =
|
|
15
|
+
public priority = 1;
|
|
22
16
|
|
|
23
17
|
public mount(): IDisposable {
|
|
24
|
-
const modelContentChangeObs = observableFromEvent<IModelContentChangedEvent>(
|
|
25
|
-
this,
|
|
26
|
-
this.monacoEditor.onDidChangeModelContent,
|
|
27
|
-
(event: IModelContentChangedEvent) => event,
|
|
28
|
-
);
|
|
29
18
|
const positionChangeObs = observableFromEvent<ICursorPositionChangedEvent>(
|
|
30
19
|
this,
|
|
31
20
|
this.monacoEditor.onDidChangeCursorPosition,
|
|
32
21
|
(event: ICursorPositionChangedEvent) => event,
|
|
33
22
|
);
|
|
34
23
|
|
|
35
|
-
const latestModelContentChangeObs = derivedHandleChanges(
|
|
36
|
-
{
|
|
37
|
-
owner: this,
|
|
38
|
-
createEmptyChangeSummary: () => ({ change: undefined }),
|
|
39
|
-
handleChange: (ctx, changeSummary: { change: IModelContentChangedEvent | undefined }) => {
|
|
40
|
-
// 如果只是改了光标则设置 change 为空,避免获取到缓存的 change
|
|
41
|
-
if (ctx.didChange(positionChangeObs)) {
|
|
42
|
-
changeSummary.change = undefined;
|
|
43
|
-
} else {
|
|
44
|
-
changeSummary.change = modelContentChangeObs.get();
|
|
45
|
-
}
|
|
46
|
-
return true;
|
|
47
|
-
},
|
|
48
|
-
},
|
|
49
|
-
(reader, changeSummary) => {
|
|
50
|
-
positionChangeObs.read(reader);
|
|
51
|
-
modelContentChangeObs.read(reader);
|
|
52
|
-
return changeSummary.change;
|
|
53
|
-
},
|
|
54
|
-
);
|
|
55
|
-
|
|
56
|
-
this.addDispose(recomputeInitiallyAndOnChange(latestModelContentChangeObs));
|
|
57
|
-
|
|
58
|
-
let lastModelContent: IModelContentChangedEvent | undefined;
|
|
59
|
-
this.addDispose(
|
|
60
|
-
/**
|
|
61
|
-
* 由于 monaco 的 changeModelContent 事件比 changeCursorPosition 事件先触发,所以这里需要拿上一次的值进行消费
|
|
62
|
-
* 否则永远返回 undefined
|
|
63
|
-
*/
|
|
64
|
-
autorunDelta(latestModelContentChangeObs, ({ lastValue }) => {
|
|
65
|
-
lastModelContent = lastValue;
|
|
66
|
-
}),
|
|
67
|
-
);
|
|
68
|
-
|
|
69
24
|
this.addDispose(
|
|
70
25
|
autorunDelta(positionChangeObs, ({ lastValue, newValue }) => {
|
|
71
|
-
const contentChange = lastModelContent;
|
|
72
|
-
|
|
73
26
|
const isLineChangeEnabled = this.preferenceService.getValid(
|
|
74
27
|
AINativeSettingSectionsId.CodeEditsLineChange,
|
|
75
28
|
false,
|
|
@@ -83,17 +36,14 @@ export class LineChangeCodeEditsSource extends BaseCodeEditsSource {
|
|
|
83
36
|
if (prePosition && prePosition.lineNumber !== currentPosition?.lineNumber) {
|
|
84
37
|
this.setBean({
|
|
85
38
|
typing: ECodeEditsSourceTyping.LineChange,
|
|
86
|
-
position: currentPosition,
|
|
87
39
|
data: {
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
40
|
+
[ECodeEditsSourceTyping.LineChange]: {
|
|
41
|
+
preLineNumber: prePosition.lineNumber,
|
|
42
|
+
currentLineNumber: currentPosition.lineNumber,
|
|
43
|
+
},
|
|
91
44
|
},
|
|
92
45
|
});
|
|
93
46
|
}
|
|
94
|
-
|
|
95
|
-
// 消费完之后设置为 undefined,避免下次获取到缓存的值
|
|
96
|
-
lastModelContent = undefined;
|
|
97
47
|
}),
|
|
98
48
|
);
|
|
99
49
|
|
|
@@ -1,14 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
AINativeSettingSectionsId,
|
|
4
|
-
ECodeEditsSourceTyping,
|
|
5
|
-
Event,
|
|
6
|
-
FRAME_THREE,
|
|
7
|
-
IDisposable,
|
|
8
|
-
} from '@opensumi/ide-core-common';
|
|
1
|
+
import { Injectable } from '@opensumi/di';
|
|
2
|
+
import { AINativeSettingSectionsId, ECodeEditsSourceTyping, IDisposable } from '@opensumi/ide-core-common';
|
|
9
3
|
import { ICursorPositionChangedEvent, IPosition, Position } from '@opensumi/ide-monaco';
|
|
10
4
|
import { URI } from '@opensumi/ide-monaco/lib/browser/monaco-api';
|
|
11
|
-
import {
|
|
5
|
+
import { autorunDelta, observableFromEvent } from '@opensumi/ide-monaco/lib/common/observable';
|
|
12
6
|
import { StandaloneServices } from '@opensumi/monaco-editor-core/esm/vs/editor/standalone/browser/standaloneServices';
|
|
13
7
|
import {
|
|
14
8
|
IMarker,
|
|
@@ -20,7 +14,6 @@ import {
|
|
|
20
14
|
import { BaseCodeEditsSource } from './base';
|
|
21
15
|
|
|
22
16
|
export interface ILinterErrorData {
|
|
23
|
-
relativeWorkspacePath: string;
|
|
24
17
|
errors: Array<IMarkerErrorData>;
|
|
25
18
|
}
|
|
26
19
|
|
|
@@ -58,22 +51,19 @@ namespace MarkerErrorData {
|
|
|
58
51
|
|
|
59
52
|
@Injectable({ multiple: true })
|
|
60
53
|
export class LintErrorCodeEditsSource extends BaseCodeEditsSource {
|
|
61
|
-
public priority =
|
|
62
|
-
|
|
63
|
-
@Autowired(IWorkspaceService)
|
|
64
|
-
private readonly workspaceService: IWorkspaceService;
|
|
54
|
+
public priority = 0;
|
|
65
55
|
|
|
66
56
|
public mount(): IDisposable {
|
|
67
|
-
|
|
57
|
+
const positionChangeObs = observableFromEvent<ICursorPositionChangedEvent>(
|
|
58
|
+
this,
|
|
59
|
+
this.monacoEditor.onDidChangeCursorPosition,
|
|
60
|
+
(event: ICursorPositionChangedEvent) => event,
|
|
61
|
+
);
|
|
68
62
|
|
|
69
63
|
this.addDispose(
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
(_, e) => e,
|
|
74
|
-
FRAME_THREE,
|
|
75
|
-
)(async (event: ICursorPositionChangedEvent) => {
|
|
76
|
-
const currentPosition = event.position;
|
|
64
|
+
autorunDelta(positionChangeObs, ({ lastValue, newValue }) => {
|
|
65
|
+
const prePosition = lastValue?.position;
|
|
66
|
+
const currentPosition = newValue?.position;
|
|
77
67
|
|
|
78
68
|
// 如果是 selection 则不触发
|
|
79
69
|
const selection = this.monacoEditor.getSelection();
|
|
@@ -81,16 +71,16 @@ export class LintErrorCodeEditsSource extends BaseCodeEditsSource {
|
|
|
81
71
|
return;
|
|
82
72
|
}
|
|
83
73
|
|
|
84
|
-
|
|
85
|
-
|
|
74
|
+
// 仅在光标的行号发生变化时,才触发
|
|
75
|
+
if (prePosition && prePosition.lineNumber !== currentPosition?.lineNumber) {
|
|
76
|
+
this.doTrigger(currentPosition);
|
|
86
77
|
}
|
|
87
|
-
prePosition = currentPosition;
|
|
88
78
|
}),
|
|
89
79
|
);
|
|
90
80
|
return this;
|
|
91
81
|
}
|
|
92
82
|
|
|
93
|
-
protected
|
|
83
|
+
protected doTrigger(position: Position) {
|
|
94
84
|
const isLintErrorsEnabled = this.preferenceService.getValid(AINativeSettingSectionsId.CodeEditsLintErrors, false);
|
|
95
85
|
|
|
96
86
|
if (!isLintErrorsEnabled || !this.model) {
|
|
@@ -104,14 +94,12 @@ export class LintErrorCodeEditsSource extends BaseCodeEditsSource {
|
|
|
104
94
|
markers = markers.filter((marker) => Math.abs(marker.startLineNumber - position.lineNumber) <= 1);
|
|
105
95
|
|
|
106
96
|
if (markers.length) {
|
|
107
|
-
const relativeWorkspacePath = await this.workspaceService.asRelativePath(resource.path);
|
|
108
|
-
|
|
109
97
|
this.setBean({
|
|
110
98
|
typing: ECodeEditsSourceTyping.LinterErrors,
|
|
111
|
-
position,
|
|
112
99
|
data: {
|
|
113
|
-
|
|
114
|
-
|
|
100
|
+
[ECodeEditsSourceTyping.LinterErrors]: {
|
|
101
|
+
errors: markers.map((marker) => MarkerErrorData.toData(marker)),
|
|
102
|
+
},
|
|
115
103
|
},
|
|
116
104
|
});
|
|
117
105
|
}
|
|
@@ -1,26 +1,23 @@
|
|
|
1
1
|
import { Injectable } from '@opensumi/di';
|
|
2
2
|
import { AINativeSettingSectionsId, ECodeEditsSourceTyping, IDisposable } from '@opensumi/ide-core-common';
|
|
3
|
-
import { IModelContentChangedEvent
|
|
3
|
+
import { IModelContentChangedEvent } from '@opensumi/ide-monaco';
|
|
4
4
|
|
|
5
5
|
import { BaseCodeEditsSource } from './base';
|
|
6
6
|
|
|
7
7
|
@Injectable({ multiple: true })
|
|
8
8
|
export class TypingCodeEditsSource extends BaseCodeEditsSource {
|
|
9
|
-
public priority =
|
|
9
|
+
public priority = 2;
|
|
10
10
|
|
|
11
11
|
public mount(): IDisposable {
|
|
12
12
|
this.addDispose(
|
|
13
13
|
this.monacoEditor.onDidChangeModelContent((event: IModelContentChangedEvent) => {
|
|
14
|
-
|
|
15
|
-
if (position) {
|
|
16
|
-
this.doTrigger(position, event);
|
|
17
|
-
}
|
|
14
|
+
this.doTrigger(event);
|
|
18
15
|
}),
|
|
19
16
|
);
|
|
20
17
|
return this;
|
|
21
18
|
}
|
|
22
19
|
|
|
23
|
-
protected async doTrigger(
|
|
20
|
+
protected async doTrigger(data: IModelContentChangedEvent) {
|
|
24
21
|
const isTypingEnabled = this.preferenceService.getValid(AINativeSettingSectionsId.CodeEditsTyping, false);
|
|
25
22
|
|
|
26
23
|
if (!isTypingEnabled || !this.model) {
|
|
@@ -29,8 +26,9 @@ export class TypingCodeEditsSource extends BaseCodeEditsSource {
|
|
|
29
26
|
|
|
30
27
|
this.setBean({
|
|
31
28
|
typing: ECodeEditsSourceTyping.Typing,
|
|
32
|
-
|
|
33
|
-
|
|
29
|
+
data: {
|
|
30
|
+
[ECodeEditsSourceTyping.Typing]: data,
|
|
31
|
+
},
|
|
34
32
|
});
|
|
35
33
|
}
|
|
36
34
|
}
|