From 42de617974b6befaf5d25037bf6d92c2b889068b Mon Sep 17 00:00:00 2001 From: Shougo Matsushita Date: Sat, 21 Mar 2015 07:55:39 +0900 Subject: Add if_python3 support Reviewed-by: Michael Reed , Daniel Hahler Helped-by: Daniel Hahler --- src/nvim/eval.c | 14 +++++++++++++- src/nvim/ex_cmds.lua | 8 ++++---- src/nvim/ex_cmds2.c | 14 ++++++++++++++ 3 files changed, 31 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/nvim/eval.c b/src/nvim/eval.c index 7c576c9238..b9768978e5 100644 --- a/src/nvim/eval.c +++ b/src/nvim/eval.c @@ -6577,6 +6577,7 @@ static struct fst { {"prevnonblank", 1, 1, f_prevnonblank}, {"printf", 2, 19, f_printf}, {"pumvisible", 0, 0, f_pumvisible}, + {"py3eval", 1, 1, f_py3eval}, {"pyeval", 1, 1, f_pyeval}, {"range", 1, 3, f_range}, {"readfile", 1, 3, f_readfile}, @@ -11945,6 +11946,14 @@ static void f_pyeval(typval_T *argvars, typval_T *rettv) script_host_eval("python", argvars, rettv); } +/* + * "py3eval()" function + */ +static void f_py3eval(typval_T *argvars, typval_T *rettv) +{ + script_host_eval("python3", argvars, rettv); +} + /* * "range()" function */ @@ -20458,11 +20467,14 @@ bool eval_has_provider(char *name) } \ } - static int has_clipboard = -1, has_python = -1; + static int has_clipboard = -1, has_python = -1, has_python3 = -1; if (!strcmp(name, "clipboard")) { check_provider(clipboard); return has_clipboard; + } else if (!strcmp(name, "python3")) { + check_provider(python3); + return has_python3; } else if (!strcmp(name, "python")) { check_provider(python); return has_python; diff --git a/src/nvim/ex_cmds.lua b/src/nvim/ex_cmds.lua index e1951e88f8..52dc0d6212 100644 --- a/src/nvim/ex_cmds.lua +++ b/src/nvim/ex_cmds.lua @@ -1668,22 +1668,22 @@ return { { command='py3', flags=bit.bor(RANGE, EXTRA, NEEDARG, CMDWIN), - func='ex_script_ni', + func='ex_python3', }, { command='py3do', flags=bit.bor(RANGE, DFLALL, EXTRA, NEEDARG, CMDWIN), - func='ex_ni', + func='ex_pydo3', }, { command='python3', flags=bit.bor(RANGE, EXTRA, NEEDARG, CMDWIN), - func='ex_script_ni', + func='ex_python3', }, { command='py3file', flags=bit.bor(RANGE, FILE1, NEEDARG, CMDWIN), - func='ex_ni', + func='ex_py3file', }, { command='quit', diff --git a/src/nvim/ex_cmds2.c b/src/nvim/ex_cmds2.c index b9f2d1f0d2..dc04835774 100644 --- a/src/nvim/ex_cmds2.c +++ b/src/nvim/ex_cmds2.c @@ -797,6 +797,20 @@ void ex_pydo(exarg_T *eap) script_host_do_range("python", eap); } +void ex_python3(exarg_T *eap) +{ + script_host_execute("python3", eap); +} + +void ex_py3file(exarg_T *eap) +{ + script_host_execute_file("python3", eap); +} + +void ex_pydo3(exarg_T *eap) +{ + script_host_do_range("python3", eap); +} /* Command line expansion for :profile. */ static enum { -- cgit