Skip to content

Commit e9d4926

Browse files
author
Sebastian Provenzano
committed
Revert "vfsProviderProvider"
This reverts commit 5ea1c76.
1 parent 5ea1c76 commit e9d4926

File tree

3 files changed

+8
-14
lines changed

3 files changed

+8
-14
lines changed

src/extension.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import * as formatter from './formatter';
44
import * as imandraxLanguageClient from './imandrax_language_client/imandrax_language_client';
55
import * as installer from './installer';
66
import * as listeners from './listeners';
7-
import * as vfsProvider from './vfs_provider';
87

98
import {
109
env,
@@ -25,8 +24,7 @@ export async function activate(context: ExtensionContext) {
2524
const languageClientConfig = getConfig();
2625

2726
if (imandraxLanguageClient.configuration.isFoundPath(languageClientConfig)) {
28-
const vfsProviderProvider = (client: LanguageClient) => { return new vfsProvider.VFSContentProvider(client) };
29-
const languageClientWrapper_ = new imandraxLanguageClient.ImandraXLanguageClient(getConfig, vfsProviderProvider);
27+
const languageClientWrapper_ = new imandraxLanguageClient.ImandraXLanguageClient(getConfig);
3028
const getClient: () => LanguageClient = () => { return languageClientWrapper_.getClient(); };
3129

3230
formatter.register();

src/imandrax_language_client/imandrax_language_client.ts

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,10 @@ export interface RestartParams {
1616

1717
export class ImandraXLanguageClient {
1818
private client!: LanguageClient;
19-
private vfsProvider_!: vfsProvider.VFSContentProvider;
19+
private readonly vfsProvider_: vfsProvider.VFSContentProvider;
2020
private restartCount = 0;
2121
private isInitial = () => { return this.client === undefined; };
2222
private readonly getConfig: () => configuration.ImandraXLanguageClientConfiguration;
23-
private readonly vfsProviderProvider: (_: LanguageClient) => vfsProvider.VFSContentProvider;
2423

2524
getRestartCount(context: ExtensionContext) {
2625
if (context?.extensionMode === ExtensionMode.Test) {
@@ -36,9 +35,9 @@ export class ImandraXLanguageClient {
3635
return this.vfsProvider_;
3736
}
3837

39-
constructor(getConfig: () => configuration.ImandraXLanguageClientConfiguration, vfsProviderProvider: (_: LanguageClient) => vfsProvider.VFSContentProvider) {
38+
constructor(getConfig:()=>configuration.ImandraXLanguageClientConfiguration) {
4039
this.getConfig = getConfig;
41-
this.vfsProviderProvider = vfsProviderProvider;
40+
this.vfsProvider_ = new vfsProvider.VFSContentProvider(() => { return this.getClient(); });
4241
}
4342

4443
// Start language server
@@ -82,9 +81,6 @@ export class ImandraXLanguageClient {
8281
clientOptions
8382
);
8483

85-
// don't forget to construct the vfsProvider with the new client!
86-
this.vfsProvider_ = this.vfsProviderProvider(this.client);
87-
8884
const { extensionUri } = params;
8985

9086
if (was_initial) {

src/vfs_provider.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@ import { LanguageClient } from 'vscode-languageclient/node';
55
export class VFSContentProvider implements TextDocumentContentProvider {
66
onDidChangeEmitter = new EventEmitter<Uri>();
77
onDidChange = this.onDidChangeEmitter.event;
8-
private readonly client: LanguageClient;
8+
private readonly getClient: () => LanguageClient;
99

10-
constructor(client: LanguageClient) {
11-
this.client = client;
10+
constructor(getClient: () => LanguageClient) {
11+
this.getClient = getClient;
1212
}
1313

1414
async provideTextDocumentContent(uri: Uri): Promise<string> {
@@ -17,6 +17,6 @@ export class VFSContentProvider implements TextDocumentContentProvider {
1717
const auth = (fst[0] === "") ? fst[1] : fst[0];
1818
uri = uri.with({ authority: auth });
1919
}
20-
return await this.client.sendRequest<string>("$imandrax/req-vfs-file", { "uri": uri });
20+
return await this.getClient().sendRequest<string>("$imandrax/req-vfs-file", { "uri": uri });
2121
}
2222
}

0 commit comments

Comments
 (0)