mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-16 18:46:40 -05:00
open-url changes
This commit is contained in:
@@ -83,10 +83,10 @@ export class LaunchService implements ILaunchService {
|
|||||||
this.logService.log('Received data from other instance: ', args, userEnv);
|
this.logService.log('Received data from other instance: ', args, userEnv);
|
||||||
|
|
||||||
// Check early for open-url which is handled in URL service
|
// Check early for open-url which is handled in URL service
|
||||||
const openUrlArg = args['open-url'] || [];
|
if (args['open-url'] && args._urls && args._urls.length > 0) {
|
||||||
const openUrl = typeof openUrlArg === 'string' ? [openUrlArg] : openUrlArg;
|
// --open-url must contain -- followed by the url(s)
|
||||||
if (openUrl.length > 0) {
|
// process.argv is used over args._ as args._ are resolved to file paths at this point
|
||||||
openUrl.forEach(url => this.urlService.open(url));
|
args._urls.forEach(url => this.urlService.open(url));
|
||||||
|
|
||||||
return TPromise.as(null);
|
return TPromise.as(null);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ function createServices(args: ParsedArgs): IInstantiationService {
|
|||||||
services.set(IStorageService, new SyncDescriptor(StorageService));
|
services.set(IStorageService, new SyncDescriptor(StorageService));
|
||||||
services.set(IConfigurationService, new SyncDescriptor(ConfigurationService));
|
services.set(IConfigurationService, new SyncDescriptor(ConfigurationService));
|
||||||
services.set(IRequestService, new SyncDescriptor(RequestService));
|
services.set(IRequestService, new SyncDescriptor(RequestService));
|
||||||
services.set(IURLService, new SyncDescriptor(URLService, args['open-url']));
|
services.set(IURLService, new SyncDescriptor(URLService, args['open-url'] ? args._urls : []));
|
||||||
services.set(IBackupMainService, new SyncDescriptor(BackupMainService));
|
services.set(IBackupMainService, new SyncDescriptor(BackupMainService));
|
||||||
|
|
||||||
return new InstantiationService(services, true);
|
return new InstantiationService(services, true);
|
||||||
|
|||||||
@@ -15,6 +15,11 @@ import { ParsedArgs } from 'vs/platform/environment/common/environment';
|
|||||||
import { realpathSync } from 'vs/base/node/extfs';
|
import { realpathSync } from 'vs/base/node/extfs';
|
||||||
|
|
||||||
export function validatePaths(args: ParsedArgs): ParsedArgs {
|
export function validatePaths(args: ParsedArgs): ParsedArgs {
|
||||||
|
// Track URLs if they're going to be used
|
||||||
|
if (args['open-url']) {
|
||||||
|
args._urls = args._;
|
||||||
|
args._ = [];
|
||||||
|
}
|
||||||
|
|
||||||
// Realpath/normalize paths and watch out for goto line mode
|
// Realpath/normalize paths and watch out for goto line mode
|
||||||
const paths = doValidatePaths(args._, args.goto);
|
const paths = doValidatePaths(args._, args.goto);
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ import { createDecorator } from 'vs/platform/instantiation/common/instantiation'
|
|||||||
export interface ParsedArgs {
|
export interface ParsedArgs {
|
||||||
[arg: string]: any;
|
[arg: string]: any;
|
||||||
_: string[];
|
_: string[];
|
||||||
|
_urls?: string[];
|
||||||
help?: boolean;
|
help?: boolean;
|
||||||
version?: boolean;
|
version?: boolean;
|
||||||
wait?: boolean;
|
wait?: boolean;
|
||||||
@@ -38,7 +39,7 @@ export interface ParsedArgs {
|
|||||||
'install-extension'?: string | string[];
|
'install-extension'?: string | string[];
|
||||||
'uninstall-extension'?: string | string[];
|
'uninstall-extension'?: string | string[];
|
||||||
'enable-proposed-api'?: string | string[];
|
'enable-proposed-api'?: string | string[];
|
||||||
'open-url'?: string | string[];
|
'open-url'?: boolean;
|
||||||
'skip-getting-started'?: boolean;
|
'skip-getting-started'?: boolean;
|
||||||
'sticky-quickopen'?: boolean;
|
'sticky-quickopen'?: boolean;
|
||||||
'disable-telemetry'?: boolean;
|
'disable-telemetry'?: boolean;
|
||||||
|
|||||||
@@ -24,7 +24,6 @@ const options: minimist.Opts = {
|
|||||||
'debugBrkPluginHost',
|
'debugBrkPluginHost',
|
||||||
'debugSearch',
|
'debugSearch',
|
||||||
'debugBrkSearch',
|
'debugBrkSearch',
|
||||||
'open-url',
|
|
||||||
'enable-proposed-api',
|
'enable-proposed-api',
|
||||||
'export-default-configuration',
|
'export-default-configuration',
|
||||||
'install-source'
|
'install-source'
|
||||||
@@ -39,6 +38,7 @@ const options: minimist.Opts = {
|
|||||||
'new-window',
|
'new-window',
|
||||||
'unity-launch',
|
'unity-launch',
|
||||||
'reuse-window',
|
'reuse-window',
|
||||||
|
'open-url',
|
||||||
'performance',
|
'performance',
|
||||||
'prof-startup',
|
'prof-startup',
|
||||||
'verbose',
|
'verbose',
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ export class URLService implements IURLService {
|
|||||||
...globalBuffer
|
...globalBuffer
|
||||||
];
|
];
|
||||||
|
|
||||||
app.setAsDefaultProtocolClient(product.urlProtocol, process.execPath, ['--open-url']);
|
app.setAsDefaultProtocolClient(product.urlProtocol, process.execPath, ['--open-url', '--']);
|
||||||
|
|
||||||
const rawOnOpenUrl = fromEventEmitter(app, 'open-url', (event: Electron.Event, url: string) => ({ event, url }));
|
const rawOnOpenUrl = fromEventEmitter(app, 'open-url', (event: Electron.Event, url: string) => ({ event, url }));
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user