]> git.eshelyaron.com Git - emacs.git/commitdiff
Handle notifications
authorJoão Távora <joaotavora@gmail.com>
Wed, 16 Aug 2017 11:49:24 +0000 (12:49 +0100)
committerJoão Távora <joaotavora@gmail.com>
Wed, 16 Aug 2017 12:52:00 +0000 (13:52 +0100)
lisp/progmodes/eglot.el

index 5ca6833de7117af68a5e21b4545d87e5c27f0b6f..6e3a1365962a28f4333347e90829e3aabc84ab05 100644 (file)
                  (t
                   (apply (first continuations) (plist-get message :result)))))
           (t
-           (eglot--debug "No implemetation for notification %s yet"
-                         (plist-get message :method))))))
+           (let* ((method (plist-get message :method))
+                  (handler-sym (intern (concat "eglot--"
+                                              method))))
+             (if (functionp handler-sym)
+                 (apply handler-sym proc (plist-get message :params))
+               (eglot--debug "No implemetation for notification %s yet"
+                         method)))))))
 
 (defvar eglot--expect-carriage-return nil)
 
           (length all)))))))
 
 (defun eglot--debug (format &rest args)
+\f
+;;; Notifications
+;;;
+(cl-defun eglot--textDocument/publishDiagnostics
+    (_process &key uri diagnostics)
+  "Handle notification publishDiagnostics"
+  (eglot--message "So yeah I got %s for %s"
+                  diagnostics uri))
   (display-warning 'eglot
      (apply #'format format args)
      :debug))