Skip to content

Commit 2500cee

Browse files
committed
refactor(typescript): createAsyncLanguageServicePlugin scriptKind param allows getter
1 parent 9e9c15a commit 2500cee

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

packages/typescript/lib/quickstart/createAsyncLanguageServicePlugin.ts

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import { arrayItemsEqual, decoratedLanguageServiceHosts, decoratedLanguageServic
77

88
export function createAsyncLanguageServicePlugin(
99
extensions: string[],
10-
scriptKind: ts.ScriptKind,
10+
getScriptKindForExtraExtensions: ts.ScriptKind | ((fileName: string) => ts.ScriptKind),
1111
create: (
1212
ts: typeof import('typescript'),
1313
info: ts.server.PluginCreateInfo
@@ -50,7 +50,13 @@ export function createAsyncLanguageServicePlugin(
5050
if (getScriptKind) {
5151
info.languageServiceHost.getScriptKind = fileName => {
5252
if (!initialized && extensions.some(ext => fileName.endsWith(ext))) {
53-
return scriptKind; // TODO: bypass upstream bug
53+
// TODO: bypass upstream bug
54+
if (typeof getScriptKindForExtraExtensions === 'function') {
55+
return getScriptKindForExtraExtensions(fileName);
56+
}
57+
else {
58+
return getScriptKindForExtraExtensions;
59+
}
5460
}
5561
return getScriptKind(fileName);
5662
};

0 commit comments

Comments
 (0)