summaryrefslogtreecommitdiff
path: root/graphics/asymptote/LspCpp/include/LibLsp/lsp/workspace/applyEdit.h
blob: 7e2d8bee0a6ff31fa23a75ceee13c70857ba52e2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#pragma once

#include "LibLsp/JsonRpc/RequestInMessage.h"
#include "LibLsp/JsonRpc/lsResponseMessage.h"

#include "LibLsp/lsp/lsDocumentUri.h"
#include "LibLsp/lsp/lsWorkspaceEdit.h"

struct  ApplyWorkspaceEditParams
{
	/**
	 * The edits to apply.
	 */

	lsWorkspaceEdit edit;

	/**
	 * An optional label of the workspace edit. This label is
	 * presented in the user interface for example on an undo
	 * stack to undo the workspace edit.
	 */
	std::string label;

	MAKE_SWAP_METHOD(ApplyWorkspaceEditParams, edit, label)
};
/**
 * The workspace/applyEdit request is sent from the server to the client to modify resource on the client side.
 */
MAKE_REFLECT_STRUCT(ApplyWorkspaceEditParams, edit, label);



struct  ApplyWorkspaceEditResponse
{
	bool applied;
	boost::optional<std::string> failureReason;
	MAKE_SWAP_METHOD(ApplyWorkspaceEditResponse, applied, failureReason)
};
MAKE_REFLECT_STRUCT(ApplyWorkspaceEditResponse, applied, failureReason);


DEFINE_REQUEST_RESPONSE_TYPE(WorkspaceApply, ApplyWorkspaceEditParams, ApplyWorkspaceEditResponse, "workspace/applyEdit");