Skip to content

Commit 3ae0d13

Browse files
committed
feat: Add and export a function to load the extension configuration of some language client ids
1 parent 92bb2a2 commit 3ae0d13

File tree

2 files changed

+18
-0
lines changed

2 files changed

+18
-0
lines changed

src/extensionConfiguration.ts

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
import { loadConfigurationForExtension } from '@codingame/monaco-editor-wrapper/dist/features/extensionConfigurations'
2+
import staticOptions, { LanguageClientId } from './staticOptions'
3+
4+
export async function loadExtensionConfigurations (forLanguageClientIds: LanguageClientId[], nonMutualizableOnly: boolean): Promise<void> {
5+
const extensionConfigurationToLoad = new Set<string>()
6+
for (const languageClientId of forLanguageClientIds) {
7+
const config = staticOptions[languageClientId]
8+
if (!config.mutualizable || !nonMutualizableOnly) {
9+
(config.vscodeExtensionIds ?? []).forEach(extensionId => {
10+
extensionConfigurationToLoad.add(extensionId)
11+
})
12+
}
13+
}
14+
15+
await Promise.all(Array.from(extensionConfigurationToLoad).map(extensionId => loadConfigurationForExtension(extensionId)))
16+
}

src/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
import 'proxy-polyfill'
2+
import { loadExtensionConfigurations } from './extensionConfiguration'
23
import './hacks'
34
import { createLanguageClientManager, StatusChangeEvent } from './languageClient'
45
import { LanguageClientId } from './staticOptions'
56

67
export {
8+
loadExtensionConfigurations,
79
createLanguageClientManager
810
}
911

0 commit comments

Comments
 (0)