LSP: add resource operations to the protocol implementation

This allows the language server to request file creation, renaming, or
deletion.

Fixes: QTCREATORBUG-29542
Change-Id: I31ab3c0b36f87d3b797b54ff4261cab85a322e2c
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
David Schulz
2023-08-28 15:00:08 +02:00
parent c2ba218583
commit ac5ab71db8
9 changed files with 364 additions and 28 deletions

View File

@@ -375,6 +375,14 @@ static ClientCapabilities generateClientCapabilities()
{
ClientCapabilities capabilities;
WorkspaceClientCapabilities workspaceCapabilities;
WorkspaceClientCapabilities::WorkspaceEditCapabilities workspaceEditCapabilities;
workspaceEditCapabilities.setDocumentChanges(true);
using ResourceOperationKind
= WorkspaceClientCapabilities::WorkspaceEditCapabilities::ResourceOperationKind;
workspaceEditCapabilities.setResourceOperations({ResourceOperationKind::Create,
ResourceOperationKind::Rename,
ResourceOperationKind::Delete});
workspaceCapabilities.setWorkspaceEdit(workspaceEditCapabilities);
workspaceCapabilities.setWorkspaceFolders(true);
workspaceCapabilities.setApplyEdit(true);
DynamicRegistrationCapabilities allowDynamicRegistration;