aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/eval.c
diff options
context:
space:
mode:
authorckelsel <ckelsel@hotmail.com>2017-07-29 09:33:29 +0800
committerckelsel <ckelsel@hotmail.com>2017-07-29 09:33:29 +0800
commit973bc2b7e0ef1ca33764410ba0a22fc57bd42366 (patch)
tree5add9a29ea124d8012d11b11095faca28a623f84 /src/nvim/eval.c
parent3e0536eb295309c728acca386ec35756b7e034f6 (diff)
parent707bb3749459fb30c02701b63553af7a3460f980 (diff)
downloadrneovim-973bc2b7e0ef1ca33764410ba0a22fc57bd42366.tar.gz
rneovim-973bc2b7e0ef1ca33764410ba0a22fc57bd42366.tar.bz2
rneovim-973bc2b7e0ef1ca33764410ba0a22fc57bd42366.zip
Merge remote-tracking branch 'upstream/master'
Diffstat (limited to 'src/nvim/eval.c')
-rw-r--r--src/nvim/eval.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/nvim/eval.c b/src/nvim/eval.c
index 3ec8deb666..2988225110 100644
--- a/src/nvim/eval.c
+++ b/src/nvim/eval.c
@@ -47,6 +47,7 @@
#include "nvim/mbyte.h"
#include "nvim/memline.h"
#include "nvim/memory.h"
+#include "nvim/menu.h"
#include "nvim/message.h"
#include "nvim/misc1.h"
#include "nvim/keymap.h"
@@ -8173,6 +8174,19 @@ static void f_expand(typval_T *argvars, typval_T *rettv, FunPtr fptr)
}
}
+
+/// "menu_get(path [, modes])" function
+static void f_menu_get(typval_T *argvars, typval_T *rettv, FunPtr fptr)
+{
+ tv_list_alloc_ret(rettv);
+ int modes = MENU_ALL_MODES;
+ if (argvars[1].v_type == VAR_STRING) {
+ const char_u *const strmodes = (char_u *)tv_get_string(&argvars[1]);
+ modes = get_menu_cmd_modes(strmodes, false, NULL, NULL);
+ }
+ menu_get((char_u *)tv_get_string(&argvars[0]), modes, rettv->vval.v_list);
+}
+
/*
* "extend(list, list [, idx])" function
* "extend(dict, dict [, action])" function