diff options
author | Björn Linse <bjorn.linse@gmail.com> | 2016-06-15 23:40:23 +0200 |
---|---|---|
committer | Björn Linse <bjorn.linse@gmail.com> | 2016-06-17 18:47:45 +0200 |
commit | 16424caedaad3bf14b09654c00358af07f462935 (patch) | |
tree | ac4b56e34fffe86530d110f834885bcf8bb81358 /src | |
parent | 51fe40a03389a9a6fa81d149f135527efcb3f722 (diff) | |
download | rneovim-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.c | 10 |
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 */ |