aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBjörn Linse <bjorn.linse@gmail.com>2016-06-15 23:40:23 +0200
committerBjörn Linse <bjorn.linse@gmail.com>2016-06-17 18:47:45 +0200
commit16424caedaad3bf14b09654c00358af07f462935 (patch)
treeac4b56e34fffe86530d110f834885bcf8bb81358 /src
parent51fe40a03389a9a6fa81d149f135527efcb3f722 (diff)
downloadrneovim-16424caedaad3bf14b09654c00358af07f462935.tar.gz
rneovim-16424caedaad3bf14b09654c00358af07f462935.tar.bz2
rneovim-16424caedaad3bf14b09654c00358af07f462935.zip
eval: add api_info()
Previously, the api metadata was only accessible frow within nvim as msgpackparse(systemlist('nvim --api-info'))[0]
Diffstat (limited to 'src')
-rw-r--r--src/nvim/eval.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/nvim/eval.c b/src/nvim/eval.c
index 915484ebfb..e2cebf0751 100644
--- a/src/nvim/eval.c
+++ b/src/nvim/eval.c
@@ -6684,6 +6684,7 @@ static struct fst {
{ "acos", 1, 1, f_acos }, // WJMc
{ "add", 2, 2, f_add },
{ "and", 2, 2, f_and },
+ { "api_info", 0, 0, f_api_info },
{ "append", 2, 2, f_append },
{ "argc", 0, 0, f_argc },
{ "argidx", 0, 0, f_argidx },
@@ -7466,6 +7467,15 @@ static void f_and(typval_T *argvars, typval_T *rettv)
& get_tv_number_chk(&argvars[1], NULL);
}
+
+/// "api_info()" function
+static void f_api_info(typval_T *argvars, typval_T *rettv)
+{
+ Dictionary metadata = api_metadata();
+ object_to_vim(DICTIONARY_OBJ(metadata), rettv, NULL);
+ api_free_dictionary(metadata);
+}
+
/*
* "append(lnum, string/list)" function
*/