aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/msgpack_rpc
diff options
context:
space:
mode:
authorThiago de Arruda <tpadilha84@gmail.com>2015-01-09 09:51:11 -0300
committerThiago de Arruda <tpadilha84@gmail.com>2015-01-12 09:47:41 -0300
commitd992213678ecd14902ae74ff765e682fb76d5ad9 (patch)
tree4d168ce56813e7ffd588606ca1243665e92ea66a /src/nvim/msgpack_rpc
parentabc147a9775ef7de221443ff68ddfbc8ff6e0177 (diff)
downloadrneovim-d992213678ecd14902ae74ff765e682fb76d5ad9.tar.gz
rneovim-d992213678ecd14902ae74ff765e682fb76d5ad9.tar.bz2
rneovim-d992213678ecd14902ae74ff765e682fb76d5ad9.zip
ui: Reimplement `:suspend` command for remote UIs.
- Remove suspend method from the UI protocol - Handle `:suspend` by disconnecting the last channel that sent a request to nvim.
Diffstat (limited to 'src/nvim/msgpack_rpc')
-rw-r--r--src/nvim/msgpack_rpc/channel.c1
-rw-r--r--src/nvim/msgpack_rpc/remote_ui.c7
2 files changed, 1 insertions, 7 deletions
diff --git a/src/nvim/msgpack_rpc/channel.c b/src/nvim/msgpack_rpc/channel.c
index af7e7fa409..85511fb587 100644
--- a/src/nvim/msgpack_rpc/channel.c
+++ b/src/nvim/msgpack_rpc/channel.c
@@ -485,6 +485,7 @@ static void on_request_event(Event event)
{
RequestEvent *e = event.data;
Channel *channel = e->channel;
+ last_message_source = channel->id;
MsgpackRpcRequestHandler handler = e->handler;
Array args = e->args;
uint64_t request_id = e->request_id;
diff --git a/src/nvim/msgpack_rpc/remote_ui.c b/src/nvim/msgpack_rpc/remote_ui.c
index 6a638df61c..4db9c71ebb 100644
--- a/src/nvim/msgpack_rpc/remote_ui.c
+++ b/src/nvim/msgpack_rpc/remote_ui.c
@@ -97,7 +97,6 @@ static Object remote_ui_attach(uint64_t channel_id, uint64_t request_id,
ui->update_fg = remote_ui_update_fg;
ui->update_bg = remote_ui_update_bg;
ui->flush = remote_ui_flush;
- ui->suspend = remote_ui_suspend;
pmap_put(uint64_t)(connected_uis, channel_id, ui);
ui_attach(ui);
return NIL;
@@ -319,9 +318,3 @@ static void remote_ui_flush(UI *ui)
channel_send_event(data->channel_id, "redraw", data->buffer);
data->buffer = (Array)ARRAY_DICT_INIT;
}
-
-static void remote_ui_suspend(UI *ui)
-{
- UIData *data = ui->data;
- remote_ui_disconnect(data->channel_id);
-}