Skip to content

Commit 707ec07

Browse files
authored
feat(typescript): supports new params of getQuickInfoAtPosition (#285)
1 parent 5e2c8f4 commit 707ec07

File tree

2 files changed

+33
-29
lines changed

2 files changed

+33
-29
lines changed

packages/typescript/lib/node/proxyLanguageService.ts

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -341,7 +341,11 @@ function organizeImports(language: Language<string>, organizeImports: ts.Languag
341341
};
342342
}
343343
function getQuickInfoAtPosition(language: Language<string>, getQuickInfoAtPosition: ts.LanguageService['getQuickInfoAtPosition']): ts.LanguageService['getQuickInfoAtPosition'] {
344-
return (filePath, position) => {
344+
/**
345+
* Using `...args` for pass through rest params (including internal `verbosityLevel` param).
346+
* https://github.com/microsoft/TypeScript/blob/dd830711041b7b0cfd3da7937755996b1e1b1c7e/src/services/types.ts#L588
347+
*/
348+
return (filePath, position, ...args) => {
345349
const fileName = filePath.replace(windowsPathReg, '/');
346350
const [serviceScript, targetScript, sourceScript] = getServiceScript(language, fileName);
347351
if (targetScript?.associatedOnly) {
@@ -350,7 +354,7 @@ function getQuickInfoAtPosition(language: Language<string>, getQuickInfoAtPositi
350354
if (serviceScript) {
351355
const infos: ts.QuickInfo[] = [];
352356
for (const [generatePosition] of toGeneratedOffsets(language, serviceScript, sourceScript, position, isHoverEnabled)) {
353-
const info = getQuickInfoAtPosition(targetScript.id, generatePosition);
357+
const info = getQuickInfoAtPosition(targetScript.id, generatePosition, ...args);
354358
if (info) {
355359
const textSpan = transformTextSpan(sourceScript, language, serviceScript, info.textSpan, true, isHoverEnabled)?.[1];
356360
if (textSpan) {
@@ -401,7 +405,7 @@ function getQuickInfoAtPosition(language: Language<string>, getQuickInfoAtPositi
401405
}
402406
}
403407
else {
404-
return getQuickInfoAtPosition(fileName, position);
408+
return getQuickInfoAtPosition(fileName, position, ...args);
405409
}
406410
};
407411
}

pnpm-lock.yaml

Lines changed: 26 additions & 26 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)