提交 191756a0 编写于 作者: M Martin Aeschlimann

Option.key: keyof ParsedArgs

上级 6cee0791
......@@ -4,10 +4,11 @@
*--------------------------------------------------------------------------------------------*/
import * as assert from 'assert';
import { formatOptions, Option, addArg } from 'vs/platform/environment/node/argv';
import { ParsedArgs } from 'vs/platform/environment/common/environment';
suite('formatOptions', () => {
function o(id: string, description: string): Option {
function o(id: keyof ParsedArgs, description: string): Option {
return {
id, description, type: 'string'
};
......@@ -16,30 +17,30 @@ suite('formatOptions', () => {
test('Text should display small columns correctly', () => {
assert.deepEqual(
formatOptions([
o('foo', 'bar')
o('add', 'bar')
], 80),
[' --foo bar']
[' --add bar']
);
assert.deepEqual(
formatOptions([
o('f', 'bar'),
o('fo', 'ba'),
o('foo', 'b')
o('add', 'bar'),
o('wait', 'ba'),
o('trace', 'b')
], 80),
[
' --f bar',
' --fo ba',
' --foo b'
' --add bar',
' --wait ba',
' --trace b'
]);
});
test('Text should wrap', () => {
assert.deepEqual(
formatOptions([
o('foo', (<any>'bar ').repeat(9))
o('add', (<any>'bar ').repeat(9))
], 40),
[
' --foo bar bar bar bar bar bar bar bar',
' --add bar bar bar bar bar bar bar bar',
' bar'
]);
});
......@@ -47,10 +48,10 @@ suite('formatOptions', () => {
test('Text should revert to the condensed view when the terminal is too narrow', () => {
assert.deepEqual(
formatOptions([
o('foo', (<any>'bar ').repeat(9))
o('add', (<any>'bar ').repeat(9))
], 30),
[
' --foo',
' --add',
' bar bar bar bar bar bar bar bar bar '
]);
});
......
......@@ -72,8 +72,11 @@ export interface ParsedArgs {
'enable-remote-auto-shutdown'?: boolean;
'disable-inspect'?: boolean;
'force'?: boolean;
'js-flags'?: boolean;
'gitCredential'?: string;
// node flags
'js-flags'?: boolean;
'disable-gpu'?: boolean;
'nolazy'?: boolean;
}
export const IEnvironmentService = createDecorator<IEnvironmentService>('environmentService');
......
......@@ -21,7 +21,7 @@ const helpCategories = {
};
export interface Option {
id: string;
id: keyof ParsedArgs;
type: 'boolean' | 'string';
alias?: string;
deprecates?: string; // old deprecated id
......@@ -29,7 +29,7 @@ export interface Option {
description?: string;
cat?: keyof typeof helpCategories;
}
//_urls
export const options: Option[] = [
{ id: 'diff', type: 'boolean', cat: 'o', alias: 'd', args: ['file', 'file'], description: localize('diff', "Compare two files with each other.") },
{ id: 'add', type: 'boolean', cat: 'o', alias: 'a', args: 'folder', description: localize('add', "Add folder(s) to the last active window.") },
......@@ -85,17 +85,16 @@ export const options: Option[] = [
{ id: 'skip-add-to-recently-opened', type: 'boolean' },
{ id: 'unity-launch', type: 'boolean' },
{ id: 'open-url', type: 'boolean' },
{ id: 'nolazy', type: 'boolean' },
{ id: 'issue', type: 'boolean' },
{ id: 'file-write', type: 'boolean' },
{ id: 'file-chmod', type: 'boolean' },
{ id: 'driver-verbose', type: 'boolean' },
{ id: 'force', type: 'boolean' },
{ id: 'trace-category-filter', type: 'string' },
{ id: 'trace-options', type: 'string' },
{ id: 'prof-code-loading', type: 'boolean' },
{ id: 'js-flags', type: 'string' },
{ id: '_', type: 'string' }
{ id: '_', type: 'string' },
{ id: 'js-flags', type: 'string' }, // chrome js flags
{ id: 'nolazy', type: 'boolean' }, // node inspect
];
export function parseArgs(args: string[], isOptionSupported = (_: Option) => true): ParsedArgs {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册