reduce ICommandLineArgs and let it extend ParsedArgs
This commit is contained in:
parent
bd1af53f54
commit
8c049b9bf4
3 changed files with 29 additions and 45 deletions
|
@ -20,32 +20,15 @@ import URI from 'vs/base/common/uri';
|
||||||
import * as types from 'vs/base/common/types';
|
import * as types from 'vs/base/common/types';
|
||||||
import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
|
import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
|
||||||
import product, { IProductConfiguration } from 'vs/platform/product';
|
import product, { IProductConfiguration } from 'vs/platform/product';
|
||||||
import { parseArgs } from 'vs/code/node/argv';
|
import { parseArgs, ParsedArgs } from 'vs/code/node/argv';
|
||||||
import pkg from 'vs/platform/package';
|
import pkg from 'vs/platform/package';
|
||||||
|
|
||||||
export interface IProcessEnvironment {
|
export interface IProcessEnvironment {
|
||||||
[key: string]: string;
|
[key: string]: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface ICommandLineArguments {
|
export interface ICommandLineArguments extends ParsedArgs {
|
||||||
verbose: boolean;
|
|
||||||
debugPluginHost: string;
|
|
||||||
debugBrkPluginHost: boolean;
|
|
||||||
debugBrkFileWatcherPort: string;
|
|
||||||
logExtensionHostCommunication: boolean;
|
|
||||||
'disable-extensions': boolean;
|
|
||||||
extensionHomePath: string;
|
|
||||||
extensionDevelopmentPath: string;
|
|
||||||
extensionTestsPath: string;
|
|
||||||
programStart: number;
|
|
||||||
pathArguments?: string[];
|
pathArguments?: string[];
|
||||||
performance?: boolean;
|
|
||||||
'new-window'?: boolean;
|
|
||||||
'reuse-window'?: boolean;
|
|
||||||
goto?: boolean;
|
|
||||||
diff?: boolean;
|
|
||||||
locale?: string;
|
|
||||||
wait?: boolean;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export const IEnvService = createDecorator<IEnvService>('mainEnvironmentService');
|
export const IEnvService = createDecorator<IEnvService>('mainEnvironmentService');
|
||||||
|
@ -168,12 +151,13 @@ export class EnvService implements IEnvService {
|
||||||
const debugBrkFileWatcherPort = getNumericValue(argv.debugBrkFileWatcherPort, void 0);
|
const debugBrkFileWatcherPort = getNumericValue(argv.debugBrkFileWatcherPort, void 0);
|
||||||
|
|
||||||
this._cliArgs = Object.freeze({
|
this._cliArgs = Object.freeze({
|
||||||
|
_: [],
|
||||||
pathArguments: pathArguments,
|
pathArguments: pathArguments,
|
||||||
programStart: types.isNumber(timestamp) ? timestamp : 0,
|
timestamp: types.isNumber(timestamp) ? String(timestamp) : '0',
|
||||||
performance: argv.performance,
|
performance: argv.performance,
|
||||||
verbose: argv.verbose,
|
verbose: argv.verbose,
|
||||||
debugPluginHost,
|
debugPluginHost,
|
||||||
debugBrkPluginHost: !!debugBrkExtensionHostPort,
|
debugBrkPluginHost: String(!!debugBrkExtensionHostPort),
|
||||||
logExtensionHostCommunication: argv.logExtensionHostCommunication,
|
logExtensionHostCommunication: argv.logExtensionHostCommunication,
|
||||||
debugBrkFileWatcherPort: debugBrkFileWatcherPort ? String(debugBrkFileWatcherPort) : void 0,
|
debugBrkFileWatcherPort: debugBrkFileWatcherPort ? String(debugBrkFileWatcherPort) : void 0,
|
||||||
'new-window': argv['new-window'],
|
'new-window': argv['new-window'],
|
||||||
|
|
|
@ -135,7 +135,7 @@ function main(accessor: ServicesAccessor, mainIpcServer: Server, userEnv: IProce
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set programStart in the global scope
|
// Set programStart in the global scope
|
||||||
global.programStart = envService.cliArgs.programStart;
|
global.programStart = envService.cliArgs.timestamp;
|
||||||
|
|
||||||
function dispose() {
|
function dispose() {
|
||||||
if (mainIpcServer) {
|
if (mainIpcServer) {
|
||||||
|
|
|
@ -8,29 +8,29 @@ import * as minimist from 'minimist';
|
||||||
import { localize } from 'vs/nls';
|
import { localize } from 'vs/nls';
|
||||||
|
|
||||||
export interface ParsedArgs extends minimist.ParsedArgs {
|
export interface ParsedArgs extends minimist.ParsedArgs {
|
||||||
help: boolean;
|
help?: boolean;
|
||||||
version: boolean;
|
version?: boolean;
|
||||||
wait: boolean;
|
wait?: boolean;
|
||||||
diff: boolean;
|
diff?: boolean;
|
||||||
goto: boolean;
|
goto?: boolean;
|
||||||
'new-window': boolean;
|
'new-window'?: boolean;
|
||||||
'reuse-window': boolean;
|
'reuse-window'?: boolean;
|
||||||
locale: string;
|
locale?: string;
|
||||||
'user-data-dir': string;
|
'user-data-dir'?: string;
|
||||||
performance: boolean;
|
performance?: boolean;
|
||||||
verbose: boolean;
|
verbose?: boolean;
|
||||||
logExtensionHostCommunication: boolean;
|
logExtensionHostCommunication?: boolean;
|
||||||
debugBrkFileWatcherPort: string;
|
debugBrkFileWatcherPort?: string;
|
||||||
'disable-extensions': boolean;
|
'disable-extensions'?: boolean;
|
||||||
extensionHomePath: string;
|
extensionHomePath?: string;
|
||||||
extensionDevelopmentPath: string;
|
extensionDevelopmentPath?: string;
|
||||||
extensionTestsPath: string;
|
extensionTestsPath?: string;
|
||||||
timestamp: string;
|
timestamp?: string;
|
||||||
debugBrkPluginHost: string;
|
debugBrkPluginHost?: string;
|
||||||
debugPluginHost: string;
|
debugPluginHost?: string;
|
||||||
'list-extensions': boolean;
|
'list-extensions'?: boolean;
|
||||||
'install-extension': string | string[];
|
'install-extension'?: string | string[];
|
||||||
'uninstall-extension': string | string[];
|
'uninstall-extension'?: string | string[];
|
||||||
}
|
}
|
||||||
|
|
||||||
const options: minimist.Opts = {
|
const options: minimist.Opts = {
|
||||||
|
|
Loading…
Reference in a new issue