diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/nvim/eval.lua | 1 | ||||
| -rw-r--r-- | src/nvim/eval/funcs.c | 8 | ||||
| -rw-r--r-- | src/nvim/ex_cmds.lua | 10 | ||||
| -rw-r--r-- | src/nvim/ex_cmds2.c | 15 | 
4 files changed, 32 insertions, 2 deletions
diff --git a/src/nvim/eval.lua b/src/nvim/eval.lua index be16ddd7f6..372c950825 100644 --- a/src/nvim/eval.lua +++ b/src/nvim/eval.lua @@ -256,6 +256,7 @@ return {      py3eval={args=1},      pyeval={args=1},      pyxeval={args=1}, +    perleval={args=1},      range={args={1, 3}},      readdir={args={1, 2}},      readfile={args={1, 3}}, diff --git a/src/nvim/eval/funcs.c b/src/nvim/eval/funcs.c index ac560124bf..f4d9db53c4 100644 --- a/src/nvim/eval/funcs.c +++ b/src/nvim/eval/funcs.c @@ -6374,6 +6374,14 @@ static void f_pyxeval(typval_T *argvars, typval_T *rettv, FunPtr fptr)    }  } +/// +/// "perleval()" function +/// +static void f_perleval(typval_T *argvars, typval_T *rettv, FunPtr fptr) +{ +  script_host_eval("perl", argvars, rettv); +} +  /*   * "range()" function   */ diff --git a/src/nvim/ex_cmds.lua b/src/nvim/ex_cmds.lua index 252af409c0..a01f92df27 100644 --- a/src/nvim/ex_cmds.lua +++ b/src/nvim/ex_cmds.lua @@ -1927,13 +1927,19 @@ return {      command='perl',      flags=bit.bor(RANGE, EXTRA, DFLALL, NEEDARG, SBOXOK, CMDWIN, RESTRICT),      addr_type=ADDR_LINES, -    func='ex_script_ni', +    func='ex_perl',    },    {      command='perldo',      flags=bit.bor(RANGE, EXTRA, DFLALL, NEEDARG, CMDWIN, RESTRICT),      addr_type=ADDR_LINES, -    func='ex_ni', +    func='ex_perldo', +  }, +  { +    command='perlfile', +    flags=bit.bor(RANGE, FILE1, NEEDARG, CMDWIN, RESTRICT), +    addr_type=ADDR_LINES, +    func='ex_perlfile',    },    {      command='pedit', diff --git a/src/nvim/ex_cmds2.c b/src/nvim/ex_cmds2.c index 7a06cb7ca6..0603bd4148 100644 --- a/src/nvim/ex_cmds2.c +++ b/src/nvim/ex_cmds2.c @@ -935,6 +935,21 @@ void ex_pydo3(exarg_T *eap)    script_host_do_range("python3", eap);  } +void ex_perl(exarg_T *eap) +{ +  script_host_execute("perl", eap); +} + +void ex_perlfile(exarg_T *eap) +{ +  script_host_execute_file("perl", eap); +} + +void ex_perldo(exarg_T *eap) +{ +  script_host_do_range("perl", eap); +} +  // Command line expansion for :profile.  static enum {    PEXP_SUBCMD,          ///< expand :profile sub-commands  | 
