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, 9 insertions, 2 deletions
diff --git a/src/nvim/channel.h b/src/nvim/channel.h
index b856d197f1..c733e276be 100644
--- a/src/nvim/channel.h
+++ b/src/nvim/channel.h
@@ -42,13 +42,16 @@ typedef struct {
Callback cb;
dict_T *self;
garray_T buffer;
+ bool eof;
bool buffered;
+ const char *type;
} CallbackReader;
#define CALLBACK_READER_INIT ((CallbackReader){ .cb = CALLBACK_NONE, \
.self = NULL, \
.buffer = GA_EMPTY_INIT_VALUE, \
- .buffered = false })
+ .buffered = false, \
+ .type = NULL })
static inline bool callback_reader_set(CallbackReader reader)
{
return reader.cb.type != kCallbackNone || reader.self;
@@ -73,9 +76,13 @@ struct Channel {
RpcState rpc;
Terminal *term;
- CallbackReader on_stdout;
+ CallbackReader on_data;
CallbackReader on_stderr;
Callback on_exit;
+ int exit_status;
+
+ bool callback_busy;
+ bool callback_scheduled;
};
EXTERN PMap(uint64_t) *channels;