Move code action documentation contribution point to come from metadata

For #86788
This commit is contained in:
Matt Bierner
2020-02-11 11:36:10 -08:00
parent 7a1ab29427
commit fb622a8b83
13 changed files with 143 additions and 43 deletions

View File

@@ -1576,9 +1576,17 @@ export class ExtHostLanguageFeatures implements extHostProtocol.ExtHostLanguageF
// --- quick fix
registerCodeActionProvider(extension: IExtensionDescription, selector: vscode.DocumentSelector, provider: vscode.CodeActionProvider, metadata?: vscode.CodeActionProviderMetadata): vscode.Disposable {
const store = new DisposableStore();
const handle = this._addNewAdapter(new CodeActionAdapter(this._documents, this._commands.converter, this._diagnostics, provider, this._logService, extension, this._apiDeprecation), extension);
this._proxy.$registerQuickFixSupport(handle, this._transformDocumentSelector(selector), (metadata && metadata.providedCodeActionKinds) ? metadata.providedCodeActionKinds.map(kind => kind.value) : undefined);
return this._createDisposable(handle);
this._proxy.$registerQuickFixSupport(handle, this._transformDocumentSelector(selector), {
providedKinds: metadata?.providedCodeActionKinds?.map(kind => kind.value),
documentation: metadata?.documentation?.map(x => ({
kind: x.kind.value,
command: this._commands.converter.toInternal(x.command, store),
}))
});
store.add(this._createDisposable(handle));
return store;
}