Skip to content

Commit ba6576d

Browse files
committed
Move project status into host
1 parent e91c4a1 commit ba6576d

5 files changed

Lines changed: 11 additions & 16 deletions

File tree

extensions/typescript-language-features/src/lazyClientHost.ts

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,14 @@
44
*--------------------------------------------------------------------------------------------*/
55

66
import * as vscode from 'vscode';
7+
import { CommandManager } from './commands/commandManager';
78
import { OngoingRequestCancellerFactory } from './tsServer/cancellation';
89
import { ILogDirectoryProvider } from './tsServer/logDirectoryProvider';
910
import { TsServerProcessFactory } from './tsServer/server';
1011
import { ITypeScriptVersionProvider } from './tsServer/versionProvider';
1112
import TypeScriptServiceClientHost from './typeScriptServiceClientHost';
1213
import { flatten } from './utils/arrays';
13-
import { CommandManager } from './commands/commandManager';
1414
import { standardLanguageDescriptions } from './utils/languageDescription';
15-
import * as ProjectStatus from './utils/largeProjectStatus';
1615
import { lazy, Lazy } from './utils/lazy';
1716
import ManagedFileContextManager from './utils/managedFileContext';
1817
import { PluginManager } from './utils/plugins';
@@ -40,13 +39,6 @@ export function createLazyClientHost(
4039

4140
context.subscriptions.push(clientHost);
4241

43-
clientHost.serviceClient.onReady(() => {
44-
context.subscriptions.push(
45-
ProjectStatus.create(
46-
clientHost.serviceClient,
47-
clientHost.serviceClient.telemetryReporter));
48-
});
49-
5042
return clientHost;
5143
});
5244
}

extensions/typescript-language-features/src/typeScriptServiceClientHost.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ import { DiagnosticLanguage, LanguageDescription } from './utils/languageDescrip
2828
import { PluginManager } from './utils/plugins';
2929
import * as typeConverters from './utils/typeConverters';
3030
import TypingsStatus, { AtaProgressReporter } from './utils/typingsStatus';
31+
import * as ProjectStatus from './utils/largeProjectStatus';
3132

3233
namespace Experimental {
3334
export interface Diagnostic extends Proto.Diagnostic {
@@ -95,6 +96,8 @@ export default class TypeScriptServiceClientHost extends Disposable {
9596
this._register(new VersionStatus(this.client, services.commandManager));
9697
this._register(new AtaProgressReporter(this.client));
9798
this.typingsStatus = this._register(new TypingsStatus(this.client));
99+
this._register(ProjectStatus.create(this.client));
100+
98101
this.fileConfigurationManager = this._register(new FileConfigurationManager(this.client, onCaseInsenitiveFileSystem));
99102

100103
for (const description of descriptions) {

extensions/typescript-language-features/src/typescriptService.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import { TypeScriptVersion } from './tsServer/versionProvider';
1111
import API from './utils/api';
1212
import { TypeScriptServiceConfiguration } from './utils/configuration';
1313
import { PluginManager } from './utils/plugins';
14+
import { TelemetryReporter } from './utils/telemetry';
1415

1516
export namespace ServerResponse {
1617

@@ -159,9 +160,11 @@ export interface ITypeScriptServiceClient {
159160
showVersionPicker(): void;
160161

161162
readonly apiVersion: API;
163+
162164
readonly pluginManager: PluginManager;
163165
readonly configuration: TypeScriptServiceConfiguration;
164166
readonly bufferSyncSupport: BufferSyncSupport;
167+
readonly telemetryReporter: TelemetryReporter;
165168

166169
execute<K extends keyof StandardTsServerRequests>(
167170
command: K,

extensions/typescript-language-features/src/typescriptServiceClient.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -115,11 +115,10 @@ export default class TypeScriptServiceClient extends Disposable implements IType
115115
private readonly loadingIndicator = new ServerInitializingIndicator();
116116

117117
public readonly telemetryReporter: TelemetryReporter;
118-
119118
public readonly bufferSyncSupport: BufferSyncSupport;
120119
public readonly diagnosticsManager: DiagnosticsManager;
121-
122120
public readonly pluginManager: PluginManager;
121+
123122
private readonly logDirectoryProvider: ILogDirectoryProvider;
124123
private readonly cancellerFactory: OngoingRequestCancellerFactory;
125124
private readonly versionProvider: ITypeScriptVersionProvider;

extensions/typescript-language-features/src/utils/largeProjectStatus.ts

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -111,21 +111,19 @@ function onConfigureExcludesSelected(
111111

112112
export function create(
113113
client: ITypeScriptServiceClient,
114-
telemetryReporter: TelemetryReporter
115-
) {
114+
): vscode.Disposable {
116115
const toDispose: vscode.Disposable[] = [];
117116

118-
const item = new ExcludeHintItem(telemetryReporter);
117+
const item = new ExcludeHintItem(client.telemetryReporter);
119118
toDispose.push(vscode.commands.registerCommand('js.projectStatus.command', () => {
120119
if (item.configFileName) {
121120
onConfigureExcludesSelected(client, item.configFileName);
122121
}
123-
let { message } = item.getCurrentHint();
122+
const { message } = item.getCurrentHint();
124123
return vscode.window.showInformationMessage(message);
125124
}));
126125

127126
toDispose.push(createLargeProjectMonitorFromTypeScript(item, client));
128127

129128
return vscode.Disposable.from(...toDispose);
130129
}
131-

0 commit comments

Comments
 (0)