extensions/typescript-language-features/src/languageFeatures/workspaceSymbols.ts/TypeScriptWorkspaceSymbolProvider/provideWorkspaceSymbols
class TypeScriptWorkspaceSymbolProvider:	public async provideWorkspaceSymbols(
		search: string,
		token: vscode.CancellationToken
	): Promise<vscode.SymbolInformation[]> {
		let file: string | undefined;
		if (this.searchAllOpenProjects) {
			file = undefined;
		} else {
			const document = this.getDocument();
			file = document ? await this.toOpenedFiledPath(document) : undefined;

			if (!file && this.client.apiVersion.lt(API.v390)) {
				return [];
			}
		}

		const args: Proto.NavtoRequestArgs = {
			file,
			searchValue: search,
			maxResultCount: 256,
		};

		const response = await this.client.execute('navto', args, token);
		if (response.type !== 'response' || !response.body) {
			return [];
		}

		return response.body
			.filter(item => item.containerName || item.kind !== 'alias')
			.map(item => this.toSymbolInformation(item));
	}