Function: eca-editor--lsp-mode-diagnostics
eca-editor--lsp-mode-diagnostics is a natively compiled function
defined in eca-editor.el.
Signature
(eca-editor--lsp-mode-diagnostics URI WORKSPACE)
Documentation
Find all `lsp-mode` diagnostics found for WORKSPACE.
If URI is nil find all diagnostics otherwise filter to that uri.
Source Code
;; Defined in /nix/store/jklqzw6pzz6j4jrbv8wy0iwgi7jlrbld-emacs-packages-deps/share/emacs/site-lisp/elpa/eca-20260928.1827/eca-editor.el
(defun eca-editor--lsp-mode-diagnostics (uri workspace)
"Find all `lsp-mode` diagnostics found for WORKSPACE.
If URI is nil find all diagnostics otherwise filter to that uri."
(let* ((eca-diagnostics '())
(all-diagnostics (car (--keep (when (and (buffer-file-name it)
(f-ancestor-of? workspace (buffer-file-name it)))
(with-current-buffer it
(lsp-diagnostics t)))
(buffer-list))))
(diagnostics (if uri
(ht-select (lambda (k _v) (string= k (eca--uri-to-path uri))) all-diagnostics)
all-diagnostics)))
(when diagnostics
(maphash (lambda (path lsp-diagnostics)
(let ((uri (eca--path-to-uri path)))
(--map (let* ((range (lsp-get it :range))
(start-r (lsp-get range :start))
(end-r (lsp-get range :end)))
(push (list :uri uri
:severity (eca-editor--lsp-to-eca-severity (lsp-get it :severity))
:code (when-let ((code (lsp-get it :code)))
(if (symbolp code)
(symbol-name code)
(format "%s" code)))
:range (list :start (list :line (lsp-get start-r :line)
:character (lsp-get start-r :character))
:end (list :line (lsp-get end-r :line)
:character (lsp-get end-r :character)))
:source (when-let ((source (lsp-get it :source)))
(if (symbolp source)
(symbol-name source)
(format "%s" source)))
:message (lsp-get it :message))
eca-diagnostics))
lsp-diagnostics)))
diagnostics))
eca-diagnostics))