aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/api/private/helpers.c
diff options
context:
space:
mode:
authorBjörn Linse <bjorn.linse@gmail.com>2017-04-30 14:35:36 +0200
committerBjörn Linse <bjorn.linse@gmail.com>2017-05-10 17:36:31 +0200
commite82cb5de4adc8a88e8213d0aca85400362df4bd1 (patch)
treee658dd9042fc0191e5b65f96fc7d192b80d36f61 /src/nvim/api/private/helpers.c
parent7d6af9985c057eef8f6bb2a625744df1b4ad0a72 (diff)
downloadrneovim-e82cb5de4adc8a88e8213d0aca85400362df4bd1.tar.gz
rneovim-e82cb5de4adc8a88e8213d0aca85400362df4bd1.tar.bz2
rneovim-e82cb5de4adc8a88e8213d0aca85400362df4bd1.zip
api: add metadata for ui events
Diffstat (limited to 'src/nvim/api/private/helpers.c')
-rw-r--r--src/nvim/api/private/helpers.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/nvim/api/private/helpers.c b/src/nvim/api/private/helpers.c
index 361570bff4..1d7b305da3 100644
--- a/src/nvim/api/private/helpers.c
+++ b/src/nvim/api/private/helpers.c
@@ -33,6 +33,7 @@ typedef struct {
#ifdef INCLUDE_GENERATED_DECLARATIONS
# include "api/private/helpers.c.generated.h"
# include "api/private/funcs_metadata.generated.h"
+# include "api/private/ui_events_metadata.generated.h"
#endif
/// Start block that may cause vimscript exceptions
@@ -820,6 +821,7 @@ Dictionary api_metadata(void)
if (!metadata.size) {
PUT(metadata, "version", DICTIONARY_OBJ(version_dict()));
init_function_metadata(&metadata);
+ init_ui_event_metadata(&metadata);
init_error_type_metadata(&metadata);
init_type_metadata(&metadata);
}
@@ -843,6 +845,22 @@ static void init_function_metadata(Dictionary *metadata)
PUT(*metadata, "functions", functions);
}
+static void init_ui_event_metadata(Dictionary *metadata)
+{
+ msgpack_unpacked unpacked;
+ msgpack_unpacked_init(&unpacked);
+ if (msgpack_unpack_next(&unpacked,
+ (const char *)ui_events_metadata,
+ sizeof(ui_events_metadata),
+ NULL) != MSGPACK_UNPACK_SUCCESS) {
+ abort();
+ }
+ Object ui_events;
+ msgpack_rpc_to_object(&unpacked.data, &ui_events);
+ msgpack_unpacked_destroy(&unpacked);
+ PUT(*metadata, "ui_events", ui_events);
+}
+
static void init_error_type_metadata(Dictionary *metadata)
{
Dictionary types = ARRAY_DICT_INIT;