diff options
author | Justin M. Keyes <justinkz@gmail.com> | 2016-10-26 15:20:00 +0200 |
---|---|---|
committer | Justin M. Keyes <justinkz@gmail.com> | 2016-10-28 14:33:13 +0200 |
commit | c5f5f427c6f8d1b4136bf41171f8f0980561080e (patch) | |
tree | 3ee5625e251a64d270c1ef7f761a3725b1e84a44 /src/nvim/api/private/helpers.c | |
parent | f25797f86976cbccf697d6df953154c5e59656e6 (diff) | |
download | rneovim-c5f5f427c6f8d1b4136bf41171f8f0980561080e.tar.gz rneovim-c5f5f427c6f8d1b4136bf41171f8f0980561080e.tar.bz2 rneovim-c5f5f427c6f8d1b4136bf41171f8f0980561080e.zip |
api: api_info()['version']
API level is disconnected from NVIM version. The API metadata holds the
current API level, and the lowest backwards-compatible level supported
by this instance.
Release 0.1.6 is the first release that reports the Nvim version and API
level.
metadata['version'] = {
major: 0,
minor: 1,
patch: 6,
api_level: 1,
api_compatible: 0,
api_prerelease: false,
}
The API level may remain unchanged across Nvim releases if the API has
not changed.
When changing the API,
- set NVIM_API_PRERELEASE to true
- increment NVIM_API_LEVEL (at most once per Nvim version)
- adjust NVIM_API_LEVEL_COMPAT if backwards-compatibility was broken
api_level_0.mpack was generated from Nvim 0.1.5 with:
nvim --api-info
Diffstat (limited to 'src/nvim/api/private/helpers.c')
-rw-r--r-- | src/nvim/api/private/helpers.c | 15 |
1 files changed, 2 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) |