]> git.eshelyaron.com Git - emacs.git/commitdiff
Don't error out on unsupported diagnostic.codedescription
authorBrian Leung <bkleung89@gmail.com>
Tue, 11 Jan 2022 03:32:19 +0000 (19:32 -0800)
committerStefan Kangas <stefankangas@gmail.com>
Wed, 12 Jan 2022 07:28:19 +0000 (08:28 +0100)
A codeDescription property is, at the time of writing, an object with
an href property (of type URI, or a string), denoting a "URI to open
with more information about the diagnostic error".

It's not obvious how best to put this into a Flymake diagostic
aside from simply appending it to the diagnostic message, so we'll
worry about it some other time.

* eglot.el (eglot--lsp-interface-alist)
(eglot-client-capabilities): Don't error out on unsupported
Diagnostic.codeDescription.

GitHub-reference: fix https://github.com/joaotavora/eglot/issues/768

lisp/progmodes/eglot.el

index 80eb58f57914b8c18a5a063de3211f0910f685fb..bdd0dcccc5ef9e2c63d0145e804c9b37e05db20c 100644 (file)
@@ -351,7 +351,7 @@ This can be useful when using docker to run a language server.")
                              :sortText :filterText :insertText :insertTextFormat
                              :textEdit :additionalTextEdits :commitCharacters
                              :command :data))
-      (Diagnostic (:range :message) (:severity :code :source :relatedInformation))
+      (Diagnostic (:range :message) (:severity :code :source :relatedInformation :codeDescription))
       (DocumentHighlight (:range) (:kind))
       (FileSystemWatcher (:globPattern) (:kind))
       (Hover (:contents) (:range))
@@ -689,7 +689,11 @@ treated as in `eglot-dbind'."
              :formatting         `(:dynamicRegistration :json-false)
              :rangeFormatting    `(:dynamicRegistration :json-false)
              :rename             `(:dynamicRegistration :json-false)
-             :publishDiagnostics `(:relatedInformation :json-false))
+             :publishDiagnostics (list :relatedInformation :json-false
+                                       ;; TODO: We can support :codeDescription after
+                                       ;; adding an appropriate UI to
+                                       ;; Flymake.
+                                       :codeDescriptionSupport :json-false))
             :experimental eglot--{})))
 
 (defclass eglot-lsp-server (jsonrpc-process-connection)