add hw2
This commit is contained in:
44
node_modules/vscode-languageserver/lib/common/workspaceFolder.js
generated
vendored
Normal file
44
node_modules/vscode-languageserver/lib/common/workspaceFolder.js
generated
vendored
Normal file
@@ -0,0 +1,44 @@
|
||||
/* --------------------------------------------------------------------------------------------
|
||||
* 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.WorkspaceFoldersFeature = void 0;
|
||||
const vscode_languageserver_protocol_1 = require("vscode-languageserver-protocol");
|
||||
const WorkspaceFoldersFeature = (Base) => {
|
||||
return class extends Base {
|
||||
constructor() {
|
||||
super();
|
||||
this._notificationIsAutoRegistered = false;
|
||||
}
|
||||
initialize(capabilities) {
|
||||
super.initialize(capabilities);
|
||||
let workspaceCapabilities = capabilities.workspace;
|
||||
if (workspaceCapabilities && workspaceCapabilities.workspaceFolders) {
|
||||
this._onDidChangeWorkspaceFolders = new vscode_languageserver_protocol_1.Emitter();
|
||||
this.connection.onNotification(vscode_languageserver_protocol_1.DidChangeWorkspaceFoldersNotification.type, (params) => {
|
||||
this._onDidChangeWorkspaceFolders.fire(params.event);
|
||||
});
|
||||
}
|
||||
}
|
||||
fillServerCapabilities(capabilities) {
|
||||
super.fillServerCapabilities(capabilities);
|
||||
const changeNotifications = capabilities.workspace?.workspaceFolders?.changeNotifications;
|
||||
this._notificationIsAutoRegistered = changeNotifications === true || typeof changeNotifications === 'string';
|
||||
}
|
||||
getWorkspaceFolders() {
|
||||
return this.connection.sendRequest(vscode_languageserver_protocol_1.WorkspaceFoldersRequest.type);
|
||||
}
|
||||
get onDidChangeWorkspaceFolders() {
|
||||
if (!this._onDidChangeWorkspaceFolders) {
|
||||
throw new Error('Client doesn\'t support sending workspace folder change events.');
|
||||
}
|
||||
if (!this._notificationIsAutoRegistered && !this._unregistration) {
|
||||
this._unregistration = this.connection.client.register(vscode_languageserver_protocol_1.DidChangeWorkspaceFoldersNotification.type);
|
||||
}
|
||||
return this._onDidChangeWorkspaceFolders.event;
|
||||
}
|
||||
};
|
||||
};
|
||||
exports.WorkspaceFoldersFeature = WorkspaceFoldersFeature;
|
||||
Reference in New Issue
Block a user