From 16424caedaad3bf14b09654c00358af07f462935 Mon Sep 17 00:00:00 2001 From: Björn Linse Date: Wed, 15 Jun 2016 23:40:23 +0200 Subject: eval: add api_info() Previously, the api metadata was only accessible frow within nvim as msgpackparse(systemlist('nvim --api-info'))[0] --- src/nvim/eval.c | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'src') 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 */ -- cgit