diff --git a/src/vs/editor/contrib/referenceSearch/browser/referenceSearch.ts b/src/vs/editor/contrib/referenceSearch/browser/referenceSearch.ts index 04a38ad45d6..7a7f3574738 100644 --- a/src/vs/editor/contrib/referenceSearch/browser/referenceSearch.ts +++ b/src/vs/editor/contrib/referenceSearch/browser/referenceSearch.ts @@ -360,13 +360,11 @@ KeybindingsRegistry.registerCommandDesc({ primary: undefined, description: { description: 'Show references at a position in a file', - signature: { - args: [ - { name: 'uri', description: 'The text document in which to show references', constraint: URI }, - { name: 'position', description: 'The position at which to show', constraint: Position.isIPosition }, - { name: 'locations', description: 'An array of locations.', constraint: Array }, - ] - } + args: [ + { name: 'uri', description: 'The text document in which to show references', constraint: URI }, + { name: 'position', description: 'The position at which to show', constraint: Position.isIPosition }, + { name: 'locations', description: 'An array of locations.', constraint: Array }, + ] } }); CommonEditorRegistry.registerEditorCommand('closeReferenceSearch', CommonEditorRegistry.commandWeight(50), { primary: KeyCode.Escape }, false, CONTEXT_REFERENCE_SEARCH_VISIBLE, (accessor, editor, args) => { diff --git a/src/vs/platform/keybinding/common/keybindingService.ts b/src/vs/platform/keybinding/common/keybindingService.ts index 1a3f9732dfd..45caf230232 100644 --- a/src/vs/platform/keybinding/common/keybindingService.ts +++ b/src/vs/platform/keybinding/common/keybindingService.ts @@ -59,10 +59,8 @@ export interface ICommandHandler { export interface ICommandHandlerDescription { description: string; - signature: { - args: { name: string; description?: string; constraint?: TypeConstraint;}[]; - returns?: string; - } + args: { name: string; description?: string; constraint?: TypeConstraint; }[]; + returns?: string; } export interface ICommandsMap { diff --git a/src/vs/platform/keybinding/common/keybindingsRegistry.ts b/src/vs/platform/keybinding/common/keybindingsRegistry.ts index 4a31c7f1721..64b3cfb5dd7 100644 --- a/src/vs/platform/keybinding/common/keybindingsRegistry.ts +++ b/src/vs/platform/keybinding/common/keybindingsRegistry.ts @@ -98,7 +98,7 @@ class KeybindingsRegistryImpl implements IKeybindingsRegistry { if (typeof description === 'object') { const metadata = description; const constraints: TypeConstraint[] = []; - for (let arg of metadata.signature.args) { + for (let arg of metadata.args) { constraints.push(arg.constraint); } handler = function(accesor, args) { diff --git a/src/vs/workbench/api/common/extHostApiCommands.ts b/src/vs/workbench/api/common/extHostApiCommands.ts index cadc2917d83..01c4875a8d3 100644 --- a/src/vs/workbench/api/common/extHostApiCommands.ts +++ b/src/vs/workbench/api/common/extHostApiCommands.ts @@ -47,142 +47,115 @@ export class ExtHostApiCommands { this._register('vscode.executeWorkspaceSymbolProvider', this._executeWorkspaceSymbolProvider, { description: 'Execute all workspace symbol provider.', - signature: { - args: [{ name: 'query', constraint: String }], - returns: 'A promise that resolves to an array of SymbolInformation-instances.' - } + args: [{ name: 'query', constraint: String }], + returns: 'A promise that resolves to an array of SymbolInformation-instances.' + }); this._register('vscode.executeDefinitionProvider', this._executeDefinitionProvider, { description: 'Execute all definition provider.', - signature: { - args: [ - { name: 'uri', description: 'Uri of a text document', constraint: URI }, - { name: 'position', description: 'Position of a symbol', constraint: types.Position } - ], - returns: 'A promise that resolves to an array of Location-instances.' - } + args: [ + { name: 'uri', description: 'Uri of a text document', constraint: URI }, + { name: 'position', description: 'Position of a symbol', constraint: types.Position } + ], + returns: 'A promise that resolves to an array of Location-instances.' }); this._register('vscode.executeHoverProvider', this._executeHoverProvider, { description: 'Execute all definition provider.', - signature: { - args: [ - { name: 'uri', description: 'Uri of a text document', constraint: URI }, - { name: 'position', description: 'Position of a symbol', constraint: types.Position } - ], - returns: 'A promise that resolves to an array of Hover-instances.' - } + args: [ + { name: 'uri', description: 'Uri of a text document', constraint: URI }, + { name: 'position', description: 'Position of a symbol', constraint: types.Position } + ], + returns: 'A promise that resolves to an array of Hover-instances.' }); this._register('vscode.executeDocumentHighlights', this._executeDocumentHighlights, { description: 'Execute document highlight provider.', - signature: { - args: [ - { name: 'uri', description: 'Uri of a text document', constraint: URI }, - { name: 'position', description: 'Position in a text document', constraint: types.Position } - ], - returns: 'A promise that resolves to an array of DocumentHighlight-instances.' - } + args: [ + { name: 'uri', description: 'Uri of a text document', constraint: URI }, + { name: 'position', description: 'Position in a text document', constraint: types.Position } + ], + returns: 'A promise that resolves to an array of DocumentHighlight-instances.' }); this._register('vscode.executeReferenceProvider', this._executeReferenceProvider, { description: 'Execute reference provider.', - signature: { - args: [ - { name: 'uri', description: 'Uri of a text document', constraint: URI }, - { name: 'position', description: 'Position in a text document', constraint: types.Position } - ], - returns: 'A promise that resolves to an array of Location-instances.' - } + args: [ + { name: 'uri', description: 'Uri of a text document', constraint: URI }, + { name: 'position', description: 'Position in a text document', constraint: types.Position } + ], + returns: 'A promise that resolves to an array of Location-instances.' }); this._register('vscode.executeDocumentRenameProvider', this._executeDocumentRenameProvider, { description: 'Execute rename provider.', - signature: { - args: [ - { name: 'uri', description: 'Uri of a text document', constraint: URI }, - { name: 'position', description: 'Position in a text document', constraint: types.Position }, - { name: 'newName', description: 'The new symbol name', constraint: String } - ], - returns: 'A promise that resolves to a WorkspaceEdit.' - } + args: [ + { name: 'uri', description: 'Uri of a text document', constraint: URI }, + { name: 'position', description: 'Position in a text document', constraint: types.Position }, + { name: 'newName', description: 'The new symbol name', constraint: String } + ], + returns: 'A promise that resolves to a WorkspaceEdit.' }); this._register('vscode.executeSignatureHelpProvider', this._executeSignatureHelpProvider, { description: 'Execute signature help provider.', - signature: { - args: [ - { name: 'uri', description: 'Uri of a text document', constraint: URI }, - { name: 'position', description: 'Position in a text document', constraint: types.Position } - ], - returns: 'A promise that resolves to SignatureHelp.' - } + args: [ + { name: 'uri', description: 'Uri of a text document', constraint: URI }, + { name: 'position', description: 'Position in a text document', constraint: types.Position } + ], + returns: 'A promise that resolves to SignatureHelp.' }); this._register('vscode.executeDocumentSymbolProvider', this._executeDocumentSymbolProvider, { description: 'Execute document symbol provider.', - signature: { - args: [ - { name: 'uri', description: 'Uri of a text document', constraint: URI } - ], - returns: 'A promise that resolves to an array of SymbolInformation-instances.' - } + args: [ + { name: 'uri', description: 'Uri of a text document', constraint: URI } + ], + returns: 'A promise that resolves to an array of SymbolInformation-instances.' }); this._register('vscode.executeCompletionItemProvider', this._executeCompletionItemProvider, { description: 'Execute completion item provider.', - signature: { - args: [ - { name: 'uri', description: 'Uri of a text document', constraint: URI }, - { name: 'position', description: 'Position in a text document', constraint: types.Position } - ], - returns: 'A promise that resolves to an array of CompletionItem-instances.' - } + args: [ + { name: 'uri', description: 'Uri of a text document', constraint: URI }, + { name: 'position', description: 'Position in a text document', constraint: types.Position } + ], + returns: 'A promise that resolves to an array of CompletionItem-instances.' }); this._register('vscode.executeCodeActionProvider', this._executeCodeActionProvider, { description: 'Execute code action provider.', - signature: { - args: [ - { name: 'uri', description: 'Uri of a text document', constraint: URI }, - { name: 'range', description: 'Range in a text document', constraint: types.Range } - ], - returns: 'A promise that resolves to an array of CompletionItem-instances.' - } + args: [ + { name: 'uri', description: 'Uri of a text document', constraint: URI }, + { name: 'range', description: 'Range in a text document', constraint: types.Range } + ], + returns: 'A promise that resolves to an array of CompletionItem-instances.' }); this._register('vscode.executeCodeLensProvider', this._executeCodeLensProvider, { description: 'Execute completion item provider.', - signature: { - args: [ - { name: 'uri', description: 'Uri of a text document', constraint: URI } - ], - returns: 'A promise that resolves to an array of Commands.' - } + args: [ + { name: 'uri', description: 'Uri of a text document', constraint: URI } + ], + returns: 'A promise that resolves to an array of Commands.' }); this._register('vscode.executeFormatDocumentProvider', this._executeFormatDocumentProvider, { description: 'Execute document format provider.', - signature: { - args: [ - { name: 'uri', description: 'Uri of a text document', constraint: URI }, - { name: 'options', description: 'Formatting options' } - ], - returns: 'A promise that resolves to an array of TextEdits.' - } + args: [ + { name: 'uri', description: 'Uri of a text document', constraint: URI }, + { name: 'options', description: 'Formatting options' } + ], + returns: 'A promise that resolves to an array of TextEdits.' }); this._register('vscode.executeFormatRangeProvider', this._executeFormatRangeProvider, { description: 'Execute range format provider.', - signature: { - args: [ - { name: 'uri', description: 'Uri of a text document', constraint: URI }, - { name: 'range', description: 'Range in a text document', constraint: types.Range }, - { name: 'options', description: 'Formatting options' } - ], - returns: 'A promise that resolves to an array of TextEdits.' - } + args: [ + { name: 'uri', description: 'Uri of a text document', constraint: URI }, + { name: 'range', description: 'Range in a text document', constraint: types.Range }, + { name: 'options', description: 'Formatting options' } + ], + returns: 'A promise that resolves to an array of TextEdits.' }); this._register('vscode.executeFormatOnTypeProvider', this._executeFormatOnTypeProvider, { description: 'Execute document format provider.', - signature: { - args: [ - { name: 'uri', description: 'Uri of a text document', constraint: URI }, - { name: 'position', description: 'Position in a text document', constraint: types.Position }, - { name: 'ch', description: 'Character that got typed', constraint: String }, - { name: 'options', description: 'Formatting options' } - ], - returns: 'A promise that resolves to an array of TextEdits.' - } + args: [ + { name: 'uri', description: 'Uri of a text document', constraint: URI }, + { name: 'position', description: 'Position in a text document', constraint: types.Position }, + { name: 'ch', description: 'Character that got typed', constraint: String }, + { name: 'options', description: 'Formatting options' } + ], + returns: 'A promise that resolves to an array of TextEdits.' }); } @@ -335,7 +308,7 @@ export class ExtHostApiCommands { }); } - private _executeCodeLensProvider(resource: URI): Thenable{ + private _executeCodeLensProvider(resource: URI): Thenable { const args = { resource }; return this._commands.executeCommand('_executeCodeLensProvider', args).then(value => { if (Array.isArray(value)) { @@ -372,7 +345,7 @@ export class ExtHostApiCommands { }); } - private _executeFormatOnTypeProvider(resource: URI, position: types.Position, ch:string, options: vscode.FormattingOptions): Thenable { + private _executeFormatOnTypeProvider(resource: URI, position: types.Position, ch: string, options: vscode.FormattingOptions): Thenable { const args = { resource, position: typeConverters.fromPosition(position), diff --git a/src/vs/workbench/api/common/pluginHostCommands.ts b/src/vs/workbench/api/common/pluginHostCommands.ts index 9147f97d108..dd78bc868d2 100644 --- a/src/vs/workbench/api/common/pluginHostCommands.ts +++ b/src/vs/workbench/api/common/pluginHostCommands.ts @@ -107,8 +107,8 @@ export class PluginHostCommands { try { let {callback, thisArg, description} = command; if (description) { - for (let i = 0; i < description.signature.args.length; i++) { - validateConstraint(args[i], description.signature.args[i].constraint); + for (let i = 0; i < description.args.length; i++) { + validateConstraint(args[i], description.args[i].constraint); } } let result = callback.apply(thisArg, args); @@ -208,8 +208,7 @@ KeybindingsRegistry.registerCommandDesc({ return accessor.get(IThreadService).getRemotable(MainThreadCommands).$getCommandHandlerDescriptions().then(result => { const all: string[] = []; for (let id in result) { - all.push('`' + id + '`\n'); - all.push(_generateMarkdown(result[id])) + all.push('`' + id + '` - ' + _generateMarkdown(result[id])) } console.log(all.join('\n')); }); @@ -225,13 +224,13 @@ function _generateMarkdown(description: string | ICommandHandlerDescription): st } else { let parts = [description.description]; parts.push('\n\n'); - if (description.signature.args) { - for (let arg of description.signature.args) { - parts.push(`* _${arg.name}_ ${arg.description}\n`); + if (description.args) { + for (let arg of description.args) { + parts.push(`* _${arg.name}_ ${arg.description || ''}\n`); } } - if (description.signature.returns) { - parts.push(`\n _(returns)_ ${description.signature.returns}`); + if (description.returns) { + parts.push(`* _(returns)_ ${description.returns}`); } parts.push('\n\n'); return parts.join('');