diff options
author | James McCoy <jamessan@jamessan.com> | 2020-11-23 08:37:04 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-11-23 08:37:04 -0500 |
commit | 029b5d036d7eb5a16b8e3a1d37f05f92ecf40499 (patch) | |
tree | 20e361c4b49e57befd4c9277609853d522feff82 /src/nvim/ex_cmds2.c | |
parent | 43ec616414c7f17585e8b4a7e34acaaedfff5121 (diff) | |
parent | e26d074fedbb691bf4604663a5ea93742d824c05 (diff) | |
download | rneovim-029b5d036d7eb5a16b8e3a1d37f05f92ecf40499.tar.gz rneovim-029b5d036d7eb5a16b8e3a1d37f05f92ecf40499.tar.bz2 rneovim-029b5d036d7eb5a16b8e3a1d37f05f92ecf40499.zip |
Merge pull request #13354 from jamessan/ea.skip-providers
Diffstat (limited to 'src/nvim/ex_cmds2.c')
-rw-r--r-- | src/nvim/ex_cmds2.c | 32 |
1 files changed, 18 insertions, 14 deletions
diff --git a/src/nvim/ex_cmds2.c b/src/nvim/ex_cmds2.c index 42454b7c9a..04624be9a2 100644 --- a/src/nvim/ex_cmds2.c +++ b/src/nvim/ex_cmds2.c @@ -4232,25 +4232,29 @@ static void script_host_execute(char *name, exarg_T *eap) static void script_host_execute_file(char *name, exarg_T *eap) { - uint8_t buffer[MAXPATHL]; - vim_FullName((char *)eap->arg, (char *)buffer, sizeof(buffer), false); + if (!eap->skip) { + uint8_t buffer[MAXPATHL]; + vim_FullName((char *)eap->arg, (char *)buffer, sizeof(buffer), false); - list_T *args = tv_list_alloc(3); - // filename - tv_list_append_string(args, (const char *)buffer, -1); - // current range - tv_list_append_number(args, (int)eap->line1); - tv_list_append_number(args, (int)eap->line2); - (void)eval_call_provider(name, "execute_file", args, true); + list_T *args = tv_list_alloc(3); + // filename + tv_list_append_string(args, (const char *)buffer, -1); + // current range + tv_list_append_number(args, (int)eap->line1); + tv_list_append_number(args, (int)eap->line2); + (void)eval_call_provider(name, "execute_file", args, true); + } } static void script_host_do_range(char *name, exarg_T *eap) { - list_T *args = tv_list_alloc(3); - tv_list_append_number(args, (int)eap->line1); - tv_list_append_number(args, (int)eap->line2); - tv_list_append_string(args, (const char *)eap->arg, -1); - (void)eval_call_provider(name, "do_range", args, true); + if (!eap->skip) { + list_T *args = tv_list_alloc(3); + tv_list_append_number(args, (int)eap->line1); + tv_list_append_number(args, (int)eap->line2); + tv_list_append_string(args, (const char *)eap->arg, -1); + (void)eval_call_provider(name, "do_range", args, true); + } } /// ":drop" |