summaryrefslogtreecommitdiff
path: root/graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/code_lens.h
blob: b9241de06bc0dc5b29fbd633176c5fed959dd068 (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"

struct lsDocumentCodeLensParams {

/**
 * The document to request code lens for.
 */
  lsTextDocumentIdentifier textDocument;

  MAKE_SWAP_METHOD(lsDocumentCodeLensParams, textDocument);
};
MAKE_REFLECT_STRUCT(lsDocumentCodeLensParams, textDocument);




struct lsCodeLens {
        // The range in which this code lens is valid. Should only span a single line.
        lsRange range;
        // The command this code lens represents.
        optional<lsCommandWithAny> command;
        // A data entry field that is preserved on a code lens item between
        // a code lens and a code lens resolve request.
        optional< lsp::Any> data;

        MAKE_SWAP_METHOD(lsCodeLens, range, command, data)
};
MAKE_REFLECT_STRUCT(lsCodeLens, range, command, data)



/**
 * The code lens request is sent from the client to the server to compute
 * code lenses for a given text document.
 *
 * Registration Options: CodeLensRegistrationOptions
 */
DEFINE_REQUEST_RESPONSE_TYPE(td_codeLens, lsDocumentCodeLensParams, std::vector<lsCodeLens>, "textDocument/codeLens")