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
|
#pragma once
#include "LibLsp/JsonRpc/RequestInMessage.h"
#include "LibLsp/JsonRpc/lsResponseMessage.h"
#include "LibLsp/lsp/lsDocumentUri.h"
struct ConfigurationItem {
/**
* The scope to get the configuration section for.
*/
lsDocumentUri scopeUri;
/**
* The configuration section asked for.
*/
std::string section;
MAKE_SWAP_METHOD(ConfigurationItem, scopeUri, section);
};
MAKE_REFLECT_STRUCT(ConfigurationItem, scopeUri, section);
struct ConfigurationParams
{
std::vector<ConfigurationItem> items;
MAKE_SWAP_METHOD(ConfigurationParams, items)
};
MAKE_REFLECT_STRUCT(ConfigurationParams, items);
/**
* The workspace/configuration request is sent from the server to the client to fetch
* configuration settings from the client. The request can fetch n configuration settings
* in one roundtrip. The order of the returned configuration settings correspond to the
* order of the passed ConfigurationItems (e.g. the first item in the response is the
* result for the first configuration item in the params).
*/
DEFINE_REQUEST_RESPONSE_TYPE(WorkspaceConfiguration, ConfigurationParams,std::vector<lsp::Any>, "workspace/configuration");
|