summaryrefslogtreecommitdiff
path: root/graphics/asymptote/LspCpp/include/LibLsp/lsp/workspace/applyEdit.h
blob: eb1f250b2f36ec259f35c897aa50ee7671634c9e (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;
        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");