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