From 4fd1a5c3e68e663d19276bd49c7c83192208d6ff Mon Sep 17 00:00:00 2001 From: Daniel Imms Date: Tue, 9 Jan 2018 13:03:58 -0800 Subject: [PATCH] progress --- src/vs/code/electron-main/launch.ts | 9 +++------ src/vs/code/node/paths.ts | 4 ++++ src/vs/platform/environment/common/environment.ts | 1 + 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/vs/code/electron-main/launch.ts b/src/vs/code/electron-main/launch.ts index 6df3339f4a8..265a0dffc4a 100644 --- a/src/vs/code/electron-main/launch.ts +++ b/src/vs/code/electron-main/launch.ts @@ -117,13 +117,10 @@ export class LaunchService implements ILaunchService { private startOpenUrl(args: ParsedArgs): TPromise { const openUrlArg = args['open-url'] || []; - if (openUrlArg) { + if (openUrlArg && args._urls && args._urls.length) { // --open-url must contain -- followed by the url(s) - // process.argv is used over args._ as args._ are resolved to file paths on disk at this point - const dashDashIndex = process.argv.indexOf('--'); - for (let i = dashDashIndex + 1; i < process.argv.length; i++) { - this.urlService.open(process.argv[i]); - } + // process.argv is used over args._ as args._ are resolved to file paths at this point + args._urls.forEach(url => this.urlService.open(url)); return TPromise.as(null); } diff --git a/src/vs/code/node/paths.ts b/src/vs/code/node/paths.ts index 848b77a3c87..cafef96fd3a 100644 --- a/src/vs/code/node/paths.ts +++ b/src/vs/code/node/paths.ts @@ -15,6 +15,10 @@ import { ParsedArgs } from 'vs/platform/environment/common/environment'; import { realpathSync } from 'vs/base/node/extfs'; export function validatePaths(args: ParsedArgs): ParsedArgs { + // Track URLs if they're going to be used + if (args['open-url']) { + args._urls = args._; + } // Realpath/normalize paths and watch out for goto line mode const paths = doValidatePaths(args._, args.goto); diff --git a/src/vs/platform/environment/common/environment.ts b/src/vs/platform/environment/common/environment.ts index a4373df8616..ce3950c1c0f 100644 --- a/src/vs/platform/environment/common/environment.ts +++ b/src/vs/platform/environment/common/environment.ts @@ -9,6 +9,7 @@ import { LogLevel } from 'vs/platform/log/common/log'; export interface ParsedArgs { [arg: string]: any; _: string[]; + _urls?: string[]; help?: boolean; version?: boolean; status?: boolean; -- GitLab