initialize method

Future<InitializeResult> initialize(
  1. InitializeRequest request
)

Initializes the server, this should be done before anything else.

The client must call notifyInitialized after receiving and accepting this response.

Throws a StateError if initialization fails for unknown reasons (usually the server connection closes prematurely due to misconfiguration). To debug these errors you should pass a protocolLogSink when creating these connections.

Implementation

Future<InitializeResult> initialize(InitializeRequest request) async {
  final response = await sendRequest<InitializeResult>(
    InitializeRequest.methodName,
    request,
  );
  serverInfo = response.serverInfo;
  serverCapabilities = response.capabilities;
  final serverVersion = response.protocolVersion;
  if (serverVersion == null || !serverVersion.isSupported) {
    await shutdown();
  } else {
    protocolVersion = serverVersion;
  }
  return response;
}