aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/channel.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/nvim/channel.h')
-rw-r--r--src/nvim/channel.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/nvim/channel.h b/src/nvim/channel.h
index eaf0fd92d0..ee119756c0 100644
--- a/src/nvim/channel.h
+++ b/src/nvim/channel.h
@@ -9,10 +9,14 @@
#include "nvim/eval/typval.h"
#include "nvim/msgpack_rpc/channel_defs.h"
+#define CHAN_STDIO 1
+#define CHAN_STDERR 2
+
typedef enum {
kChannelStreamProc,
kChannelStreamSocket,
kChannelStreamStdio,
+ kChannelStreamStderr,
kChannelStreamInternal
} ChannelStreamType;
@@ -31,6 +35,10 @@ typedef struct {
} StdioPair;
typedef struct {
+ bool closed;
+} StderrState;
+
+typedef struct {
Callback cb;
garray_T buffer;
bool buffered;
@@ -56,6 +64,7 @@ struct Channel {
PtyProcess pty;
Stream socket;
StdioPair stdio;
+ StderrState err;
} stream;
bool is_rpc;
@@ -95,6 +104,7 @@ static inline Stream *channel_instream(Channel *chan)
return &chan->stream.stdio.out;
case kChannelStreamInternal:
+ case kChannelStreamStderr:
abort();
}
abort();
@@ -114,6 +124,7 @@ static inline Stream *channel_outstream(Channel *chan)
return &chan->stream.stdio.in;
case kChannelStreamInternal:
+ case kChannelStreamStderr:
abort();
}
abort();