From ef575cffa48511524b5c9dbb9e828e91b92dc6ce Mon Sep 17 00:00:00 2001
From: Andreas Louv <andreas@louv.dk>
Date: Sat, 20 May 2023 21:38:47 +0200
Subject: [PATCH] Add error checking for the config "processDiagHandler"

---
 autoload/lsp/lsp.vim | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/autoload/lsp/lsp.vim b/autoload/lsp/lsp.vim
index edecb3f..4b13403 100644
--- a/autoload/lsp/lsp.vim
+++ b/autoload/lsp/lsp.vim
@@ -614,6 +614,11 @@ export def AddServer(serverList: list<dict<any>>)
 
     var ProcessDiagHandler: func = null_function
     if server->has_key('processDiagHandler')
+      if server.processDiagHandler->type() != v:t_func
+        util.ErrMsg($'Setting of processDiagHandler {server.processDiagHandler} is not a Funcref nor lambda')
+        return
+      endif
+
       ProcessDiagHandler = server.processDiagHandler
     endif
 
-- 
2.51.0