This commit is contained in:
xiaoxiyao 2025-12-20 08:33:52 +01:00 committed by GitHub
commit 4f64ffba4f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 53 additions and 20 deletions

View file

@ -459,7 +459,7 @@ export class SuggestAdapter extends Adapter implements languages.CompletionItemP
return; return;
} }
const info = await worker.getCompletionsAtPosition(resource.toString(), offset); const info = await worker.getCompletionsAtPosition(resource.toString(), offset, undefined);
if (!info || model.isDisposed()) { if (!info || model.isDisposed()) {
return; return;
@ -509,7 +509,11 @@ export class SuggestAdapter extends Adapter implements languages.CompletionItemP
const details = await worker.getCompletionEntryDetails( const details = await worker.getCompletionEntryDetails(
resource.toString(), resource.toString(),
offset, offset,
myItem.label myItem.label,
undefined,
undefined,
undefined,
undefined
); );
if (!details) { if (!details) {
return myItem; return myItem;
@ -1099,7 +1103,8 @@ export class CodeActionAdaptor extends FormatHelper implements languages.CodeAct
start, start,
end, end,
errorCodes, errorCodes,
formatOptions formatOptions,
{}
); );
if (!codeFixes || model.isDisposed()) { if (!codeFixes || model.isDisposed()) {

View file

@ -415,22 +415,37 @@ export interface TypeScriptWorker {
/** /**
* Get code completions for the given file and position. * Get code completions for the given file and position.
* @param options `typescript.GetCompletionsAtPositionOptions | undefined`
* @param formattingSettings `typescript.FormatCodeSettings`
* @returns `Promise<typescript.CompletionInfo | undefined>` * @returns `Promise<typescript.CompletionInfo | undefined>`
*/ */
getCompletionsAtPosition(fileName: string, position: number): Promise<any | undefined>; getCompletionsAtPosition(
fileName: string,
position: number,
options: any,
formattingSettings?: any
): Promise<any | undefined>;
/** /**
* Get code completion details for the given file, position, and entry. * Get code completion details for the given file, position, and entry.
* @param formatOptions `typescript.FormatCodeOptions | typescript.FormatCodeSettings | undefined`
* @param preferences `typescript.UserPreferences | undefined`
* @param data `typescript.CompletionEntryData | undefined`
* @returns `Promise<typescript.CompletionEntryDetails | undefined>` * @returns `Promise<typescript.CompletionEntryDetails | undefined>`
*/ */
getCompletionEntryDetails( getCompletionEntryDetails(
fileName: string, fileName: string,
position: number, position: number,
entry: string entryName: string,
formatOptions: any,
source: string | undefined,
preferences: any,
data: any
): Promise<any | undefined>; ): Promise<any | undefined>;
/** /**
* Get signature help items for the item at the given file and position. * Get signature help items for the item at the given file and position.
* @param options `typescript.SignatureHelpItemsOptions | undefined`
* @returns `Promise<typescript.SignatureHelpItems | undefined>` * @returns `Promise<typescript.SignatureHelpItems | undefined>`
*/ */
getSignatureHelpItems(fileName: string, position: number, options: any): Promise<any | undefined>; getSignatureHelpItems(fileName: string, position: number, options: any): Promise<any | undefined>;
@ -531,6 +546,7 @@ export interface TypeScriptWorker {
/** /**
* Get possible code fixes at the given position in the file. * Get possible code fixes at the given position in the file.
* @param formatOptions `typescript.FormatCodeOptions` * @param formatOptions `typescript.FormatCodeOptions`
* @param preferences `typescript.UserPreferences`
* @returns `Promise<ReadonlyArray<typescript.CodeFixAction>>` * @returns `Promise<ReadonlyArray<typescript.CodeFixAction>>`
*/ */
getCodeFixesAtPosition( getCodeFixesAtPosition(
@ -538,7 +554,8 @@ export interface TypeScriptWorker {
start: number, start: number,
end: number, end: number,
errorCodes: number[], errorCodes: number[],
formatOptions: any formatOptions: any,
preferences: any
): Promise<ReadonlyArray<any>>; ): Promise<ReadonlyArray<any>>;
/** /**

View file

@ -255,27 +255,38 @@ export class TypeScriptWorker implements ts.LanguageServiceHost, ITypeScriptWork
async getCompletionsAtPosition( async getCompletionsAtPosition(
fileName: string, fileName: string,
position: number position: number,
): Promise<ts.CompletionInfo | undefined> { options: ts.GetCompletionsAtPositionOptions | undefined,
formattingSettings?: ts.FormatCodeSettings
): Promise<ts.WithMetadata<ts.CompletionInfo> | undefined> {
if (fileNameIsLib(fileName)) { if (fileNameIsLib(fileName)) {
return undefined; return undefined;
} }
return this._languageService.getCompletionsAtPosition(fileName, position, undefined); return this._languageService.getCompletionsAtPosition(
fileName,
position,
options,
formattingSettings
);
} }
async getCompletionEntryDetails( async getCompletionEntryDetails(
fileName: string, fileName: string,
position: number, position: number,
entry: string entryName: string,
formatOptions: ts.FormatCodeOptions | ts.FormatCodeSettings | undefined,
source: string | undefined,
preferences: ts.UserPreferences | undefined,
data: ts.CompletionEntryData | undefined
): Promise<ts.CompletionEntryDetails | undefined> { ): Promise<ts.CompletionEntryDetails | undefined> {
return this._languageService.getCompletionEntryDetails( return this._languageService.getCompletionEntryDetails(
fileName, fileName,
position, position,
entry, entryName,
undefined, formatOptions,
undefined, source,
undefined, preferences,
undefined data
); );
} }
@ -340,7 +351,7 @@ export class TypeScriptWorker implements ts.LanguageServiceHost, ITypeScriptWork
async getFormattingEditsForDocument( async getFormattingEditsForDocument(
fileName: string, fileName: string,
options: ts.FormatCodeOptions options: ts.FormatCodeOptions | ts.FormatCodeSettings
): Promise<ts.TextChange[]> { ): Promise<ts.TextChange[]> {
if (fileNameIsLib(fileName)) { if (fileNameIsLib(fileName)) {
return []; return [];
@ -352,7 +363,7 @@ export class TypeScriptWorker implements ts.LanguageServiceHost, ITypeScriptWork
fileName: string, fileName: string,
start: number, start: number,
end: number, end: number,
options: ts.FormatCodeOptions options: ts.FormatCodeOptions | ts.FormatCodeSettings
): Promise<ts.TextChange[]> { ): Promise<ts.TextChange[]> {
if (fileNameIsLib(fileName)) { if (fileNameIsLib(fileName)) {
return []; return [];
@ -364,7 +375,7 @@ export class TypeScriptWorker implements ts.LanguageServiceHost, ITypeScriptWork
fileName: string, fileName: string,
postion: number, postion: number,
ch: string, ch: string,
options: ts.FormatCodeOptions options: ts.FormatCodeOptions | ts.FormatCodeSettings
): Promise<ts.TextChange[]> { ): Promise<ts.TextChange[]> {
if (fileNameIsLib(fileName)) { if (fileNameIsLib(fileName)) {
return []; return [];
@ -429,12 +440,12 @@ export class TypeScriptWorker implements ts.LanguageServiceHost, ITypeScriptWork
start: number, start: number,
end: number, end: number,
errorCodes: number[], errorCodes: number[],
formatOptions: ts.FormatCodeOptions formatOptions: ts.FormatCodeOptions | ts.FormatCodeSettings,
preferences: ts.UserPreferences
): Promise<ReadonlyArray<ts.CodeFixAction>> { ): Promise<ReadonlyArray<ts.CodeFixAction>> {
if (fileNameIsLib(fileName)) { if (fileNameIsLib(fileName)) {
return []; return [];
} }
const preferences = {};
try { try {
return this._languageService.getCodeFixesAtPosition( return this._languageService.getCodeFixesAtPosition(
fileName, fileName,