modernize vscode.executeSignatureHelpProvider-command

This commit is contained in:
Johannes Rieken
2020-11-13 10:08:57 +01:00
parent 883936de2e
commit 74703883e3
3 changed files with 40 additions and 76 deletions

View File

@@ -4,8 +4,6 @@
*--------------------------------------------------------------------------------------------*/
import * as nls from 'vs/nls';
import { IPosition } from 'vs/base/browser/ui/contextview/contextview';
import { illegalArgument } from 'vs/base/common/errors';
import { URI } from 'vs/base/common/uri';
import { ICodeEditor, IDiffEditor } from 'vs/editor/browser/editorBrowser';
import { ICodeEditorService } from 'vs/editor/browser/services/codeEditorService';
@@ -413,43 +411,6 @@ export function registerLanguageCommand<Args extends { [n: string]: any; }>(id:
CommandsRegistry.registerCommand(id, (accessor, args) => handler(accessor, args || {}));
}
interface IDefaultArgs {
resource: URI;
position: IPosition;
[name: string]: any;
}
export function registerDefaultLanguageCommand(id: string, handler: (model: ITextModel, position: Position, args: IDefaultArgs) => any) {
registerLanguageCommand(id, function (accessor, args: IDefaultArgs) {
const { resource, position } = args;
if (!(resource instanceof URI)) {
throw illegalArgument('resource');
}
if (!Position.isIPosition(position)) {
throw illegalArgument('position');
}
const model = accessor.get(IModelService).getModel(resource);
if (model) {
const editorPosition = Position.lift(position);
return handler(model, editorPosition, args);
}
return accessor.get(ITextModelService).createModelReference(resource).then(reference => {
return new Promise((resolve, reject) => {
try {
const result = handler(reference.object.textEditorModel, Position.lift(position), args);
resolve(result);
} catch (err) {
reject(err);
}
}).finally(() => {
reference.dispose();
});
});
});
}
export function registerModelAndPositionCommand(id: string, handler: (model: ITextModel, position: Position, ...args: any[]) => any) {
CommandsRegistry.registerCommand(id, function (accessor, ...args) {