diff --git a/eca-editor.el b/eca-editor.el index be4bb70..08c6163 100644 --- a/eca-editor.el +++ b/eca-editor.el @@ -62,12 +62,18 @@ If URI is nil find all diagnostics otherwise filter to that uri." (end-r (lsp-get range :end))) (push (list :uri uri :severity (eca-editor--lsp-to-eca-severity (lsp-get it :severity)) - :code (lsp-get it :code) + :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 (lsp-get it :source) + :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))) @@ -91,12 +97,18 @@ If URI is nil find all diagnostics otherwise filter to that uri." (end-col (current-column))) (list :uri (eca--path-to-uri (buffer-file-name (flymake-diagnostic-buffer it))) :severity (eca-editor--flymake-to-eca-severity (flymake-diagnostic-type it)) - :code (flymake-diagnostic-code it) + :code (when-let ((code (flymake-diagnostic-code it))) + (if (symbolp code) + (symbol-name code) + (format "%s" code))) :range (list :start (list :line beg-line :character beg-col) :end (list :line end-line :character end-col)) - :source (flymake-diagnostic-backend it) + :source (when-let ((backend (flymake-diagnostic-backend it))) + (if (symbolp backend) + (symbol-name backend) + (format "%s" backend))) :message (flymake-diagnostic-text it))))) (flymake--project-diagnostics))))