aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/api/private/helpers.c
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2016-10-26 15:20:00 +0200
committerJustin M. Keyes <justinkz@gmail.com>2016-10-28 14:33:13 +0200
commitc5f5f427c6f8d1b4136bf41171f8f0980561080e (patch)
tree3ee5625e251a64d270c1ef7f761a3725b1e84a44 /src/nvim/api/private/helpers.c
parentf25797f86976cbccf697d6df953154c5e59656e6 (diff)
downloadrneovim-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.c15
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)