diff options
Diffstat (limited to 'graphics/asymptote/LspCpp/include/LibLsp/lsp/workspace/configuration.h')
-rw-r--r-- | graphics/asymptote/LspCpp/include/LibLsp/lsp/workspace/configuration.h | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/graphics/asymptote/LspCpp/include/LibLsp/lsp/workspace/configuration.h b/graphics/asymptote/LspCpp/include/LibLsp/lsp/workspace/configuration.h new file mode 100644 index 0000000000..f7709aa607 --- /dev/null +++ b/graphics/asymptote/LspCpp/include/LibLsp/lsp/workspace/configuration.h @@ -0,0 +1,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");
\ No newline at end of file |