summaryrefslogtreecommitdiff
path: root/graphics/asymptote/LspCpp/include/LibLsp/lsp/general/lsClientCapabilities.h
blob: 4ec9744258f6bbe5b11bd2caec60df6c692464eb (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
43
44
45
46
47
48
#pragma once

#include "LibLsp/lsp/lsAny.h"
#include "lsWorkspaceClientCapabilites.h"
#include "lsTextDocumentClientCapabilities.h"

/**
 * Client capabilities specific to the used markdown parser.
 *
 * @since 3.16.0
 */
struct MarkdownClientCapabilities {
        /**
         * The name of the parser.
         */
        std::string parser;

        /**
         * The version of the parser.
         */
        optional<std::string>  version;
        MAKE_SWAP_METHOD(MarkdownClientCapabilities, parser, version)

};
MAKE_REFLECT_STRUCT(MarkdownClientCapabilities, parser, version)

struct lsClientCapabilities {
  // Workspace specific client capabilities.
  optional<lsWorkspaceClientCapabilites> workspace;

  // Text document specific client capabilities.
  optional<lsTextDocumentClientCapabilities> textDocument;

  /**
        * Window specific client capabilities.
  */
  optional<lsp::Any>  window;
  /**
   * Experimental client capabilities.
   */
  optional<lsp::Any>  experimental;

  MAKE_SWAP_METHOD(lsClientCapabilities, workspace, textDocument, window, experimental)
};
MAKE_REFLECT_STRUCT(lsClientCapabilities, workspace, textDocument, window, experimental)