diff --git a/src/vs/code/electron-main/launch.ts b/src/vs/code/electron-main/launch.ts index 71670e049be..bb76effa7a0 100644 --- a/src/vs/code/electron-main/launch.ts +++ b/src/vs/code/electron-main/launch.ts @@ -12,7 +12,7 @@ import { IChannel } from 'vs/base/parts/ipc/common/ipc'; import { ILogService } from 'vs/code/electron-main/log'; import { IURLService } from 'vs/platform/url/common/url'; import { IProcessEnvironment } from 'vs/base/common/platform'; -import { ParsedArgs } from 'vs/platform/environment/node/argv'; +import { ParsedArgs } from 'vs/platform/environment/common/environment'; import { createDecorator } from 'vs/platform/instantiation/common/instantiation'; import { once } from 'vs/base/common/event'; diff --git a/src/vs/code/electron-main/main.ts b/src/vs/code/electron-main/main.ts index a991fba12cf..b88e46e9783 100644 --- a/src/vs/code/electron-main/main.ts +++ b/src/vs/code/electron-main/main.ts @@ -8,7 +8,7 @@ import { app, ipcMain as ipc } from 'electron'; import { assign } from 'vs/base/common/objects'; import * as platform from 'vs/base/common/platform'; -import { parseMainProcessArgv, ParsedArgs } from 'vs/platform/environment/node/argv'; +import { parseMainProcessArgv } from 'vs/platform/environment/node/argv'; import { mkdirp } from 'vs/base/node/pfs'; import { validatePaths } from 'vs/code/electron-main/paths'; import { IWindowsMainService, WindowsManager } from 'vs/code/electron-main/windows'; @@ -35,7 +35,7 @@ import { ServiceCollection } from 'vs/platform/instantiation/common/serviceColle import { SyncDescriptor } from 'vs/platform/instantiation/common/descriptors'; import { ILogService, MainLogService } from 'vs/code/electron-main/log'; import { IStorageService, StorageService } from 'vs/code/electron-main/storage'; -import { IEnvironmentService } from 'vs/platform/environment/common/environment'; +import { IEnvironmentService, ParsedArgs } from 'vs/platform/environment/common/environment'; import { EnvironmentService } from 'vs/platform/environment/node/environmentService'; import { IConfigurationService } from 'vs/platform/configuration/common/configuration'; import { ConfigurationService } from 'vs/platform/configuration/node/configurationService'; diff --git a/src/vs/code/electron-main/paths.ts b/src/vs/code/electron-main/paths.ts index 4e361d80ba1..8ad9d195910 100644 --- a/src/vs/code/electron-main/paths.ts +++ b/src/vs/code/electron-main/paths.ts @@ -12,7 +12,7 @@ import * as strings from 'vs/base/common/strings'; import * as paths from 'vs/base/common/paths'; import * as platform from 'vs/base/common/platform'; import * as types from 'vs/base/common/types'; -import { ParsedArgs } from 'vs/platform/environment/node/argv'; +import { ParsedArgs } from 'vs/platform/environment/common/environment'; export function validatePaths(args: ParsedArgs): ParsedArgs { diff --git a/src/vs/code/electron-main/window.ts b/src/vs/code/electron-main/window.ts index 7ceec4eb84e..48e0d958af0 100644 --- a/src/vs/code/electron-main/window.ts +++ b/src/vs/code/electron-main/window.ts @@ -11,10 +11,10 @@ import * as objects from 'vs/base/common/objects'; import { IStorageService } from 'vs/code/electron-main/storage'; import { shell, screen, BrowserWindow } from 'electron'; import { TPromise, TValueCallback } from 'vs/base/common/winjs.base'; -import { IEnvironmentService } from 'vs/platform/environment/common/environment'; +import { IEnvironmentService, ParsedArgs } from 'vs/platform/environment/common/environment'; import { ILogService } from 'vs/code/electron-main/log'; import { IConfigurationService } from 'vs/platform/configuration/common/configuration'; -import { parseArgs, ParsedArgs } from 'vs/platform/environment/node/argv'; +import { parseArgs } from 'vs/platform/environment/node/argv'; import product from 'vs/platform/product'; import { getCommonHTTPHeaders } from 'vs/platform/environment/node/http'; diff --git a/src/vs/code/electron-main/windows.ts b/src/vs/code/electron-main/windows.ts index 4189977dd2d..64bcf727cfe 100644 --- a/src/vs/code/electron-main/windows.ts +++ b/src/vs/code/electron-main/windows.ts @@ -15,7 +15,7 @@ import * as types from 'vs/base/common/types'; import * as arrays from 'vs/base/common/arrays'; import { assign, mixin } from 'vs/base/common/objects'; import { trim } from 'vs/base/common/strings'; -import { IEnvironmentService } from 'vs/platform/environment/common/environment'; +import { IEnvironmentService, ParsedArgs } from 'vs/platform/environment/common/environment'; import { IStorageService } from 'vs/code/electron-main/storage'; import { IPath, VSCodeWindow, ReadyState, IWindowConfiguration, IWindowState as ISingleWindowState, defaultWindowState, IWindowSettings } from 'vs/code/electron-main/window'; import { ipcMain as ipc, app, screen, BrowserWindow, dialog } from 'electron'; @@ -29,7 +29,6 @@ import { createDecorator, IInstantiationService } from 'vs/platform/instantiatio import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry'; import CommonEvent, { Emitter, once } from 'vs/base/common/event'; import product from 'vs/platform/product'; -import { ParsedArgs } from 'vs/platform/environment/node/argv'; enum WindowError { UNRESPONSIVE, diff --git a/src/vs/code/node/cli.ts b/src/vs/code/node/cli.ts index 0ed40237eac..1e814e1e921 100644 --- a/src/vs/code/node/cli.ts +++ b/src/vs/code/node/cli.ts @@ -6,7 +6,8 @@ import { spawn } from 'child_process'; import { TPromise } from 'vs/base/common/winjs.base'; import { assign } from 'vs/base/common/objects'; -import { parseCLIProcessArgv, buildHelpMessage, ParsedArgs } from 'vs/platform/environment/node/argv'; +import { parseCLIProcessArgv, buildHelpMessage } from 'vs/platform/environment/node/argv'; +import { ParsedArgs } from 'vs/platform/environment/common/environment'; import product from 'vs/platform/product'; import pkg from 'vs/platform/package'; diff --git a/src/vs/code/node/cliProcessMain.ts b/src/vs/code/node/cliProcessMain.ts index 46b12590af1..2fcbb991ae4 100644 --- a/src/vs/code/node/cliProcessMain.ts +++ b/src/vs/code/node/cliProcessMain.ts @@ -7,7 +7,7 @@ import { localize } from 'vs/nls'; import product from 'vs/platform/product'; import pkg from 'vs/platform/package'; import * as path from 'path'; -import { ParsedArgs } from 'vs/platform/environment/node/argv'; + import { TPromise } from 'vs/base/common/winjs.base'; import { sequence } from 'vs/base/common/async'; import { IPager } from 'vs/base/common/paging'; @@ -15,7 +15,7 @@ import { ServiceCollection } from 'vs/platform/instantiation/common/serviceColle import { SyncDescriptor } from 'vs/platform/instantiation/common/descriptors'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; import { InstantiationService } from 'vs/platform/instantiation/common/instantiationService'; -import { IEnvironmentService } from 'vs/platform/environment/common/environment'; +import { IEnvironmentService, ParsedArgs } from 'vs/platform/environment/common/environment'; import { EnvironmentService } from 'vs/platform/environment/node/environmentService'; import { IEventService } from 'vs/platform/event/common/event'; import { EventService } from 'vs/platform/event/common/eventService'; diff --git a/src/vs/code/node/sharedProcess.ts b/src/vs/code/node/sharedProcess.ts index f596800935f..880458ff00f 100644 --- a/src/vs/code/node/sharedProcess.ts +++ b/src/vs/code/node/sharedProcess.ts @@ -7,7 +7,7 @@ import * as cp from 'child_process'; import URI from 'vs/base/common/uri'; import { IDisposable } from 'vs/base/common/lifecycle'; import { assign } from 'vs/base/common/objects'; -import { ParsedArgs } from 'vs/platform/environment/node/argv'; +import { ParsedArgs } from 'vs/platform/environment/common/environment'; import { TPromise } from 'vs/base/common/winjs.base'; export interface ISharedProcessInitData { diff --git a/src/vs/platform/configuration/test/node/configurationService.test.ts b/src/vs/platform/configuration/test/node/configurationService.test.ts index 451c6db6612..ad6a06a3e93 100644 --- a/src/vs/platform/configuration/test/node/configurationService.test.ts +++ b/src/vs/platform/configuration/test/node/configurationService.test.ts @@ -12,7 +12,8 @@ import fs = require('fs'); import { Registry } from 'vs/platform/platform'; import { ConfigurationService } from 'vs/platform/configuration/node/configurationService'; -import { ParsedArgs, parseArgs } from 'vs/platform/environment/node/argv'; +import { ParsedArgs } from 'vs/platform/environment/common/environment'; +import { parseArgs } from 'vs/platform/environment/node/argv'; import { EnvironmentService } from 'vs/platform/environment/node/environmentService'; import extfs = require('vs/base/node/extfs'); import uuid = require('vs/base/common/uuid'); diff --git a/src/vs/platform/environment/common/environment.ts b/src/vs/platform/environment/common/environment.ts index 386e7cb10e0..8172016613d 100644 --- a/src/vs/platform/environment/common/environment.ts +++ b/src/vs/platform/environment/common/environment.ts @@ -3,9 +3,36 @@ * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { ParsedArgs } from 'vs/platform/environment/node/argv'; import { createDecorator } from 'vs/platform/instantiation/common/instantiation'; +export interface ParsedArgs { + [arg: string]: any; + _: string[]; + help?: boolean; + version?: boolean; + wait?: boolean; + diff?: boolean; + goto?: boolean; + 'new-window'?: boolean; + 'reuse-window'?: boolean; + locale?: string; + 'user-data-dir'?: string; + performance?: boolean; + verbose?: boolean; + logExtensionHostCommunication?: boolean; + 'disable-extensions'?: boolean; + 'extensions-dir'?: string; + extensionDevelopmentPath?: string; + extensionTestsPath?: string; + debugBrkPluginHost?: string; + debugPluginHost?: string; + 'list-extensions'?: boolean; + 'show-versions'?: boolean; + 'install-extension'?: string | string[]; + 'uninstall-extension'?: string | string[]; + 'open-url'?: string | string[]; +} + export const IEnvironmentService = createDecorator('environmentService'); export interface IEnvironmentService { diff --git a/src/vs/platform/environment/node/argv.ts b/src/vs/platform/environment/node/argv.ts index 23142ee7acc..9b6a66268bf 100644 --- a/src/vs/platform/environment/node/argv.ts +++ b/src/vs/platform/environment/node/argv.ts @@ -8,32 +8,7 @@ import * as minimist from 'minimist'; import * as assert from 'assert'; import { firstIndex } from 'vs/base/common/arrays'; import { localize } from 'vs/nls'; - -export interface ParsedArgs extends minimist.ParsedArgs { - help?: boolean; - version?: boolean; - wait?: boolean; - diff?: boolean; - goto?: boolean; - 'new-window'?: boolean; - 'reuse-window'?: boolean; - locale?: string; - 'user-data-dir'?: string; - performance?: boolean; - verbose?: boolean; - logExtensionHostCommunication?: boolean; - 'disable-extensions'?: boolean; - 'extensions-dir'?: string; - extensionDevelopmentPath?: string; - extensionTestsPath?: string; - debugBrkPluginHost?: string; - debugPluginHost?: string; - 'list-extensions'?: boolean; - 'show-versions'?: boolean; - 'install-extension'?: string | string[]; - 'uninstall-extension'?: string | string[]; - 'open-url'?: string | string[]; -} +import { ParsedArgs } from '../common/environment'; const options: minimist.Opts = { string: [ diff --git a/src/vs/platform/environment/node/environmentService.ts b/src/vs/platform/environment/node/environmentService.ts index d656bf4c3b2..10f95b5ff68 100644 --- a/src/vs/platform/environment/node/environmentService.ts +++ b/src/vs/platform/environment/node/environmentService.ts @@ -3,12 +3,11 @@ * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { IEnvironmentService } from 'vs/platform/environment/common/environment'; +import { IEnvironmentService, ParsedArgs } from 'vs/platform/environment/common/environment'; import * as crypto from 'crypto'; import * as paths from 'vs/base/node/paths'; import * as os from 'os'; import * as path from 'path'; -import { ParsedArgs } from 'vs/platform/environment/node/argv'; import URI from 'vs/base/common/uri'; import { memoize } from 'vs/base/common/decorators'; import pkg from 'vs/platform/package'; diff --git a/src/vs/workbench/electron-browser/main.ts b/src/vs/workbench/electron-browser/main.ts index 80dda4f99d7..83f33b6a7f9 100644 --- a/src/vs/workbench/electron-browser/main.ts +++ b/src/vs/workbench/electron-browser/main.ts @@ -22,7 +22,7 @@ import { EventService } from 'vs/platform/event/common/eventService'; import { WorkspaceContextService } from 'vs/platform/workspace/common/workspace'; import { IWorkspace } from 'vs/platform/workspace/common/workspace'; import { WorkspaceConfigurationService } from 'vs/workbench/services/configuration/node/configurationService'; -import { ParsedArgs } from 'vs/platform/environment/node/argv'; +import { ParsedArgs } from 'vs/platform/environment/common/environment'; import { realpath } from 'vs/base/node/pfs'; import { EnvironmentService } from 'vs/platform/environment/node/environmentService'; import path = require('path'); diff --git a/src/vs/workbench/services/configuration/test/node/configurationEditingService.test.ts b/src/vs/workbench/services/configuration/test/node/configurationEditingService.test.ts index 1dd412f6196..8f9dd4cc26b 100644 --- a/src/vs/workbench/services/configuration/test/node/configurationEditingService.test.ts +++ b/src/vs/workbench/services/configuration/test/node/configurationEditingService.test.ts @@ -12,7 +12,8 @@ import fs = require('fs'); import * as json from 'vs/base/common/json'; import { TPromise } from 'vs/base/common/winjs.base'; import { Registry } from 'vs/platform/platform'; -import { ParsedArgs, parseArgs } from 'vs/platform/environment/node/argv'; +import { ParsedArgs } from 'vs/platform/environment/common/environment'; +import { parseArgs } from 'vs/platform/environment/node/argv'; import { WorkspaceContextService, IWorkspaceContextService } from 'vs/platform/workspace/common/workspace'; import { EnvironmentService } from 'vs/platform/environment/node/environmentService'; import extfs = require('vs/base/node/extfs'); @@ -357,7 +358,7 @@ suite('WorkspaceConfigurationEditingService - Node', () => { if (error) { return cleanUp(done, error); } - + createServices(workspaceDir, globalSettingsFile).done(services => { const target = path.join(workspaceDir, WORKSPACE_STANDALONE_CONFIGURATIONS['launch']); diff --git a/src/vs/workbench/services/configuration/test/node/configurationService.test.ts b/src/vs/workbench/services/configuration/test/node/configurationService.test.ts index c9ba803c86f..d3ea1f4423e 100644 --- a/src/vs/workbench/services/configuration/test/node/configurationService.test.ts +++ b/src/vs/workbench/services/configuration/test/node/configurationService.test.ts @@ -11,7 +11,7 @@ import path = require('path'); import fs = require('fs'); import { TPromise } from 'vs/base/common/winjs.base'; import { Registry } from 'vs/platform/platform'; -import { ParsedArgs } from 'vs/platform/environment/node/argv'; +import { ParsedArgs } from 'vs/platform/environment/common/environment'; import { WorkspaceContextService } from 'vs/platform/workspace/common/workspace'; import { EnvironmentService } from 'vs/platform/environment/node/environmentService'; import { parseArgs } from 'vs/platform/environment/node/argv';