34 lines
1.9 KiB
JavaScript
34 lines
1.9 KiB
JavaScript
/* --------------------------------------------------------------------------------------------
|
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
* ------------------------------------------------------------------------------------------ */
|
|
'use strict';
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.CallHierarchyFeature = void 0;
|
|
const vscode_languageserver_protocol_1 = require("vscode-languageserver-protocol");
|
|
const CallHierarchyFeature = (Base) => {
|
|
return class extends Base {
|
|
get callHierarchy() {
|
|
return {
|
|
onPrepare: (handler) => {
|
|
return this.connection.onRequest(vscode_languageserver_protocol_1.CallHierarchyPrepareRequest.type, (params, cancel) => {
|
|
return handler(params, cancel, this.attachWorkDoneProgress(params), undefined);
|
|
});
|
|
},
|
|
onIncomingCalls: (handler) => {
|
|
const type = vscode_languageserver_protocol_1.CallHierarchyIncomingCallsRequest.type;
|
|
return this.connection.onRequest(type, (params, cancel) => {
|
|
return handler(params, cancel, this.attachWorkDoneProgress(params), this.attachPartialResultProgress(type, params));
|
|
});
|
|
},
|
|
onOutgoingCalls: (handler) => {
|
|
const type = vscode_languageserver_protocol_1.CallHierarchyOutgoingCallsRequest.type;
|
|
return this.connection.onRequest(type, (params, cancel) => {
|
|
return handler(params, cancel, this.attachWorkDoneProgress(params), this.attachPartialResultProgress(type, params));
|
|
});
|
|
}
|
|
};
|
|
}
|
|
};
|
|
};
|
|
exports.CallHierarchyFeature = CallHierarchyFeature;
|