* eglot.el (eglot-handle-notification): Require that the resulting
list of faces is non-empty and that each face corresponds only to a
known tag.
For unknown tags, we don't pass any additional face information to
Flymake, and instead expect it to make the appropriate overlay with
the "severity" property of the Diagnostic.
Co-authored-by: João Távora <joaotavora@gmail.com>
GitHub-reference: fix https://github.com/joaotavora/eglot/issues/851
(current-buffer) beg end
(eglot--diag-type severity)
message `((eglot-lsp-diag . ,diag-spec))
- (and tags
- `((face
- . ,(mapcar (lambda (tag)
- (alist-get tag eglot--tag-faces))
- tags)))))))
+ (when-let ((faces
+ (cl-loop for tag across tags
+ when (alist-get tag eglot--tag-faces)
+ collect it)))
+ `((face . ,faces))))))
into diags
finally (cond (eglot--current-flymake-report-fn
(eglot--report-to-flymake diags))