Skip to content

Commit f17d5dd

Browse files
Kartik Rajwesm
Kartik Raj
authored andcommitted
Ensure we do not expose ILanguageServerExtensionManager outside of the languageServer module (microsoft/vscode-python#18950)
1 parent 2635e69 commit f17d5dd

File tree

2 files changed

+6
-8
lines changed

2 files changed

+6
-8
lines changed

extensions/positron-python/src/client/languageServer/types.ts

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,7 @@ export const ILanguageServerWatcher = Symbol('ILanguageServerWatcher');
1313
export interface ILanguageServerWatcher {
1414
readonly languageServerExtensionManager: ILanguageServerExtensionManager | undefined;
1515
readonly languageServerType: LanguageServerType;
16-
startLanguageServer(
17-
languageServerType: LanguageServerType,
18-
resource?: Resource,
19-
): Promise<ILanguageServerExtensionManager>;
16+
startLanguageServer(languageServerType: LanguageServerType, resource?: Resource): Promise<void>;
2017
}
2118

2219
export interface ILanguageServerCapabilities extends ILanguageServer {
@@ -29,8 +26,6 @@ export interface ILanguageServerCapabilities extends ILanguageServer {
2926
* `ILanguageServerExtensionManager` implementations act as wrappers for anything related to their specific language server extension.
3027
* They are responsible for starting and stopping the language server provided by their LS extension.
3128
* They also extend the `ILanguageServer` interface via `ILanguageServerCapabilities` to continue supporting the Jupyter integration.
32-
*
33-
* Note that the methods exposed in this interface shouldn't be used outside of the language server watcher (and tests).
3429
*/
3530
export interface ILanguageServerExtensionManager extends ILanguageServerCapabilities {
3631
startLanguageServer(resource: Resource, interpreter?: PythonEnvironment): Promise<void>;

extensions/positron-python/src/client/languageServer/watcher.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -105,8 +105,11 @@ export class LanguageServerWatcher
105105
}
106106

107107
// ILanguageServerWatcher
108+
public async startLanguageServer(languageServerType: LanguageServerType, resource?: Resource): Promise<void> {
109+
await this.startAndGetLanguageServer(languageServerType, resource);
110+
}
108111

109-
public async startLanguageServer(
112+
private async startAndGetLanguageServer(
110113
languageServerType: LanguageServerType,
111114
resource?: Resource,
112115
): Promise<ILanguageServerExtensionManager> {
@@ -165,7 +168,7 @@ export class LanguageServerWatcher
165168
let languageServerExtensionManager = this.workspaceLanguageServers.get(lsResource.fsPath);
166169

167170
if (!languageServerExtensionManager) {
168-
languageServerExtensionManager = await this.startLanguageServer(this.languageServerType, resource);
171+
languageServerExtensionManager = await this.startAndGetLanguageServer(this.languageServerType, resource);
169172
}
170173

171174
return Promise.resolve(languageServerExtensionManager.get());

0 commit comments

Comments
 (0)