File: initialize.h

package info (click to toggle)
asymptote 2.85%2Bds-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 43,264 kB
  • sloc: cpp: 210,491; ansic: 98,376; python: 14,568; javascript: 6,629; sh: 4,301; perl: 1,566; lisp: 1,505; makefile: 764; yacc: 554; lex: 446; xml: 182; objc: 177
file content (39 lines) | stat: -rw-r--r-- 1,391 bytes parent folder | download
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
#pragma once
#include "LibLsp/JsonRpc/message.h"
#include "InitializeParams.h"
#include "lsServerCapabilities.h"
#include "LibLsp/JsonRpc/lsResponseMessage.h"
#include "LibLsp/JsonRpc/RequestInMessage.h"






/**
 * The capabilities the language server provides.
 */
  struct InitializeResult {
    lsServerCapabilities capabilities;
        MAKE_SWAP_METHOD(InitializeResult, capabilities);
  };

MAKE_REFLECT_STRUCT(InitializeResult, capabilities);


/**
 * The initialize request is sent as the first request from the client to
 * the server.
 *
 * If the server receives request or notification before the initialize request it should act as follows:
 *      - for a request the respond should be errored with code: -32001. The message can be picked by the server.
 *  - notifications should be dropped, except for the exit notification. This will allow the exit a server without an initialize request.
 *
 * Until the server has responded to the initialize request with an InitializeResult
 * the client must not sent any additional requests or notifications to the server.
 *
 * During the initialize request the server is allowed to sent the notifications window/showMessage,
 * window/logMessage and telemetry/event as well as the window/showMessageRequest request to the client.
 */

DEFINE_REQUEST_RESPONSE_TYPE(td_initialize, lsInitializeParams, InitializeResult, "initialize");