mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-16 10:58:30 -05:00
Merge from vscode 27ada910e121e23a6d95ecca9cae595fb98ab568
This commit is contained in:
@@ -36,6 +36,7 @@ export interface ParsedArgs {
|
||||
log?: string;
|
||||
logExtensionHostCommunication?: boolean;
|
||||
'extensions-dir'?: string;
|
||||
'extensions-download-dir'?: string;
|
||||
'builtin-extensions-dir'?: string;
|
||||
extensionDevelopmentPath?: string[]; // // undefined or array of 1 or more local paths or URIs
|
||||
extensionTestsPath?: string; // either a local path or a URI
|
||||
@@ -54,7 +55,7 @@ export interface ParsedArgs {
|
||||
'locate-extension'?: string[]; // undefined or array of 1 or more
|
||||
'enable-proposed-api'?: string[]; // undefined or array of 1 or more
|
||||
'open-url'?: boolean;
|
||||
'skip-getting-started'?: boolean;
|
||||
'skip-release-notes'?: boolean;
|
||||
'disable-restore-windows'?: boolean;
|
||||
'disable-telemetry'?: boolean;
|
||||
'export-default-configuration'?: string;
|
||||
@@ -143,6 +144,7 @@ export const OPTIONS: OptionDescriptions<Required<ParsedArgs>> = {
|
||||
'help': { type: 'boolean', cat: 'o', alias: 'h', description: localize('help', "Print usage.") },
|
||||
|
||||
'extensions-dir': { type: 'string', deprecates: 'extensionHomePath', cat: 'e', args: 'dir', description: localize('extensionHomePath', "Set the root path for extensions.") },
|
||||
'extensions-download-dir': { type: 'string' },
|
||||
'builtin-extensions-dir': { type: 'string' },
|
||||
'list-extensions': { type: 'boolean', cat: 'e', description: localize('listExtensions', "List the installed extensions.") },
|
||||
'show-versions': { type: 'boolean', cat: 'e', description: localize('showVersions', "Show versions of installed extensions, when using --list-extension.") },
|
||||
@@ -179,7 +181,7 @@ export const OPTIONS: OptionDescriptions<Required<ParsedArgs>> = {
|
||||
'install-source': { type: 'string' },
|
||||
'driver': { type: 'string' },
|
||||
'logExtensionHostCommunication': { type: 'boolean' },
|
||||
'skip-getting-started': { type: 'boolean' },
|
||||
'skip-release-notes': { type: 'boolean' },
|
||||
'disable-restore-windows': { type: 'boolean' },
|
||||
'disable-telemetry': { type: 'boolean' },
|
||||
'disable-updates': { type: 'boolean' },
|
||||
@@ -265,23 +267,25 @@ export function parseArgs<T>(args: string[], options: OptionDescriptions<T>, err
|
||||
const parsedArgs = minimist(args, { string, boolean, alias });
|
||||
|
||||
const cleanedArgs: any = {};
|
||||
const remainingArgs: any = parsedArgs;
|
||||
|
||||
// https://github.com/microsoft/vscode/issues/58177
|
||||
cleanedArgs._ = parsedArgs._.filter(arg => arg.length > 0);
|
||||
delete parsedArgs._;
|
||||
|
||||
delete remainingArgs._;
|
||||
|
||||
for (let optionId in options) {
|
||||
const o = options[optionId];
|
||||
if (o.alias) {
|
||||
delete parsedArgs[o.alias];
|
||||
delete remainingArgs[o.alias];
|
||||
}
|
||||
|
||||
let val = parsedArgs[optionId];
|
||||
if (o.deprecates && parsedArgs.hasOwnProperty(o.deprecates)) {
|
||||
let val = remainingArgs[optionId];
|
||||
if (o.deprecates && remainingArgs.hasOwnProperty(o.deprecates)) {
|
||||
if (!val) {
|
||||
val = parsedArgs[o.deprecates];
|
||||
val = remainingArgs[o.deprecates];
|
||||
}
|
||||
delete parsedArgs[o.deprecates];
|
||||
delete remainingArgs[o.deprecates];
|
||||
}
|
||||
|
||||
if (typeof val !== 'undefined') {
|
||||
@@ -297,10 +301,10 @@ export function parseArgs<T>(args: string[], options: OptionDescriptions<T>, err
|
||||
}
|
||||
cleanedArgs[optionId] = val;
|
||||
}
|
||||
delete parsedArgs[optionId];
|
||||
delete remainingArgs[optionId];
|
||||
}
|
||||
|
||||
for (let key in parsedArgs) {
|
||||
for (let key in remainingArgs) {
|
||||
errorReporter.onUnknownOption(key);
|
||||
}
|
||||
|
||||
|
||||
@@ -36,6 +36,7 @@ export interface INativeEnvironmentService extends IEnvironmentService {
|
||||
installSourcePath: string;
|
||||
|
||||
extensionsPath?: string;
|
||||
extensionsDownloadPath?: string;
|
||||
builtinExtensionsPath: string;
|
||||
|
||||
globalStorageHome: string;
|
||||
@@ -150,6 +151,10 @@ export class EnvironmentService implements INativeEnvironmentService {
|
||||
}
|
||||
}
|
||||
|
||||
get extensionsDownloadPath(): string | undefined {
|
||||
return parsePathArg(this._args['extensions-download-dir'], process);
|
||||
}
|
||||
|
||||
@memoize
|
||||
get extensionsPath(): string {
|
||||
const fromArgs = parsePathArg(this._args['extensions-dir'], process);
|
||||
|
||||
Reference in New Issue
Block a user