aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/eval.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/nvim/eval.c')
-rw-r--r--src/nvim/eval.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/nvim/eval.c b/src/nvim/eval.c
index d67818aa81..5191328b5d 100644
--- a/src/nvim/eval.c
+++ b/src/nvim/eval.c
@@ -22683,6 +22683,16 @@ static void script_host_eval(char *name, typval_T *argvars, typval_T *rettv)
typval_T eval_call_provider(char *provider, char *method, list_T *arguments)
{
+ if (!eval_has_provider(provider)) {
+ emsgf("E319: No \"%s\" provider found. Run \":checkhealth provider\"",
+ provider);
+ return (typval_T){
+ .v_type = VAR_NUMBER,
+ .v_lock = VAR_UNLOCKED,
+ .vval.v_number = (varnumber_T)0
+ };
+ }
+
char func[256];
int name_len = snprintf(func, sizeof(func), "provider#%s#Call", provider);