diff options
Diffstat (limited to 'src')
| -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) | 
