diff options
Diffstat (limited to 'src/nvim/api/private/helpers.c')
-rw-r--r-- | src/nvim/api/private/helpers.c | 13 |
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) |