aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/api/private/dispatch.h
blob: 90477520269ae0e32fa18d90b6d6bdd10ffc1c1f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#ifndef NVIM_API_PRIVATE_DISPATCH_H
#define NVIM_API_PRIVATE_DISPATCH_H

#include "nvim/api/private/defs.h"

/// The rpc_method_handlers table, used in msgpack_rpc_dispatch(), stores
/// functions of this type.
typedef struct {
  Object (*fn)(uint64_t channel_id,
               uint64_t request_id,
               Array args,
               Error *error);
  bool async;  // function is always safe to run immediately instead of being
               // put in a request queue for handling when nvim waits for input.
} MsgpackRpcRequestHandler;

#ifdef INCLUDE_GENERATED_DECLARATIONS
# include "api/private/dispatch.h.generated.h"
#endif

#endif  // NVIM_API_PRIVATE_DISPATCH_H