提交 dccb8367 编写于 作者: J Joao Moreno

remove parseNumber, parseString

上级 b1351708
...@@ -21,12 +21,22 @@ export interface ParsedArgs extends minimist.ParsedArgs { ...@@ -21,12 +21,22 @@ export interface ParsedArgs extends minimist.ParsedArgs {
verbose: boolean; verbose: boolean;
logExtensionHostCommunication: boolean; logExtensionHostCommunication: boolean;
'disable-extensions': boolean; 'disable-extensions': boolean;
extensionHomePath: string;
extensionDevelopmentPath: string;
extensionTestsPath: string;
timestamp: string;
debugBrkPluginHost: string;
debugPluginHost: string;
} }
const options: minimist.Opts = { const options: minimist.Opts = {
string: [ string: [
'locale', 'locale',
'user-data-dir' 'user-data-dir',
'extensionHomePath',
'extensionDevelopmentPath',
'extensionTestsPath',
'timestamp'
], ],
boolean: [ boolean: [
'help', 'help',
......
...@@ -67,6 +67,20 @@ export interface IEnvironmentService { ...@@ -67,6 +67,20 @@ export interface IEnvironmentService {
sharedIPCHandle: string; sharedIPCHandle: string;
} }
function getNumericValue(value: string, defaultValue: number, fallback: number = void 0) {
const numericValue = parseInt(value);
if (types.isNumber(numericValue)) {
return numericValue;
}
if (value) {
return defaultValue;
}
return fallback;
}
export class EnvService implements IEnvironmentService { export class EnvService implements IEnvironmentService {
serviceId = IEnvironmentService; serviceId = IEnvironmentService;
...@@ -145,39 +159,29 @@ export class EnvService implements IEnvironmentService { ...@@ -145,39 +159,29 @@ export class EnvService implements IEnvironmentService {
args = [...extraargs, ...args]; args = [...extraargs, ...args];
} }
const debugBrkExtensionHostPort = parseNumber(args, '--debugBrkPluginHost', 5870);
let debugExtensionHostPort: number;
let debugBrkExtensionHost: boolean;
if (debugBrkExtensionHostPort) {
debugExtensionHostPort = debugBrkExtensionHostPort;
debugBrkExtensionHost = true;
} else {
debugExtensionHostPort = parseNumber(args, '--debugPluginHost', 5870, this.isBuilt ? void 0 : 5870);
}
const argv = parseArgs(args); const argv = parseArgs(args);
const debugBrkExtensionHostPort = getNumericValue(argv.debugBrkPluginHost, 5870);
const debugExtensionHostPort = getNumericValue(argv.debugPluginHost, 5870, this.isBuilt ? void 0 : 5870);
const pathArguments = parsePathArguments(this._currentWorkingDirectory, args, argv.goto); const pathArguments = parsePathArguments(this._currentWorkingDirectory, args, argv.goto);
const timestamp = parseInt(argv.timestamp);
this._cliArgs = Object.freeze({ this._cliArgs = Object.freeze({
pathArguments: pathArguments, pathArguments: pathArguments,
programStart: parseNumber(args, '--timestamp', 0, 0), programStart: types.isNumber(timestamp) ? timestamp : 0,
enablePerformance: argv.performance, enablePerformance: argv.performance,
verboseLogging: argv.verbose, verboseLogging: argv.verbose,
debugExtensionHostPort: debugExtensionHostPort, debugExtensionHostPort: debugBrkExtensionHostPort || debugExtensionHostPort,
debugBrkExtensionHost: debugBrkExtensionHost, debugBrkExtensionHost: !!debugBrkExtensionHostPort,
logExtensionHostCommunication: argv.logExtensionHostCommunication, logExtensionHostCommunication: argv.logExtensionHostCommunication,
openNewWindow: argv['new-window'], openNewWindow: argv['new-window'],
openInSameWindow: argv['reuse-window'], openInSameWindow: argv['reuse-window'],
gotoLineMode: argv.goto, gotoLineMode: argv.goto,
diffMode: argv.diff && pathArguments.length === 2, diffMode: argv.diff && pathArguments.length === 2,
extensionsHomePath: normalizePath(parseString(args, '--extensionHomePath')), extensionsHomePath: normalizePath(argv.extensionHomePath),
extensionDevelopmentPath: normalizePath(parseString(args, '--extensionDevelopmentPath')), extensionDevelopmentPath: normalizePath(argv.extensionDevelopmentPath),
extensionTestsPath: normalizePath(parseString(args, '--extensionTestsPath')), extensionTestsPath: normalizePath(argv.extensionTestsPath),
disableExtensions: argv['disable-extensions'], disableExtensions: argv['disable-extensions'],
locale: parseString(args, '--locale'), locale: argv.locale,
waitForWindowClose: argv.wait waitForWindowClose: argv.wait
}); });
...@@ -317,34 +321,6 @@ function normalizePath(p?: string): string { ...@@ -317,34 +321,6 @@ function normalizePath(p?: string): string {
return p ? path.normalize(p) : p; return p ? path.normalize(p) : p;
} }
function parseNumber(argv: string[], key: string, defaultValue?: number, fallbackValue?: number): number {
let value: number;
for (let i = 0; i < argv.length; i++) {
let segments = argv[i].split('=');
if (segments[0] === key) {
value = Number(segments[1]) || defaultValue;
break;
}
}
return types.isNumber(value) ? value : fallbackValue;
}
function parseString(argv: string[], key: string, defaultValue?: string, fallbackValue?: string): string {
let value: string;
for (let i = 0; i < argv.length; i++) {
let segments = argv[i].split('=');
if (segments[0] === key) {
value = String(segments[1]) || defaultValue;
break;
}
}
return types.isString(value) ? strings.trim(value, '"') : fallbackValue;
}
export function getPlatformIdentifier(): string { export function getPlatformIdentifier(): string {
if (process.platform === 'linux') { if (process.platform === 'linux') {
return `linux-${process.arch}`; return `linux-${process.arch}`;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册