From 538ff07c71e06cb6d6f03a2aabba46bb3f1992b1 Mon Sep 17 00:00:00 2001 From: Matt Bierner Date: Mon, 20 Jul 2020 09:57:02 -0700 Subject: [PATCH] Move logDirectoryProvide into server --- .../src/extension.browser.ts | 47 +++++++++++++++++++ .../src/extension.ts | 2 +- .../src/lazyClientHost.ts | 2 +- .../logDirectoryProvider.electron.ts | 2 +- .../logDirectoryProvider.ts | 0 .../src/tsServer/spawner.ts | 2 +- .../src/typeScriptServiceClientHost.ts | 2 +- .../src/typescriptServiceClient.ts | 2 +- 8 files changed, 53 insertions(+), 6 deletions(-) create mode 100644 extensions/typescript-language-features/src/extension.browser.ts rename extensions/typescript-language-features/src/{utils => tsServer}/logDirectoryProvider.electron.ts (96%) rename extensions/typescript-language-features/src/{utils => tsServer}/logDirectoryProvider.ts (100%) diff --git a/extensions/typescript-language-features/src/extension.browser.ts b/extensions/typescript-language-features/src/extension.browser.ts new file mode 100644 index 00000000000..58cfe515f81 --- /dev/null +++ b/extensions/typescript-language-features/src/extension.browser.ts @@ -0,0 +1,47 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +import * as vscode from 'vscode'; +import { noopLogDirectoryProvider } from './tsServer/logDirectoryProvider'; +import { Api, getExtensionApi } from './api'; +import { registerCommands } from './commands/index'; +import { LanguageConfigurationManager } from './features/languageConfiguration'; +import { createLazyClientHost, lazilyActivateClient } from './lazyClientHost'; +import { CommandManager } from './utils/commandManager'; +import { PluginManager } from './utils/plugins'; +import { noopRequestCanceller } from './tsServer/cancellation'; + +export function activate( + context: vscode.ExtensionContext +): Api { + const pluginManager = new PluginManager(); + context.subscriptions.push(pluginManager); + + const commandManager = new CommandManager(); + context.subscriptions.push(commandManager); + + const onCompletionAccepted = new vscode.EventEmitter(); + context.subscriptions.push(onCompletionAccepted); + + const lazyClientHost = createLazyClientHost(context, pluginManager, commandManager, noopLogDirectoryProvider, { + create: () => noopRequestCanceller + + }, item => { + onCompletionAccepted.fire(item); + }); + + registerCommands(commandManager, lazyClientHost, pluginManager); + // context.subscriptions.push(task.register(lazyClientHost.map(x => x.serviceClient))); + context.subscriptions.push(new LanguageConfigurationManager()); + + import('./features/tsconfig').then(module => { + context.subscriptions.push(module.register()); + }); + + context.subscriptions.push(lazilyActivateClient(lazyClientHost, pluginManager)); + + return getExtensionApi(onCompletionAccepted.event, pluginManager); +} + diff --git a/extensions/typescript-language-features/src/extension.ts b/extensions/typescript-language-features/src/extension.ts index 31a3bc56747..2bbba69705d 100644 --- a/extensions/typescript-language-features/src/extension.ts +++ b/extensions/typescript-language-features/src/extension.ts @@ -5,6 +5,7 @@ import * as rimraf from 'rimraf'; import * as vscode from 'vscode'; +import { NodeLogDirectoryProvider } from './tsServer/logDirectoryProvider.electron'; import { Api, getExtensionApi } from './api'; import { registerCommands } from './commands/index'; import { LanguageConfigurationManager } from './features/languageConfiguration'; @@ -13,7 +14,6 @@ import { createLazyClientHost, lazilyActivateClient } from './lazyClientHost'; import { NodeRequestCanceller } from './tsServer/cancellation.electron'; import { CommandManager } from './utils/commandManager'; import * as electron from './utils/electron'; -import { NodeLogDirectoryProvider } from './utils/logDirectoryProvider.electron'; import { PluginManager } from './utils/plugins'; export function activate( diff --git a/extensions/typescript-language-features/src/lazyClientHost.ts b/extensions/typescript-language-features/src/lazyClientHost.ts index de29f958b3a..02cbd68006b 100644 --- a/extensions/typescript-language-features/src/lazyClientHost.ts +++ b/extensions/typescript-language-features/src/lazyClientHost.ts @@ -12,7 +12,7 @@ import * as fileSchemes from './utils/fileSchemes'; import { standardLanguageDescriptions } from './utils/languageDescription'; import * as ProjectStatus from './utils/largeProjectStatus'; import { lazy, Lazy } from './utils/lazy'; -import { ILogDirectoryProvider } from './utils/logDirectoryProvider'; +import { ILogDirectoryProvider } from './tsServer/logDirectoryProvider'; import ManagedFileContextManager from './utils/managedFileContext'; import { PluginManager } from './utils/plugins'; diff --git a/extensions/typescript-language-features/src/utils/logDirectoryProvider.electron.ts b/extensions/typescript-language-features/src/tsServer/logDirectoryProvider.electron.ts similarity index 96% rename from extensions/typescript-language-features/src/utils/logDirectoryProvider.electron.ts rename to extensions/typescript-language-features/src/tsServer/logDirectoryProvider.electron.ts index a4c9c3de2bd..60b6965b5a7 100644 --- a/extensions/typescript-language-features/src/utils/logDirectoryProvider.electron.ts +++ b/extensions/typescript-language-features/src/tsServer/logDirectoryProvider.electron.ts @@ -7,7 +7,7 @@ import * as fs from 'fs'; import * as path from 'path'; import * as vscode from 'vscode'; import { ILogDirectoryProvider } from './logDirectoryProvider'; -import { memoize } from './memoize'; +import { memoize } from '../utils/memoize'; export class NodeLogDirectoryProvider implements ILogDirectoryProvider { public constructor( diff --git a/extensions/typescript-language-features/src/utils/logDirectoryProvider.ts b/extensions/typescript-language-features/src/tsServer/logDirectoryProvider.ts similarity index 100% rename from extensions/typescript-language-features/src/utils/logDirectoryProvider.ts rename to extensions/typescript-language-features/src/tsServer/logDirectoryProvider.ts diff --git a/extensions/typescript-language-features/src/tsServer/spawner.ts b/extensions/typescript-language-features/src/tsServer/spawner.ts index b06eecd7542..f0fb5eb0752 100644 --- a/extensions/typescript-language-features/src/tsServer/spawner.ts +++ b/extensions/typescript-language-features/src/tsServer/spawner.ts @@ -10,7 +10,7 @@ import { ClientCapabilities, ClientCapability } from '../typescriptService'; import API from '../utils/api'; import { SeparateSyntaxServerConfiguration, TsServerLogLevel, TypeScriptServiceConfiguration } from '../utils/configuration'; import * as electron from '../utils/electron'; -import { ILogDirectoryProvider } from '../utils/logDirectoryProvider'; +import { ILogDirectoryProvider } from './logDirectoryProvider'; import Logger from '../utils/logger'; import { TypeScriptPluginPathsProvider } from '../utils/pluginPathsProvider'; import { PluginManager } from '../utils/plugins'; diff --git a/extensions/typescript-language-features/src/typeScriptServiceClientHost.ts b/extensions/typescript-language-features/src/typeScriptServiceClientHost.ts index 7784c63faa1..71a746b1f11 100644 --- a/extensions/typescript-language-features/src/typeScriptServiceClientHost.ts +++ b/extensions/typescript-language-features/src/typeScriptServiceClientHost.ts @@ -21,7 +21,7 @@ import { CommandManager } from './utils/commandManager'; import { Disposable } from './utils/dispose'; import * as errorCodes from './utils/errorCodes'; import { DiagnosticLanguage, LanguageDescription } from './utils/languageDescription'; -import { ILogDirectoryProvider } from './utils/logDirectoryProvider'; +import { ILogDirectoryProvider } from './tsServer/logDirectoryProvider'; import { PluginManager } from './utils/plugins'; import * as typeConverters from './utils/typeConverters'; import TypingsStatus, { AtaProgressReporter } from './utils/typingsStatus'; diff --git a/extensions/typescript-language-features/src/typescriptServiceClient.ts b/extensions/typescript-language-features/src/typescriptServiceClient.ts index 7d8cd7d8afa..3574a765c1a 100644 --- a/extensions/typescript-language-features/src/typescriptServiceClient.ts +++ b/extensions/typescript-language-features/src/typescriptServiceClient.ts @@ -21,7 +21,7 @@ import { TsServerLogLevel, TypeScriptServiceConfiguration } from './utils/config import { Disposable } from './utils/dispose'; import * as fileSchemes from './utils/fileSchemes'; import { onCaseInsenitiveFileSystem } from './utils/fileSystem'; -import { ILogDirectoryProvider } from './utils/logDirectoryProvider'; +import { ILogDirectoryProvider } from './tsServer/logDirectoryProvider'; import Logger from './utils/logger'; import { TypeScriptPluginPathsProvider } from './utils/pluginPathsProvider'; import { PluginManager } from './utils/plugins';