diff options
Diffstat (limited to 'src/nvim/channel.h')
-rw-r--r-- | src/nvim/channel.h | 51 |
1 files changed, 28 insertions, 23 deletions
diff --git a/src/nvim/channel.h b/src/nvim/channel.h index 9bc0df3615..8d14f465c1 100644 --- a/src/nvim/channel.h +++ b/src/nvim/channel.h @@ -1,13 +1,13 @@ #ifndef NVIM_CHANNEL_H #define NVIM_CHANNEL_H -#include "nvim/main.h" -#include "nvim/event/socket.h" -#include "nvim/event/process.h" -#include "nvim/os/pty_process.h" -#include "nvim/event/libuv_process.h" #include "nvim/eval/typval.h" +#include "nvim/event/libuv_process.h" +#include "nvim/event/process.h" +#include "nvim/event/socket.h" +#include "nvim/main.h" #include "nvim/msgpack_rpc/channel_defs.h" +#include "nvim/os/pty_process.h" #define CHAN_STDIO 1 #define CHAN_STDERR 2 @@ -43,6 +43,10 @@ typedef struct { } StderrState; typedef struct { + LuaRef cb; +} InternalState; + +typedef struct { Callback cb; dict_T *self; garray_T buffer; @@ -74,6 +78,7 @@ struct Channel { Stream socket; StdioPair stdio; StderrState err; + InternalState internal; } stream; bool is_rpc; @@ -105,18 +110,18 @@ static inline Stream *channel_instream(Channel *chan) FUNC_ATTR_NONNULL_ALL { switch (chan->streamtype) { - case kChannelStreamProc: - return &chan->stream.proc.in; + case kChannelStreamProc: + return &chan->stream.proc.in; - case kChannelStreamSocket: - return &chan->stream.socket; + case kChannelStreamSocket: + return &chan->stream.socket; - case kChannelStreamStdio: - return &chan->stream.stdio.out; + case kChannelStreamStdio: + return &chan->stream.stdio.out; - case kChannelStreamInternal: - case kChannelStreamStderr: - abort(); + case kChannelStreamInternal: + case kChannelStreamStderr: + abort(); } abort(); } @@ -125,18 +130,18 @@ static inline Stream *channel_outstream(Channel *chan) FUNC_ATTR_NONNULL_ALL { switch (chan->streamtype) { - case kChannelStreamProc: - return &chan->stream.proc.out; + case kChannelStreamProc: + return &chan->stream.proc.out; - case kChannelStreamSocket: - return &chan->stream.socket; + case kChannelStreamSocket: + return &chan->stream.socket; - case kChannelStreamStdio: - return &chan->stream.stdio.in; + case kChannelStreamStdio: + return &chan->stream.stdio.in; - case kChannelStreamInternal: - case kChannelStreamStderr: - abort(); + case kChannelStreamInternal: + case kChannelStreamStderr: + abort(); } abort(); } |