diff options
author | Thiago de Arruda <tpadilha84@gmail.com> | 2014-05-28 08:42:10 -0300 |
---|---|---|
committer | Thiago de Arruda <tpadilha84@gmail.com> | 2014-05-28 08:52:54 -0300 |
commit | c3c826da34be63543f3bf54f31c2ff38bfcd715a (patch) | |
tree | e9a3983cffed1a3ab2e1b4254ee5bbe1aaa0a384 /src/nvim/api/vim.c | |
parent | 6b006dd7a227fb6d14161cab3759a467a69f21d3 (diff) | |
download | rneovim-c3c826da34be63543f3bf54f31c2ff38bfcd715a.tar.gz rneovim-c3c826da34be63543f3bf54f31c2ff38bfcd715a.tar.bz2 rneovim-c3c826da34be63543f3bf54f31c2ff38bfcd715a.zip |
API: Events: Add functions for {un}subscribing to broadcasted events
Diffstat (limited to 'src/nvim/api/vim.c')
-rw-r--r-- | src/nvim/api/vim.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/nvim/api/vim.c b/src/nvim/api/vim.c index 694781e0a3..39e2c32d6d 100644 --- a/src/nvim/api/vim.c +++ b/src/nvim/api/vim.c @@ -7,6 +7,7 @@ #include "nvim/api/private/helpers.h" #include "nvim/api/private/defs.h" #include "nvim/api/buffer.h" +#include "nvim/os/channel.h" #include "nvim/vim.h" #include "nvim/buffer.h" #include "nvim/window.h" @@ -327,6 +328,24 @@ void vim_set_current_tabpage(Tabpage tabpage, Error *err) try_end(err); } +void vim_subscribe(uint64_t channel_id, String event) +{ + size_t length = (event.size < EVENT_MAXLEN ? event.size : EVENT_MAXLEN); + char e[EVENT_MAXLEN + 1]; + memcpy(e, event.data, length); + e[length] = NUL; + channel_subscribe(channel_id, e); +} + +void vim_unsubscribe(uint64_t channel_id, String event) +{ + size_t length = (event.size < EVENT_MAXLEN ? event.size : EVENT_MAXLEN); + char e[EVENT_MAXLEN + 1]; + memcpy(e, event.data, length); + e[length] = NUL; + channel_unsubscribe(channel_id, e); +} + static void write_msg(String message, bool to_err) { static int pos = 0; |