diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/nvim/api/private/helpers.c | 15 | ||||
-rw-r--r-- | src/nvim/version.c | 12 |
2 files changed, 14 insertions, 13 deletions
diff --git a/src/nvim/api/private/helpers.c b/src/nvim/api/private/helpers.c index 7fda2802c8..208c3b53c8 100644 --- a/src/nvim/api/private/helpers.c +++ b/src/nvim/api/private/helpers.c @@ -18,9 +18,9 @@ #include "nvim/map.h" #include "nvim/option.h" #include "nvim/option_defs.h" +#include "nvim/version.h" #include "nvim/eval/typval_encode.h" #include "nvim/lib/kvec.h" -#include "auto/versiondef.h" /// Helper structure for vim_to_object typedef struct { @@ -764,10 +764,10 @@ Dictionary api_metadata(void) static Dictionary metadata = ARRAY_DICT_INIT; if (!metadata.size) { + PUT(metadata, "version", DICTIONARY_OBJ(version_dict())); 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; @@ -827,17 +827,6 @@ 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) diff --git a/src/nvim/version.c b/src/nvim/version.c index 498afa9656..7ab8c84569 100644 --- a/src/nvim/version.c +++ b/src/nvim/version.c @@ -7,6 +7,7 @@ #include <assert.h> #include <limits.h> +#include "nvim/api/private/helpers.h" #include "nvim/vim.h" #include "nvim/ascii.h" #include "nvim/iconv.h" @@ -2514,6 +2515,17 @@ bool has_vim_patch(int n) return false; } +Dictionary version_dict(void) { + Dictionary d = ARRAY_DICT_INIT; + PUT(d, "major", INTEGER_OBJ(NVIM_VERSION_MAJOR)); + PUT(d, "minor", INTEGER_OBJ(NVIM_VERSION_MINOR)); + PUT(d, "patch", INTEGER_OBJ(NVIM_VERSION_PATCH)); + PUT(d, "api_level", INTEGER_OBJ(NVIM_API_LEVEL)); + PUT(d, "api_compatible", INTEGER_OBJ(NVIM_API_LEVEL_COMPAT)); + PUT(d, "api_prerelease", BOOLEAN_OBJ(NVIM_API_PRERELEASE)); + return d; +} + void ex_version(exarg_T *eap) { // Ignore a ":version 9.99" command. |