aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/os
diff options
context:
space:
mode:
Diffstat (limited to 'src/nvim/os')
-rw-r--r--src/nvim/os/msgpack_rpc.c15
-rw-r--r--src/nvim/os/msgpack_rpc.h1
-rw-r--r--src/nvim/os/provider.c8
3 files changed, 5 insertions, 19 deletions
diff --git a/src/nvim/os/msgpack_rpc.c b/src/nvim/os/msgpack_rpc.c
index 2f347d9b15..d7e3d33c4b 100644
--- a/src/nvim/os/msgpack_rpc.c
+++ b/src/nvim/os/msgpack_rpc.c
@@ -17,8 +17,6 @@
# include "os/msgpack_rpc.c.generated.h"
#endif
-extern msgpack_unpacked msgpack_unpacked_metadata;
-
/// Validates the basic structure of the msgpack-rpc call and fills `res`
/// with the basic response structure.
///
@@ -83,19 +81,6 @@ Object msgpack_rpc_handle_missing_method(uint64_t channel_id,
return NIL;
}
-/// Handler for retrieving API metadata through a msgpack-rpc call
-Object msgpack_rpc_handle_get_api_metadata(uint64_t channel_id,
- msgpack_object *req,
- Error *error)
-{
- Array rv = ARRAY_DICT_INIT;
- Object metadata;
- msgpack_rpc_to_object(&msgpack_unpacked_metadata.data, &metadata);
- ADD(rv, INTEGER_OBJ((int64_t)channel_id));
- ADD(rv, metadata);
- return ARRAY_OBJ(rv);
-}
-
/// Serializes a msgpack-rpc request or notification(id == 0)
WBuffer *serialize_request(uint64_t request_id,
String method,
diff --git a/src/nvim/os/msgpack_rpc.h b/src/nvim/os/msgpack_rpc.h
index 35f175d2a0..3476d791ea 100644
--- a/src/nvim/os/msgpack_rpc.h
+++ b/src/nvim/os/msgpack_rpc.h
@@ -25,6 +25,7 @@ typedef Object (*rpc_method_handler_fn)(uint64_t channel_id,
/// Initializes the msgpack-rpc method table
void msgpack_rpc_init(void);
+void msgpack_rpc_init_function_metadata(Dictionary *metadata);
/// Dispatches to the actual API function after basic payload validation by
/// `msgpack_rpc_call`. It is responsible for validating/converting arguments
diff --git a/src/nvim/os/provider.c b/src/nvim/os/provider.c
index 9d8f6f297c..2e7a677793 100644
--- a/src/nvim/os/provider.c
+++ b/src/nvim/os/provider.c
@@ -120,9 +120,9 @@ Object provider_call(char *method, Array args)
return result;
}
-Dictionary provider_get_all(void)
+void provider_init_feature_metadata(Dictionary *metadata)
{
- Dictionary rv = ARRAY_DICT_INIT;
+ Dictionary md = ARRAY_DICT_INIT;
for (size_t i = 0; i < FEATURE_COUNT; i++) {
Array methods = ARRAY_DICT_INIT;
@@ -134,10 +134,10 @@ Dictionary provider_get_all(void)
ADD(methods, STRING_OBJ(cstr_to_string(method)));
}
- PUT(rv, f->name, ARRAY_OBJ(methods));
+ PUT(md, f->name, ARRAY_OBJ(methods));
}
- return rv;
+ PUT(*metadata, "features", DICTIONARY_OBJ(md));
}
static Feature * find_feature(char *name)