aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/api/private/helpers.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/nvim/api/private/helpers.c')
-rw-r--r--src/nvim/api/private/helpers.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/nvim/api/private/helpers.c b/src/nvim/api/private/helpers.c
index c0ee735d1a..7fda2802c8 100644
--- a/src/nvim/api/private/helpers.c
+++ b/src/nvim/api/private/helpers.c
@@ -20,6 +20,7 @@
#include "nvim/option_defs.h"
#include "nvim/eval/typval_encode.h"
#include "nvim/lib/kvec.h"
+#include "auto/versiondef.h"
/// Helper structure for vim_to_object
typedef struct {
@@ -766,6 +767,7 @@ Dictionary api_metadata(void)
init_function_metadata(&metadata);
init_error_type_metadata(&metadata);
init_type_metadata(&metadata);
+ init_api_level_metadata(&metadata);
}
return copy_object(DICTIONARY_OBJ(metadata)).data.dictionary;
@@ -825,6 +827,17 @@ static void init_type_metadata(Dictionary *metadata)
PUT(*metadata, "types", DICTIONARY_OBJ(types));
}
+static void init_api_level_metadata(Dictionary *metadata)
+{
+ Dictionary version = ARRAY_DICT_INIT;
+ PUT(version, "current", INTEGER_OBJ(NVIM_API_CURRENT));
+ PUT(version, "compatibility", INTEGER_OBJ(NVIM_API_COMPATIBILITY));
+#ifdef NVIM_API_PRERELEASE
+ PUT(version, "prerelease", BOOLEAN_OBJ(true));
+#endif
+
+ PUT(*metadata, "api_level", DICTIONARY_OBJ(version));
+}
/// Creates a deep clone of an object
Object copy_object(Object obj)