anchor.diff:  (defun enable-document-highlight-idle-timer ()
     (unless *document-highlight-idle-timer*
       (setf *document-highlight-idle-timer*
  -          (start-idle-timer 500 t #'lsp-document-highlight))
  +          (start-idle-timer 500 t #'lsp-document-highlight nil "lsp-document-highlight"))
       (add-hook *post-command-hook* 'clear-document-highlight-overlays)))
   
   ;;; document symbols
  
positive.code: 
  (defun highlight-diagnostics (params)
    (when-let ((buffer (find-buffer-from-uri (protocol:publish-diagnostics-params-uri params))))
      (clear-diagnostic-overlays buffer)
      (utils:do-sequence (diagnostic (protocol:publish-diagnostics-params-diagnostics params))
        (highlight-diagnostic buffer diagnostic))))
  
  (defun text-document/publish-diagnostics (params)
    (request::do-request-log "textDocument/publishDiagnostics" params :from :server)
  
negative.code:   (mapc #'delete-overlay (buffer-diagnostic-overlays buffer))
    (setf (buffer-diagnostic-overlays buffer) '()))
  
  (defun buffer-diagnostic-idle-timer (buffer)
    (buffer-value buffer 'diagnostic-idle-timer))
  
  (defun (setf buffer-diagnostic-idle-timer) (idle-timer buffer)
    (setf (buffer-value buffer 'diagnostic-idle-timer) idle-timer))
  
  (defun overlay-diagnostic (overlay)
    (overlay-get overlay 'diagnostic))
  
  (defun buffer-diagnostics (buffer)
    (mapcar #'overlay-diagnostic (buffer-diagnostic-overlays buffer)))
  
  (defun reset-buffer-diagnostic (buffer)
    (clear-diagnostic-overlays buffer)
    (when-let (timer (buffer-diagnostic-idle-timer buffer))
      (stop-timer timer)
      (setf (buffer-diagnostic-idle-timer buffer) nil)))
  
  (defun point-to-xref-position (point)
    (lem.language-mode::make-xref-position :line-number (line-number-at-point point)
  