branch: externals/eglot
commit 24466a958563daf2803edc1f4b732c3e2412a06c
Author: João Távora <joaotav...@gmail.com>
Commit: João Távora <joaotav...@gmail.com>

    When killing server, always wait 3 seconds
    
    * eglot.el (eglot--request): Accept TIMEOUT param.
---
 eglot.el | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/eglot.el b/eglot.el
index 2e409ef..9ce7e26 100644
--- a/eglot.el
+++ b/eglot.el
@@ -552,10 +552,12 @@ is a symbol saying if this is a client or server 
originated."
 (cl-defun eglot--request (process
                           method
                           params
-                          &key success-fn error-fn timeout-fn (async-p t))
+                          &key success-fn error-fn timeout-fn (async-p t)
+                          (timeout eglot-request-timeout))
   "Make a request to PROCESS, expecting a reply.
 Return the ID of this request, unless ASYNC-P is nil, in which
-case never returns locally."
+case never returns locally.  Wait TIMEOUT seconds for a
+response."
   (let* ((id (eglot--next-request-id))
          (timeout-fn (or timeout-fn
                          (lambda ()
@@ -583,7 +585,7 @@ case never returns locally."
     (catch catch-tag
       (let ((timeout-timer
              (run-with-timer
-              eglot-request-timeout nil
+              timeout nil
               (if async-p
                   (lambda ()
                     (remhash id (eglot--pending-continuations process))
@@ -912,10 +914,12 @@ running.  INTERACTIVE is t if called interactively."
                                    :success-fn brutal
                                    :async-p (not sync)
                                    :error-fn brutal
-                                   :timeout-fn brutal))
+                                   :timeout-fn brutal
+                                   :timeout 3))
      :error-fn brutal
      :async-p (not sync)
-     :timeout-fn brutal)))
+     :timeout-fn brutal
+     :timeout 3)))
 
 (cl-defun eglot--server-window/showMessage (_process &key type message)
   "Handle notification window/showMessage"

Reply via email to