sendResponse method

  1. @override
Future<Map<String, dynamic>> sendResponse(
  1. int id,
  2. List result
)
override

Sends a response to a request from the LSP server. This is used to reply to server-initiated requests.

Implementation

@override
Future<Map<String, dynamic>> sendResponse(
  int id,
  List<dynamic> result,
) async {
  final request = {'jsonrpc': '2.0', 'id': id, "result": result};

  _channel.sink.add(jsonEncode(request));

  return await _responseController.stream.firstWhere(
    (response) => response['id'] == id,
    orElse: () => throw TimeoutException('No response for request $id'),
  );
}