Function: eca-editor--flycheck-diagnostics
eca-editor--flycheck-diagnostics is a natively compiled function
defined in eca-editor.el.
Signature
(eca-editor--flycheck-diagnostics URI WORKSPACES)
Documentation
Collect flycheck diagnostics from buffers in WORKSPACES.
Skips buffers where lsp-mode is active to avoid duplicates.
If URI is non-nil, 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--flycheck-diagnostics (uri workspaces)
"Collect flycheck diagnostics from buffers in WORKSPACES.
Skips buffers where `lsp-mode' is active to avoid duplicates.
If URI is non-nil, filter to that uri."
(let ((diagnostics '()))
(dolist (buf (buffer-list))
(when-let ((file (buffer-file-name buf)))
(let ((file-uri (eca--path-to-uri file)))
(when (and (or (null uri) (string= uri file-uri))
(seq-some (lambda (ws)
(f-ancestor-of? ws file))
workspaces))
(with-current-buffer buf
(when (and (bound-and-true-p flycheck-mode)
(not (bound-and-true-p lsp-mode)))
(dolist (err flycheck-current-errors)
(let* ((err-file (or (flycheck-error-filename err)
file))
(err-uri (eca--path-to-uri err-file))
(line (flycheck-error-line err))
(col (flycheck-error-column err))
(end-line (flycheck-error-end-line err))
(end-col (flycheck-error-end-column err))
(start-line (max 0 (1- (or line 1))))
(start-char (max 0 (1- (or col 1))))
(e-line (max 0 (1- (or end-line line 1))))
(e-char (max 0 (1- (or end-col col 1)))))
(push (list :uri err-uri
:severity (eca-editor--flycheck-to-eca-severity
(flycheck-error-level err))
:code (when-let ((id (flycheck-error-id err)))
(format "%s" id))
:range (list :start (list :line start-line
:character start-char)
:end (list :line e-line
:character e-char))
:source (when-let ((checker (flycheck-error-checker err)))
(symbol-name checker))
:message (flycheck-error-message err))
diagnostics)))))))))
diagnostics))